Shopify inventory goes wrong because the number is only as good as the last human action that touched it. Unrecorded receipts, returns that never make it back to the shelf, bundles, POS sales and plain shrinkage all push the count away from reality, and nothing in Shopify pushes it back.
If you spend part of every week comparing a Shopify export to what is physically on the shelf, you are in good company. Ask any group of merchants about inventory and the same story comes back: the counts drift, nobody knows exactly why, and the reconciliation never ends.
This guide covers where the drift actually comes from, why it never fixes itself, and how to turn an endless chore into a short monthly routine that also produces numbers your accountant can use.
What Drift Actually Costs You
A wrong count is never just a wrong count. It cascades:
- Oversells and stockouts. Shopify happily sells the 13 units that exist only in the database, and you spend Monday writing apology emails.
- Dead cash. Stock the system says you have does not get reordered; stock it says you lack gets bought again. Both mistakes tie up money.
- Wrong margins. Every vanished unit was bought and paid for. If it disappears without being recorded, its cost never reaches your cost of goods sold, and your gross margin reads higher than it really is.
- The weekly tax. The hours spent exporting CSVs, walking aisles and hunting discrepancies are hours not spent running the store.
That third point is the one most merchants miss. Inventory drift is not just an operations problem; it quietly falsifies your profit numbers. Which is why fixing it properly means fixing the cost record, not just the count.
The 6 Causes of Inventory Drift
| Cause | What happens | Direction |
|---|---|---|
| Unrecorded receiving | A delivery is shelved before anyone updates Shopify, or a partial delivery is entered as complete | Either |
| Returns | Refund processed, item never restocked (or restocked but unsellable) | System high |
| Bundles and kits | The bundle SKU sells but component counts are adjusted by hand, late or not at all | System high |
| Multi-channel and POS | Sales on other channels or in person sync late, partially, or against the wrong location | Either |
| Shrinkage | Damage, theft, samples given away, units lost in the warehouse | System high |
| Manual edits | CSV imports, quick fixes and fat-fingered adjustments, none of them documented | Either |
Notice that most causes push the system count above reality. That is why physical counts so often come back short, and why the shortfall is usually real money already spent.
Why It Never Fixes Itself
Shopify is an honest bookkeeper of the events it is told about. It is never told about the box crushed in the warehouse or the return that went in the bin. Errors do not cancel out; they accumulate. A store that has never counted is not drifting around the right number, it is walking steadily away from it.
The usual response is more spreadsheet: weekly exports, VLOOKUPs against last week, a growing tab of unexplained differences. The spreadsheet documents the drift; it does not reduce it. And because it tracks only quantities, it says nothing about what the missing units cost, which is the part your accountant actually needs.
The Standard Worth Aiming For: Finance-Grade Inventory Truth
The goal is not inventory tracking for its own sake. It is finance-grade inventory truth: counts verified against the shelf, landed cost allocated into every unit, FIFO cost layers behind every sale, and a variance that gets costed and posted instead of shrugged at. Get there and the weekly reconciliation ritual disappears, because the numbers stop needing to be argued with.
The Fix: Counted Checkpoints, Not Constant Vigilance
You will not stop drift at the source. Returns will still be mishandled and boxes will still get crushed. What works is accepting that, and installing checkpoints:
- Count on a cadence, in slices. A rolling cycle count (top sellers monthly, the long tail quarterly) beats a giant annual stocktake that everyone dreads and postpones. A barcode scanner turns an evening of counting into an hour.
- Fix receiving and returns first. The two biggest leaks respond to process: stock is not shelved until Shopify says it arrived, and a refund is not finished until the item is restocked or written off. One rule each.
- Correct the system, with a record. When the count disagrees with Shopify, the shelf wins. Adjust the count, and keep a record of the variance rather than silently overwriting it, because the variance is information: it tells you which leak is still open.
Cost the Variance, Don't Delete It
Here is the step almost everyone skips. When you find 13 units missing, editing the count from 84 to 71 makes the operational problem go away, and quietly creates an accounting one: those 13 units were bought, and their cost is sitting in your inventory value, inflating it. Until that cost moves to a shrinkage or COGS account, your stock is overstated and your margin is overstated with it.
Done properly, a count produces two outputs: a corrected quantity in Shopify, and a costed variance in your books (shrinkage valued at what the missing units actually cost, found stock added at its real cost). That second output is what makes the count worth doing, and it requires knowing the cost of each unit, which is a FIFO cost layer question.
How Landara Helps
Landara does not replace Shopify's inventory tracking; Shopify keeps owning quantity. What Landara adds is the cost side, and the checkpoints:
- Stocktakes with barcode scanning. Run a persisted, resumable count against a location, on-hand or available basis, with open orders handled so they never read as shrinkage.
- Variance, costed automatically. The review screen prices every discrepancy at its FIFO cost. Committing posts shrinkage as a costed adjustment and adds found stock as a new cost layer, and can push the corrected counts back to Shopify.
- Reconcile between counts. A reconciliation view compares Shopify's on-hand to Landara's costed position per SKU and location, so drift surfaces as a short list of findings instead of a weekend of CSV archaeology.
- The books follow. Shrinkage posts to a dedicated account, separate from the monthly Dr COGS / Cr Inventory journal, so your accountant sees exactly what was sold versus what was lost.
Drift is inevitable. Losing hours to it every week, and carrying falsified margins because of it, is not.
Make Your Next Count Your Fastest
Connect Shopify, run a barcode stocktake, and get every variance costed automatically. Free up to 250 orders a month.
Try Landara Free