Guides
Inventory counts that drift: why your channels disagree and how to catch it
Richard K. · September 9, 2026 · 8 min read

A customer buys the last unit of your best-selling item on Amazon at 2:14pm. At 2:15pm, your Shopify store still shows it in stock, and someone buys it there too. Now you owe two units you don't have. One customer gets a refund and an apology, and possibly a bad review. This isn't a rare glitch. It's the default outcome of selling on more than one channel without a reliable way to keep stock numbers in agreement.
Why counts drift in the first place
Every additional sales channel is another system that thinks it owns the truth about your stock. Your storefront (Shopify, WooCommerce, or BigCommerce) has a number. Your POS has a number. Amazon, eBay, or a wholesale portal each have their own cached number. In a perfect world, every sale anywhere instantly updates every other channel. In practice, that update travels through webhooks, scheduled syncs, third-party apps, and sometimes manual spreadsheet exports, and each hop is a place where the number can lag or get lost.
Common causes of drift include: sync apps that batch updates every 15-60 minutes instead of in real time, marketplace APIs that rate-limit or silently drop update calls during high traffic, manual stock counts (a supplier shipment, a damaged-goods write-off) entered in one system and never pushed to others, and multiple warehouses or 3PLs reporting on different schedules. Bundles and kits make it worse: if a bundle sells but the components aren't decremented individually, the components' true availability becomes invisible.
None of this means your setup is broken. It means inventory sync is a continuous process, not a one-time configuration, and small time lags compound into real disagreements the busier your channels get.
The two failure modes: oversells and dead listings
Drift shows up in two opposite ways, and both cost money.
The first is the oversell: a channel shows stock that doesn't exist, a customer orders it, and you have to cancel or backorder. Beyond the refund and shipping cost, oversells damage marketplace seller metrics. Amazon and eBay both track cancellation and defect rates, and repeated oversells can suppress your listings or trigger account reviews independent of anything else you're doing right.
The second is the dead listing: a channel shows zero stock when you actually have plenty. This one is quieter and easier to miss because nothing breaks, no order fails, no customer complains. The product simply stops selling on that channel while inventory sits in your warehouse. For a fast-moving SKU during a peak week, a few days of falsely-out-of-stock status on a marketplace can mean real, uncounted revenue that never shows up as a specific incident anywhere. It just looks like a slow week. This is the same quiet-leak pattern discussed in out of stock and nobody noticed, except here the stock exists, the sync just hasn't told the channel.
Where stock accuracy problems hide
Drift concentrates in a few predictable places. Watch these first:
High-velocity SKUs. Anything selling more than a few units a day generates more sync events per hour, so any lag in your pipeline shows up faster and more often here than on slow-moving items.
Multi-warehouse and 3PL setups. If fulfillment locations report on separate schedules, or one location's feed fails silently, the combined number your channels see can be wrong for hours before anyone checks a warehouse report specifically.
Bundles, kits, and variants. A component sold individually and inside a bundle needs decrementing in both places. Size and color variants sold under one parent listing are also common places where one variant runs out while the parent still shows "in stock."
Any channel added recently. New integrations are the least tested part of your stack. A marketplace connection set up two months ago and never revisited is a good candidate for a quiet sync failure nobody has looked for.
An oversell isn't a customer service problem. It's a symptom of a sync problem that happened to surface at checkout.
How to catch drift before it costs a sale
Most stores don't need a new inventory system to fix this. They need a habit of checking, and a way to be told when the numbers stop agreeing.
Start with a manual spot check. Pick five of your fastest-selling SKUs and compare the stock number on your storefront, your POS, and each marketplace listing, side by side. This takes ten minutes and belongs in a routine, not a one-off audit; the Monday-morning store check is a natural place to fold it in.
Audit your sync app's actual behavior, not its marketing claims. Check how often it syncs (real time, or on a schedule), what happens when a marketplace API call fails (retried, or dropped), and whether it logs failed syncs somewhere you'll actually see them. Many merchants discover their sync app has been failing silently for a specific channel for weeks, because the app has no alerting of its own.
Reduce the number of places a count can go stale. Every extra app in your stack that touches inventory is another point of failure; this compounds with the general plugin-bloat problem covered in how many apps is too many. If two apps both write to the same inventory field, one of them is probably losing that fight intermittently.
Build in a buffer for your fastest movers. Setting a small safety stock threshold (say, reserving the last 2-3 units from marketplace visibility) gives your sync pipeline time to catch up before a real oversell happens, at the cost of a few sales you'll recover on the next restock.
Monitor stock levels continuously rather than checking in periodically. This is where automated monitoring earns its keep: Cassian™ watches stock levels across your store and can alert you to low-stock and stock-out conditions as they happen, rather than the next time someone happens to look. It won't rewrite your sync logic or reconcile the disagreement for you, but it shortens the gap between "stock went wrong" and "someone found out," which is usually the more expensive gap to close.
Frequently asked questions
- Why does my store show a product in stock when a marketplace says it's sold out?
- Your storefront and the marketplace each hold their own cached copy of the stock number, and the marketplace's copy hasn't received the latest update from your sync app or manual count yet. This lag is usually caused by scheduled (rather than real-time) syncing, a failed API call that wasn't retried, or a manual inventory adjustment made in one system but not pushed to the other. Checking your sync app's update frequency and error logs for that specific channel usually identifies the cause.
- How can I tell if I'm about to oversell a product across channels?
- Compare the stock number for your fastest-selling SKUs across every channel side by side; if any two disagree, an oversell is possible the moment demand exceeds the lowest of the numbers shown. Products selling several units a day and items sold as both individual units and inside bundles are the highest-risk candidates. Setting a small safety buffer of 2-3 reserved units on high-velocity SKUs reduces the chance that a sync delay turns into a cancelled order.
- Do I need separate inventory management software to fix multichannel sync problems?
- Not necessarily; many stock accuracy problems come from misconfigured or unmonitored sync settings in the apps you already use, not from a missing tool. Start by auditing how often your current sync app updates each channel and what happens when an update call fails, since many merchants find the app has been failing silently on one specific channel for an extended period. If your sync app has no real-time capability and no failure alerting at all, that's a stronger signal you need a replacement or an additional monitoring layer rather than a full inventory system rebuild.
The bottom line
Inventory drift isn't a sign that multichannel selling was a mistake. It's the expected cost of running more than one storefront, and it's manageable once you treat sync as something to check regularly rather than something to configure once and trust indefinitely. A ten-minute weekly comparison on your top SKUs, a real look at how your sync app handles failures, and an alert system that tells you when stock runs low across the board will catch most drift before it reaches a customer's cart.