Ask any multichannel retailer what their stock level is and you will get a number with a timestamp. Ask what it was three weeks ago and you will get a shrug. The system says 142 units. The warehouse says "roughly that, maybe fewer". The finance team reconciles once a month and finds the discrepancy. Everyone knows the stock record is a polite fiction, and everyone has learned to live with it. That acceptance is the real problem, because every decision in omnichannel retail runs on that number.
Why records drift from reality
Perpetual inventory is a simple promise: every physical movement has a matching system posting, so the system always reflects the warehouse. The promise breaks in six ordinary places:
- Unscanned picks. The picker takes a shortcut and skips the scan, so the system never sees the movement.
- Damaged stock. A damaged unit goes to a quarantine shelf but no adjustment is posted until someone remembers.
- Receipt variances. The delivery note says 50, the count says 48, and the goods inward clerk posts 50 to keep the paperwork moving.
- Returns in limbo. Returned items sit in a tote for days before being inspected, restocked or written off.
- Sample and loan stock. Marketing takes ten units for a shoot and nobody posts a movement.
- Human error. Wrong SKU scanned, wrong quantity keyed, two identical boxes swapped on a shelf.
The Office for National Statistics retail industry data shows how much of UK retail stockholding sits across small and mid sized operations where these informal practices are the norm. The systems are not the problem. The gap between the system and the movement is the problem.
The first law of stock accuracy
Stock accuracy is not improved by counting more. It is improved by closing the loop on movements. Every time stock moves without a scan, you have created an error that a future count will discover and a future adjustment will fix. So the rule is simple and absolute: no movement without a posting. Pick, receive, transfer, return, sample, damage, write off. If the physical act has no system event, the process is broken, not the system.
This is where the ERP's warehouse module earns its keep, as covered in the ERP versus WMS comparison. You do not need a WMS to close the loop. You need discipline, and the discipline is enforced by process design: the picker cannot complete the next step until the scan happens. Make the shortcut impossible rather than frowned upon.
Cycle counting that actually works
The annual full count is a ritual that finds every error once a year, after a year of wrong decisions. Cycle counting spreads the work across the year and finds errors while they are still cheap to fix. The scheduling should follow risk, not alphabets:
- A items (high value, high velocity) count monthly or weekly.
- B items count quarterly.
- C items count annually.
- Problem SKUs, the ones with repeated adjustments, count every week until they stabilise.
The counting method matters as much as the frequency. Blind counts, where the counter does not see the system quantity, produce honest numbers. Variances should be recounted once before adjustment, and the count results must feed back into the process that caused the error. A count that only fixes numbers and never fixes process is a count you will repeat forever.
Adjustments and the reason code discipline
Adjustments are the memory of your mistakes, and most ERP systems treat them as noise. The fix is a reason code on every adjustment and an owner accountable for each code. Damage, shrinkage, receipt variance, return write off, sample issue, count variance. Once the codes exist, the data becomes management information. You can see which process is leaking and where.
The Retail Research organisation publishes long running UK retail statistics including the shrinkage and stock loss figures that show how much margin leaks through exactly these informal gaps. A retailer that knows its adjustment pattern is already ahead of the industry average, because most do not.
Measure what you manage
Publish one number every week: stock record accuracy, measured as the percentage of SKUs whose system quantity matches a physical count within tolerance. Start wherever you are, even if it is 60%. Track the trend. Accuracy climbs when the process errors are fixed, and it stalls when the team treats counting as a chore.
The business case for the climb is documented in the margin impact article article: every point of accuracy recovered reduces overselling, stockouts, emergency purchases and write offs at once. Accuracy is not an operations vanity metric. It is the foundation that the overselling fixes and the seasonal planning process both stand on.
Where to start this week
You do not need a project to begin. This week, do three things. Post every open movement that has been sitting in the backlog, starting with returns in limbo. Introduce one reason code discipline, so that from Monday every adjustment has an owner and a code. And pick your twenty highest value SKUs for a blind weekly count. Do those three for a month and you will see the drift slow, which is the moment the conversation changes from "why is this wrong" to "how do we keep it right".
If the counting itself keeps failing because the warehouse cannot spare the time, that is a staffing decision, not a software decision. And if the stock numbers are feeding a problem that is already visible to customers, stockout costs explain the full price of letting accuracy slide.