# Why your Shopify stock count drifts, and six ways to stop it

> The six places Shopify inventory goes wrong in a real store, how to work out which one is costing you, and the fixes that hold without adding a daily count.

- Source: https://storestandards.com/blog/why-shopify-stock-counts-drift/
- Published: 2026-05-14
- Author: Nia Chambers, Product, Store Standards
- Topics: Stock accuracy, Receiving, Operations

## Key points

- Drift almost never has one cause. It is usually receiving, returns and unrecorded damage adding up over a quarter.
- Count your twenty fastest-selling lines every week instead of counting everything once a year.
- Fix the process that created the error before you correct the number, or you will correct it again next month.

---

Every store we work with says a version of the same thing: "the numbers are
about right, but we do not trust them." Usually they are right not to.

Stock drift is not one mistake. It is six small ones, none of which look serious on the day. Over a quarter
they add up, until the number on screen and the number on the shelf have
nothing to do with each other.

Here is where it comes from, in the order it usually costs the most.

## 1. Receiving

The biggest single source, and the easiest to fix.

Stock booked in from a delivery note instead of a count. Stock booked in two
days late. Part deliveries closed early. Every one of these puts a number into
Shopify that was never actually verified against the boxes.

**The fix.** Count into the purchase order while unpacking, book in the same
day, and record every short or over line. We wrote up the full method in
[how to receive a purchase order in Shopify](https://storestandards.com/blog/receive-a-purchase-order-in-shopify/).

## 2. Returns that never come back

A customer returns a jacket. The refund goes through, so the money is right.
The jacket sits in a pile behind the counter for two weeks before anyone puts
it back on the shelf, or nobody ever does.

Shopify has an option to restock on return, and it is easy to tick when the
item is not actually back in sellable condition.

**The fix.** Two piles, and one rule: nothing goes back into stock until
someone has looked at it. Restock at the moment it goes back on the shelf, not
at the moment the refund is issued.

## 3. Damage nobody wrote down

A box gets dropped. Two items are unsellable. They go in the bin, and Shopify
still thinks you have them.

This one is quiet because there is no transaction attached to it. Nothing
prompts anyone to record it.

**The fix.** Make a damage adjustment as easy as throwing the item away. If
recording it takes longer than binning it, it will not get recorded.

## 4. Multi-location confusion

Stock received into the warehouse when it went to the shop. Stock transferred
in Shopify but not physically moved, or moved but not transferred.

The symptom is distinctive: the total across locations is right, but each
individual location is wrong. If your totals look fine and your shop floor
keeps running out, this is your problem.

**The fix.** Receive into the location the boxes are physically standing in,
and make transfers a two-step confirmation: sent, then received.

## 5. Theft and loss

Real, and usually smaller than people expect in a store that has the other
five under control. Around one to two percent of stock in a typical small
retailer, depending on what you sell.

It matters that this is last on the list, not first. Blaming
[shrinkage](https://storestandards.com/glossary/shrinkage/) is comfortable because it is nobody's
process. Most of the time the process is where the stock went.

**The fix.** Get the other five right first. Whatever is left after that is
your real shrinkage figure, and now you can act on it.

## 6. The annual stocktake

Counting everything once a year, badly, in one long day, is worse than not
counting at all. You correct twelve months of drift in a single adjustment,
learn nothing about what caused it, and start the same drift again the next
morning.

**The fix.** [Cycle counting](https://storestandards.com/glossary/cycle-counting/). Count a small number
of lines often instead of everything rarely.

## What cycle counting looks like in a small store

You do not need software or a shutdown.

1. Pull your twenty fastest-selling variants.
2. Count those twenty every Monday morning, before opening. It takes about
   fifteen minutes.
3. Write down the difference, not just the correction.
4. Once a month, look at the differences together.

That last step is the one that pays. A single line being out by three is
noise. The same line being out by three every week is a process telling you
something: a mis-picked variant, a barcode on the wrong shelf, a supplier
sending inners as outers.

## Fix the cause before the number

The tempting move when you find a discrepancy is to correct Shopify and move
on. Do that and you will be back next month.

For every correction, write one line saying what you think caused it.
Receiving, return, damage, transfer, unknown. After a month you will have a
tally, and it will point straight at the process to change. In almost every
store we have done this with, the top row is receiving.

If most of your corrections trace back to goods-in, the fix is to make the
new stock countable the day it lands: every unit labelled, with a barcode that
scans. [StandardLabel](https://storestandards.com/products/standardlabel/) prints those labels straight
from the delivery, and there is a free plan if you want to try it on one
location first.

And if the reason you are not scanning yet is that half your products have no
barcode, start with
[barcode types every Shopify store should know](https://storestandards.com/blog/barcode-types-for-shopify-stores/).

To put a number on where you are today, run your last count through the
[stock accuracy scorecard](https://storestandards.com/tools/stock-accuracy-scorecard/). If you would
rather start counting properly first, print the
[cycle count sheet](https://storestandards.com/tools/cycle-count-sheet/).