Why Is My eBay Inventory Not Updating After a Sale on My Website?

Start by Confirming the Direction of the Failure
Before you change any settings, work out whether nothing is syncing or only some things are.
Check three specific things. Does any product update correctly on eBay when you change its quantity manually in your OpoShop store. Does the failing product update when you change its quantity by hand. Do eBay orders come back into your store at all.
Those three answers split the problem cleanly. If nothing updates in either direction, the connection itself is broken or was never completed. If most products update but one does not, the fault is with that product's mapping. If updates flow outward but orders never come back, the connection is only half configured.
Write down which of the three you are in before going further. Merchants lose hours changing settings at random because they skipped this step, and every change they make is a change to something that was already working. Once you know the direction of the failure, the list of possible causes shrinks to two or three, whether you are working from your OpoShop admin or from the eBay seller hub.
Cause One: There Is No Live Connection
The most common answer is the least satisfying. Nothing is syncing because nothing is connected, or the connection stopped working and nobody noticed.
Connections drop for ordinary reasons. Marketplace access tokens expire and need reauthorising, usually on a fixed schedule measured in months. A password change or a security event can invalidate them early. Someone may have removed the app's permission during a tidy-up of account settings.
There is also the version of this where the connection was never really finished. The account was linked, but the products were never mapped to listings, so there is an authorised connection carrying no instructions.
Check for these signs:
- Expired authorisation: The connection shows as needing reauthorisation, or every push has failed since the same date.
- Products never mapped: Listings exist on eBay but were created by hand, so nothing links them to a product record.
- Sync disabled per product: The connection is live but individual products have syncing switched off, often left over from a test.
- Paused after an error: Some connections pause themselves after repeated failures to avoid making things worse.
Reauthorising takes a minute and fixes a surprising share of cases. If every sync has failed since one particular date, that date is your answer, and something changed on that day.
Cause Two: The SKU Does Not Match
If some products sync and one does not, the mismatch is almost always in the identifier.
The sync finds the eBay listing by matching the SKU on your OpoShop product to the listing's custom label. If those two strings differ by anything at all, the update has nowhere to land. It is not an error in any meaningful sense, because the system looked for a matching listing and found none.
The differences that cause this are small and easy to miss. A trailing space at the end of a code copied from a spreadsheet. Uppercase against lowercase, which some integrations treat as different. A hyphen that became an underscore during an export. A blank custom label on a listing created by hand months ago.
There is a subtler version involving variants. If your product has five sizes and the eBay listings were created separately, each listing must carry its own variant SKU. If they all carry the parent product code, updates either go to the wrong place or fail entirely, and stock looks correct in one system while being nonsense in the other.
The diagnostic is fast. Export your active eBay listings with custom labels, export your product SKUs, and compare the two lists for exact matches. Anything that does not match exactly is a product that will never sync, no matter how many times you press the button.
How to Diagnose the Problem Step by Step
Run this sequence in order. Each step either finds the fault or eliminates a whole category of causes.
Two of those steps are where the answer usually appears.
1. Read the sync log properly
Almost every stalled sync has been reporting its own cause for weeks. The log is the first place to look and the last place most merchants check.
The three messages you will see most often are a listing not found for the SKU, an invalid quantity for a listing type that cannot be changed, and an authorisation failure. Each one names a completely different fix, which is why guessing wastes so much time. If you run this from your OpoShop admin, the log is where a failing product will be listed by name.
2. Prove the chain with a live order
A manual push proves the connection works. It does not prove that a sale triggers one.
Place a genuine low-value order for the failing product in your OpoShop store, then watch the eBay quantity. If a manual push works but a real sale changes nothing, your problem is the trigger rather than the connection, and that points straight at the next cause.
Cause Three: The Sync Is Scheduled, Not Instant
Sometimes nothing is broken. The update is simply queued behind a timer you forgot existed.
Scheduled syncing runs on an interval, so a sale at 10:02 with a thirty minute cycle does not reach eBay until 10:30. For twenty eight minutes the marketplace shows a quantity you know to be wrong, and if you check during that window you will conclude the sync has failed when it has not.
This becomes a genuine problem rather than a cosmetic one during a promotion or a busy weekend, because the interval is exactly the window in which two buyers can purchase the same unit. The interval is not just a delay, it is your oversell exposure.
Check what interval you are running, then compare it against the time between sales on your fastest product. If your best seller moves a unit every fifteen minutes on a Saturday, a thirty minute cycle will produce cancellations no matter how correct the configuration is.
Event-driven syncing removes this entirely. The order itself pushes the new quantity outward within seconds rather than waiting for the next scheduled run. For any OpoShop merchant selling the same stock in two places, that is the setting worth changing first.
Instant Sync vs Scheduled Sync vs Manual Updates
The three modes fail differently, and recognising which one you are running explains most of what you are seeing.
| Sync mode | Typical delay | How it fails | Best for |
|---|---|---|---|
| Instant, event driven | A few seconds after the order | Rarely, and errors surface immediately in the log | Fast movers, promotions and thin stock levels |
| Scheduled interval | As long as the interval, often 15 to 60 minutes | Silently, by being correct only between runs | Steady catalogues with no burst selling |
| Manual updates | Hours, or whenever someone remembers | Constantly, especially on the busiest days | Very small catalogues on slow-moving stock |
If you are on instant syncing and nothing is updating, you have a real fault and the diagnostic sequence above will find it.
If you are on scheduled syncing, wait one full interval before declaring anything broken. Then decide whether the interval is short enough for your fastest products, because that is a business decision rather than a technical one.
If you are updating manually, nothing is broken at all. The system is doing exactly what it was told, which is nothing. This is the point at which most merchants connect their catalogue properly rather than adding another reminder to a checklist.
Cause Four and Five: Listing Type and Silent Errors
Two less obvious causes account for most of the remainder.
Listing type matters more than merchants expect. An auction-format listing holds a single item and does not take quantity updates the way a fixed-price listing does. Listings that have ended, are out of stock with the out-of-stock option enabled, or are restricted for a policy reason will also reject or ignore updates. If one product refuses to update while its neighbours behave, open the listing and check its format and status before anything else.
Silent errors are the frustrating ones. A quantity update can fail because the listing violates a category requirement, because a required item specific is missing, or because the account has hit a temporary limit. The update fails, an error is recorded, and unless something surfaces that error nobody finds out until the stock figures drift far enough to be noticed.
The fix for silent errors is not technical. It is to look at the log weekly and to run a reconciliation that compares marketplace quantities against your master numbers. Anything that has drifted is a product whose updates have been failing, and the log entry for that SKU will tell you why. Doing that check from your OpoShop admin once a week turns a slow invisible problem into a five minute routine.
What We Recommend
Diagnose in sequence, then remove the class of problem rather than the instance.
Three things resolve nearly every case of this:
- Confirm the connection is authorised and the SKU matches exactly, in that order.
- Move from scheduled or manual updates to event-driven syncing triggered by the order.
- Read the sync log weekly and reconcile quantities so silent failures cannot accumulate.
If the failure is one product, it is nearly always the SKU or the listing type. If the failure is every product, it is nearly always the connection. If the failure is intermittent and worst on busy days, it is the interval.
Whichever it turns out to be, the durable fix is the same. One catalogue as the source of truth, updates triggered by the sale itself, and a log somebody actually reads.
Best answer: eBay inventory usually stops updating because the connection has expired, the SKU does not match the listing's custom label, or the sync is running on a timer rather than on the sale. Check those three first, read the sync log for the exact error, then move your OpoShop store to event-driven syncing so the quantity goes out within seconds of every order instead of waiting for the next scheduled run.
If you are tired of finding out about stock drift from a cancelled order, connecting the catalogue properly is the fix.
FAQs
How long should an eBay stock update take?
With event-driven syncing, a few seconds after the order is placed. With scheduled syncing it takes as long as the interval, so a thirty minute cycle means up to thirty minutes of stale quantity on every listing.
Why does one product sync while another does not?
Almost always a mismatch between the product SKU and the eBay custom label, or a listing type that does not accept quantity updates. Compare the two codes character by character, including case and spacing, before changing any settings.
Can an expired connection stop syncing without warning?
Yes. Marketplace access tokens expire on a schedule and can also be invalidated by a password change. If every sync has failed since one particular date, an expired authorisation is the most likely explanation.
Do returns and restocks update eBay too?
They should. Any change to the master quantity ought to push outward, not just sales. Syncing only sales is a common gap that leaves marketplace quantities lower than your real stock and quietly costs you orders.
Why did my eBay listing stay live at zero stock?
Either the zero-stock rule was never configured, or the out-of-stock option is enabled, which keeps the listing visible with no quantity available. Decide explicitly what should happen at zero rather than leaving it to the default.
How do I catch sync failures before customers do?
Read the sync log weekly and run a reconciliation comparing marketplace quantities against your master numbers. Any product that has drifted has been failing to update, and the log entry will name the reason.
Ready to stop chasing two stock counts and run one catalogue everywhere? Start where your products already live.

