How to keep multichannel inventory in sync and stop overselling
In short
Overselling happens because each channel keeps its own stock figure, so the fix is one stock record that every channel and the shop floor updates. List every place a quantity lives, pick one to be the record, and connect the rest to it.
- Overselling comes from holding more than one stock figure, not from slow syncing alone.
- Choose one system as the stock record and let nothing else accept stock edits.
- Publish sellable stock to channels, not the physical count on the shelf.
- Reserve stock when an order is placed and release it when payment fails or the order is cancelled.
- Log every oversell and trace it to the event the record missed.
Overselling across channels comes from keeping more than one stock figure. This guide shows how to build a single stock record that every channel and the shop floor update automatically, so an item sold once cannot be sold again.
An item sold in a shop or on one channel can still be sold online minutes later for one reason: each channel holds its own stock figure, and the figures only meet when someone reconciles them. To stop it, keep one stock record for each item, make every sale, receipt, return and adjustment write to that record the moment it happens, and make every channel read from it rather than keep a copy. This guide walks through that change in order, so you can do it with the tools you have or move to one system that does it for you.
Why overselling is a record problem, not a speed problem
Most overselling stories sound like a timing issue. The last unit sells on your website, and a marketplace listing still shows it as available for a few more minutes. Someone buys it there too, and one customer gets a cancellation email.
Look closer and the timing is a symptom. The website, the marketplace and the till each hold a number, and none of them is the number. Faster syncing shortens the gap between copies but never removes it. Keeping a single record removes the copies themselves, so there is nothing to drift apart.
Sources that cover this problem point the same way. Cin7, an inventory software vendor, names unsynced channels and a point of sale that is disconnected from the online store among the main causes of overselling. A commerce operations article from Commerce Blitz adds that a channel figure can be accurate when published and out of date moments later. Both are vendor or trade commentary rather than independent research, so treat them as consistent descriptions of the mechanism, not as proof of how often it happens.
The steps
Find every place a stock number lives
List each channel and each tool that shows or edits a quantity: your online store, marketplace listings, the till or in-store system, spreadsheets, supplier portals and the warehouse. Include the informal ones, such as a whiteboard in the stockroom or a number in someone's head. Every item on this list is a possible second figure, and the exercise often finds more than the team expected.
Choose one system to be the stock record
Pick the single place where the true quantity is kept. It should be able to record receipts, sales from every channel, returns, transfers and manual adjustments, and it should be the only place anyone edits stock. Everything else on your list becomes a reader of that record or a source of events that feed into it. If two systems both accept edits, you still have two figures.
Standardize your item codes
A record can only be shared if every channel agrees what the item is. Give each variant its own code, so a blue medium shirt and a blue large shirt are separate lines, and use the same code in every channel. Decide how kits and bundles deduct stock: either from their components or as their own line, but never both. Mismatched codes are a quiet cause of stock that appears in one place and vanishes in another.
Separate physical stock from sellable stock
Units on the shelf are not all units you can promise. Subtract units already allocated to open orders, units held for inspection or damaged, and any safety buffer you choose to keep. Publish only the sellable number to channels. For example, if 100 units are on the shelf, 15 are allocated to open orders and 10 are held back as a buffer, the channels should see 75, not 100.
Make every sale write to the record immediately
Connect each channel so an order reduces the sellable quantity when it is placed, not when it is packed or invoiced. Do the same for in-store sales: the till should deduct from the same record, not from its own copy that gets uploaded at close of business. Where a channel cannot connect directly, shorten the delay as far as you can and lower what you publish to that channel so the gap cannot drain real stock.
Reserve stock while an order is still being processed
Orders often wait on payment checks, approval or manual review before they reach the warehouse. If stock stays unreserved during that wait, another channel can sell the same unit. Reserve on order placement, and set a release rule so a failed payment or cancelled order returns its units to the record. Without that release, units stay locked and you under-sell instead.
Route returns, damage and counts through the same record
Orders are only one cause of stock change. A returned item that has not been inspected, a damaged unit found while picking and a short count all change what you can sell. Record each as an adjustment against the single record, with a reason. A regular count keeps the record honest, and our guide to cycle counting without shutting the warehouse shows how to do it without stopping trade.
Decide how the last few units are handled
For fast-moving items, the final units are where two orders collide. Set a low-stock threshold below which a channel stops selling, or hold the last few units for the channel where a cancellation costs you most. Keep this rule short and written down, and review it for the lines that oversell most often.
Log every oversell and trace its cause
When an order still cannot be filled, record which channel took it, which item it was and which event the record missed. Patterns appear quickly: one channel with a slow connection, one item code that does not match, or one warehouse task that bypasses the record. Fix the cause, not the single order.
Where an eCommerce platform fits
If your online shop, quotes and orders already run in the same system as your stock, step 5 becomes a design feature, not an integration project. Zigaflow's eCommerce feature takes orders into the same platform that holds inventory, so an online order and an order raised by your sales team draw on one record. The principle matters more than the tool. Any setup passes the test if there is one editable figure and every channel reads it.
Beware the nightly sync
A schedule that copies stock between systems once a night or once an hour keeps two figures alive. It narrows the gap, but during busy periods the gap is where oversells happen. Treat it as a stopgap, not the fix.
Common pitfalls
Splitting stock by channel looks safe but strands units. If the website sells out of its share while a marketplace allocation sits untouched, you lose sales you could have made. Use fixed allocations only where a channel genuinely needs guaranteed stock.
Another pitfall is fixing the connection but not the people. A stockroom colleague who corrects a quantity in a spreadsheet, or a counter assistant who sells an item without scanning it, bypasses the record. Agree that every physical movement is recorded in the one system, and make that easy enough to follow on a busy day.
Finally, do not expect the first week to be clean. Expect a short clean-up while the record and the shelves are reconciled, then watch the oversell log fall as the causes are removed.
Common questions
Sources
- Overselling in E-commerce: How to Prevent It Across Every ChannelCin7 · accessed 2026-11-14
- Preventing Overselling Across Multiple Sales ChannelsCommerce Blitz · accessed 2026-11-14