The usual advice for selling on several channels is to sync your inventory. That is correct and insufficient. Even a good sync takes time: a sale on one channel must reach the central system, which must push the new quantity to the others, each of which applies it on its own schedule. In that interval, the same last unit can be sold twice. For fast-moving products with low stock, it will be.
A buffer is the practical answer, and it is more subtle than “keep two spare”. This guide explains why oversells occur, how to size buffers and allocate stock, and what to monitor, with examples. It builds on the inventory sync guide, and the alerts side is in low-stock alerts and reorder points.
How oversells happen
- A product has one unit left, shown as 1 on every channel.
- A customer buys it on channel A at 10:00:00.
- Channel A tells the central system, which takes a few seconds or minutes, depending on how the integration works.
- At 10:00:20 another customer buys the same unit on channel B, which has not yet been updated.
- The system now has an order for a unit that does not exist.
The window can be seconds with webhooks and instant updates, or fifteen minutes with a scheduled sync. Some marketplaces limit how often you may update quantities, and others cache listings. The slower the path, the larger the risk. Rate limits can also delay updates during busy periods; see Shopify API rate limits.
What a buffer does
A buffer, sometimes called safety stock for the channel, is a quantity that you do not offer for sale. If you have 10 units and a buffer of 2, channels see 8. The held-back units absorb the delay: even if two sales occur in the gap, you can still fulfil them. The cost is that some sales are lost when you have stock but show none. The aim is to balance that cost against the cost of an oversell, which includes a cancellation, an apology, possible marketplace penalties and lost customer trust.
| Factor | Effect on buffer |
|---|---|
| Sync delay | Longer delay, larger buffer |
| Sales velocity | Faster sellers need more buffer |
| Cost of an oversell | Higher cost, larger buffer. Marketplaces may penalise cancellations. |
| Cost of a lost sale | High margin items justify smaller buffers |
| Replenishment time | Long lead times mean you cannot easily fix a shortfall |
| Number of channels | More channels, more chances of simultaneous sales |
| Stock accuracy | Poor counts need a bigger cushion |
A simple way to size it
Start with a rule of thumb you can compute: the expected number of sales across all channels during the sync delay, plus a margin for variation. If a product sells ten units a day and updates take fifteen minutes, expected sales in the delay are about 0.1 of a unit, which suggests a buffer of one at most. If it sells 200 units a day, expected sales in fifteen minutes are about two, and a buffer of four or five is sensible. Slow sellers hardly need any buffer at all, except when stock is a single unit.
| Daily sales | Sync delay | Expected sales in delay | Suggested buffer |
|---|---|---|---|
| 2 | 15 minutes | about 0.02 | 0 or 1 when stock is very low |
| 20 | 15 minutes | about 0.2 | 1 |
| 100 | 15 minutes | about 1 | 2 to 3 |
| 100 | 2 minutes | about 0.14 | 1 |
| 400 | 15 minutes | about 4 | 6 to 8 |
The figures are illustrative arithmetic, not a universal formula: your sales are uneven, with spikes during promotions, and the right margin depends on how costly an oversell is for you. Use these as a starting point and adjust with data on the oversells that actually occur.
Allocation: sharing scarce stock
For products with few units, a buffer may not be enough. An alternative is allocation: assign a number of units to each channel, so that a sale on one cannot take a unit meant for another. Allocation is safer but can leave stock idle on a channel that does not sell it. Common patterns include:
| Model | How it works | Good for | Trade-off |
|---|---|---|---|
| Shared pool with buffer | One quantity, offered everywhere, minus a buffer | Most products | Small risk of oversell remains |
| Fixed allocation | Units assigned to each channel | Scarce or high-value items | Idle stock on slow channels |
| Primary channel | Sell from the best channel; others get the remainder | Limited editions | Complex to maintain |
| Dynamic allocation | Rebalance by sales rate | Large catalogues with software support | Needs reliable data |
| Single-channel for last units | Hide the last units elsewhere | One-of-a-kind or vintage items | Lost sales on other channels |
Different rules for different channels
Channels are not equal. A marketplace that penalises cancellations deserves a larger buffer than your own store, where you can apologise and offer a backorder. A channel with slow updates needs a bigger buffer than one with instant webhooks. Some sellers hold buffers only on marketplaces and let their own site sell down to zero. Document the rule for each channel and the reason for it.
Handle the exceptions
- Returns and restocks. Add returned stock back only after inspection, and update every channel.
- Damaged and lost stock. Adjust quantities as soon as you know, not at the next count.
- Bundles and kits. Calculate availability from components; see our metafields guide for storing bundle data.
- Pre-orders and backorders. Treat as separate stock pools with their own rules.
- Promotions. Increase buffers before a launch or a sale, because velocity jumps.
- Warehouse and shipments in transit. Count only what can be shipped.
Monitor drift
Even with buffers, quantities in different systems can drift apart because of failed updates, manual edits and returns. A daily comparison of quantity per product across the central system and each channel will show where they differ. Alert on differences above a threshold, and investigate patterns: the same channel, the same product type or the same time of day usually point to the cause. This is the check that catches the broken integration before it creates a week of oversells.
| Check | Frequency | Action |
|---|---|---|
| Quantity per SKU, central versus channel | Daily | Alert on differences, fix source |
| Oversell count and cancellations | Weekly | Adjust buffers for repeat offenders |
| Sync error log | Daily | Retry failures, escalate persistent ones |
| Stock count versus system | Monthly or by cycle count | Adjust and find the cause |
| Buffer review | Monthly | Reset based on velocity and delay |
Our inventory sync service builds this monitoring along with the sync itself, and AI demand forecasting can feed buffers from expected velocity.
Reduce the delay itself
Buffers treat a symptom. The cause is delay, and you can often reduce it. Use event-driven updates (webhooks) rather than scheduled syncs where available, keep the central system as the single source of truth, update the fastest-selling products first and avoid heavy jobs at peak times. Faster sync lets you hold smaller buffers and lose fewer sales.
A worked example
A store sells 60 units a day of a core product across its own site and two marketplaces, with a 10 minute sync delay. Expected sales in the delay are about 0.4 units. With no buffer it oversells about twice a month, each costing $18 in lost fees, apology credit and handling, plus risk to a marketplace seller rating. A buffer of one costs a lost sale only on rare occasions when stock is down to the last unit; if that happens about 6 times a month at a $14 margin, it costs about $84 in margin, more than the oversells. The store sees that a buffer of one is not worth it for this product with this delay. It instead cuts the delay to two minutes with webhooks and keeps the buffer at zero except for the last unit on marketplaces. The lesson is to compare both costs, not to buffer by reflex. The figures are illustrative.
Mistakes to avoid
- One fixed buffer for everything. It is too large for slow sellers and too small for fast ones.
- Ignoring the sync delay. It is the main input.
- No drift monitoring. Buffers hide a broken sync for a while.
- Forgetting returns and write-offs when updating stock.
- Not raising buffers for promotions.
- Never reviewing, so the numbers go stale.
Sources and further reading
Figures and rules in this guide come from the primary pages below. Platform limits and prices change, so open the page before you build on a number.
- Shopify Help Center: inventory tracking, how Shopify tracks quantities
- Amazon Seller Central: order defect rate, how seller-fulfilled cancellations can affect account health
- eBay Seller Center: seller performance, how cancellations and defects can affect seller standards