Inventory sync: where Shopify, suppliers, and POS break
Direct answer: Shopify, your suppliers and your POS each hold a different version of stock truth, updated at different speeds. Oversells happen at predictable break points: wrong locations, supplier feeds overwriting counts, offline POS and manual adjustments, bundles, and buffers nobody owns. Decide which system wins for each channel, buffer your fast sellers, recount a short daily list, and approve every stock change before it lands.
Inventory sync looks simple in a demo: one number, everywhere. In a live NZ Shopify store, especially one that also sells in-store, on marketplaces, or from supplier drop-ship, the number is a negotiation between systems that update at different speeds and with different truths.
The classic symptom: a product sells at the counter in the morning and again online in the afternoon, and the apology email follows. This guide maps the common break points so you can stop treating oversells as bad luck and start treating them as process debt.
Three sources of "truth" that rarely agree
Shopify tracks available, on-hand, and committed per location when Inventory is set up properly. Suppliers (or your own WMS) track what can ship from their warehouse, often with lead times, MOQs, and "available to promise" that is not the same as on the shelf. POS (Shopify POS or another till) tracks what walked out the door five minutes ago, sometimes offline.
Sync fails when you pretend those three are one database. They are not. Your job as operator is to decide which system wins for which channel, and how buffers absorb the lag.
Why does Shopify stock sync lead to overselling?
Stock in two places, reconciled by hand weekly, is a classic oversell setup; that is too slow for fast sellers. Counts drift for a handful of ordinary reasons:
- POS and Shopify update on different clocks.
- Manual adjustments get made in one system and not the other.
- Transfers between locations are not recorded.
- Returns and damaged stock are recorded late.
- Supplier feed quantities overwrite shop-floor truth.
The five break points below are where they usually show up.
Break point 1: locations and "ships from"
Multi-location shops often create a Hamilton warehouse, a home office, and a POS location, then forget which one online checkout reserves. If online sales pull from a location that is really the till drawer, you will sell stock already bagged for a walk-in customer.
Fix pattern: name locations for reality, set priority order intentionally, and review the shipping profile that maps zones to locations. Do not leave "all locations" as a vague hope.
Break point 2: supplier feeds and delayed receipt
CSV or EDI supplier feeds that rewrite Shopify quantities overnight are powerful and dangerous. If the feed reports warehouse stock before your inbound purchase order is received in Shopify, you double-count. If the feed lags after a big online day, you under-sell.
Prefer purchase orders and receipts in Shopify (or your inventory app) as the write path, and use supplier files as a check, not an unchecked overwrite. Any bulk quantity rewrite should be approval-gated with a before/after export.
Break point 3: POS offline and manual adjustments
Retail staff adjust counts after stocktakes, breakages, and "customer walked out with it." Those adjustments must land in the same location online checkout uses. Offline POS queues that sync hours later create temporary oversell windows, especially on weekends and long NZ public holiday weekends.
Operational habit: after a stocktake, freeze marketing pushes on those SKUs until counts settle. After a big market day, reconcile before Meta ads fire "only 3 left."
Break point 4: bundles, kits, and components
Selling a gift box that consumes three SKUs while only the box SKU decrements is a classic sync lie. Either use a proper bundle app that decrements components, or stop promising kit inventory you cannot assemble.
Same class of problem: samples, testers, and wholesale reserves sitting in the same available pool as DTC.
Break point 5: safety buffers nobody owns
A safety buffer on fast sellers is a business decision: you choose to show slightly less online than the shelf holds, so a counter sale does not collide with a checkout. Buffers (for example, keep 2 units "unsellable") only work if someone owns the policy. Otherwise marketing sells into the buffer, warehouse staff "borrow" from it, and POS ignores it.
Write the rule: buffer size per SKU class, who may change it, and whether AU marketplace listings share the same pool.
Buffers versus true sync
A buffer is not the same as real-time sync between POS and Shopify. Many stores need the buffer habit first while they decide whether an app, a POS link, or a disciplined daily recount is the right long-term path. True sync still fails when the process behind it is weak. Buffers and a daily flag list do not replace good process; they reduce customer harm while process catches up.
A daily recount list for fast sellers
The fix is not always a new app on day one. This daily habit stops most of the damage while you decide on deeper sync.
- Check levels against recent sales daily. Flag drift, and anything near zero that is still selling.
- Propose buffers on fast sellers. A small safety margin online can prevent the double sale.
- Keep a short daily recount list. Items that sold in both channels recently, items near zero with ads or collections still pointing at them, and items whose counts disagreed last week. Keep it short enough that someone can recount before open or after close.
- Approve before numbers change. When a recount changes a number, log it and approve the Shopify update the same way you would approve a price change, because wrong stock is a public promise.
- Then consider sync tooling. Once the habit is stable, evaluate apps or POS links with a clear rollback.
A practical weekly sync review
- Top 20 SKUs by units sold: compare Shopify available with the last physical or supplier report
- Any SKU with negative available or wild swings day-over-day
- Locations: which one fulfilled yesterday's orders?
- Apps: which inventory apps write quantities, and which only read?
- Upcoming campaigns: do we have real stock or a supplier promise?
Pair this with fulfilment hygiene so you are not packing ghosts; see the weekly order fulfilment checklist. Stock errors also surface later as COGS noise in your books, which is one of the Xero–Shopify reconciliation mismatches worth checking.
Approval gates that matter
Never let an automated feed, AI script, or junior login rewrite on-hand quantities in bulk without a logged approval. Inventory edits are money edits: they change what you can sell and what you owe customers.
If sync is already a mess, start with one location and your top sellers. Expand after the weekly review is boring. You still decide buffers and which items to recount; a monitoring run should flag risk, not take over purchasing or inventory policy.
Illustrative examples
Illustrative examples based on patterns we see with NZ small businesses. Details generalised; not specific client results.
An NZ store selling online and from a physical shop kept overselling. Stock counts lived in two places and were reconciled by hand on Fridays. A daily check compared stock levels against recent sales and flagged products that had drifted or were close to zero with orders still coming in.
The proposal was a safety buffer on fast sellers and a short daily recount list. The owner approved buffers on a dozen products plus the list. Oversells dropped away over the following weeks, and the Friday reconciliation got shorter.
FAQ
Why does my Shopify store oversell when I also sell in-store?
POS and Shopify update on different clocks, and adjustments made in one system are often missed in the other. A counter sale in the morning can still show as available online in the afternoon.
Do I need a new inventory sync app?
Not always on day one. Buffers on fast sellers, a short daily recount list and approved stock changes stop most of the damage; evaluate apps or POS links once that habit is stable, with a clear rollback.
How big should a safety buffer be?
That is a business decision per SKU class. Write down the buffer size, who may change it, and whether marketplace listings share the same pool.
Should supplier feeds update Shopify quantities automatically?
Use supplier files as a check rather than an unchecked overwrite, and make purchase orders and receipts the write path. Any bulk rewrite should be approved with a before/after export.
Why do bundles cause stock errors?
If only the bundle SKU decrements, the component SKUs still look available. Use a bundle app that decrements components, or stop promising kits you cannot assemble.
Next step
Need a second pair of eyes on your locations, apps and buffers? Book a free diagnostic and bring your Inventory by location screen plus a note on how you sell in-store and online today. We will propose buffers and checks, and every stock change is approved by you before it happens.