
Retailers describe the symptom differently — overselling, cancelled orders, stock the system says exists — but the cause is one thing: several systems each holding a version of the truth, synchronised periodically and disagreeing between syncs.
Batch sync guarantees the problem
If channels reconcile every fifteen minutes, then for fifteen minutes each channel is selling from a position that may already be wrong. At low volume nobody notices; during a sale it produces exactly the cancellations that damage a brand most. The fix is event-driven updates from one authoritative source.
Every sync interval is a window in which you are selling stock you may not have.
Reserve at the start of checkout
Decrementing stock at payment confirmation leaves a gap in which two customers can both proceed with the last unit. A soft reservation when checkout begins, with an expiry that releases it, closes the gap — and the expiry matters, or abandoned carts quietly consume your availability.
System stock and shelf stock differ
Shrinkage, mis-scans, damage and returns processed incorrectly all cause drift, and it accumulates silently. Continuous cycle counting on high-value and fast-moving lines catches it early, and the variance pattern itself usually identifies where the process is failing.
Decide what to publish, not just what you hold
Selling every unit down to zero across every channel maximises cancellations. A buffer on lines with historically higher drift, or reserved allocations per channel, trades a small amount of availability for a large reduction in the failures customers actually notice.
Returns are inventory events
A returned item is not back in stock when it is received; it is back when it has been inspected and graded. Modelling that intermediate state prevents selling something that turns out to be unsaleable, which is a cancellation with an unhappy customer attached at both ends.
Measure the failures, by cause
Track oversell rate, cancellation rate and stock variance by line and by location. These numbers make the business case for the work and, more usefully, point at whether the problem is synchronisation, counting accuracy or returns handling — three different fixes.





