Every inventory system — spreadsheet or app — eventually drifts from what's actually on the shelf. Damaged stock that never got written off, a sale rung up under the wrong item, a delivery counted twice. A physical count is how you find and fix that drift. Most shop owners dread it because they picture closing for a day and counting everything by hand. You don't have to do it that way.
You don't need a full shutdown
A full count — every SKU, all at once — is the most disruptive way to do this, and for most small shops it's not necessary more than once or twice a year. The alternative that actually gets used consistently is cycle counting: counting a subset of your stock on a rotating schedule, so the whole shop gets covered over weeks instead of one exhausting day.
A simple rotation that works for most small retail:
- High-value or fast-moving items — count weekly. These are the items where a discrepancy costs you the most or gets noticed by a customer first.
- Everything else — split into 4-6 groups (by category or shelf location) and count one group per week, so the full store cycles every month or so.
- Anything flagged by a customer complaint or a weird sale — count immediately, don't wait for its turn in the rotation.
This spreads the work into 20-30 minutes a few times a week instead of a full closed day, and it catches problems faster because you're not waiting months between counts on any given item.
Count against a frozen number, not a moving one
The most common way counts get corrupted: someone counts a shelf while sales are still being rung up against it. If a customer buys an item mid-count, your physical count and your system count will disagree for a reason that has nothing to do with shrinkage — and now you're chasing a discrepancy that doesn't actually exist.
For whatever section you're counting, either count it during a quiet window (first thing before opening works well) or block sales of that category in your system while the count is in progress. What matters is that the number you're comparing against was frozen at a known point in time.
Record the count, don't just "fix" the number
It's tempting to just edit the stock count to match what you physically counted and move on. Do that and you lose the one piece of information that actually helps you: why it was wrong. Log the count as its own event — expected quantity, actual quantity, and the difference — before you adjust anything. A pattern of small losses on one item points to a supplier shorting deliveries or consistent till errors. A one-off large loss points to damage or theft. You can't tell those apart if the only thing that survives is the corrected number.
Two discrepancies need different responses
Small, consistent differences (a unit or two, spread across many items) are usually process noise — miscounts, a sale entered under a similar-looking item, rounding on weighed goods. Worth a note, not a panic. If it's the same item every time, that's your signal to check whether it's being sold under the wrong SKU.
Large or repeated differences on the same item are worth investigating properly — check delivery records against what was invoiced, check whether the item's sell price makes it a target, and check who has access to that stock. This is also where having a per-transaction log (see the note on audit trails in our spreadsheet-vs-app comparison) matters — you need to see when stock moved, not just that it did.
What this costs you if you skip it
Uncorrected drift doesn't stay flat — it compounds into two specific problems. First, your profit margin numbers become fiction, because cost-of-goods calculations assume your stock records are accurate. Second, you'll oversell items that are actually out of stock, or under-order items you actually have plenty of, both of which cost real money in either lost sales or tied-up cash.
Counting regularly, even a little at a time, is what keeps the number on your screen close enough to the number on your shelf to actually make decisions from.