Types of Stock Discrepancies (and What Causes Each One)
A stock discrepancy is when the recorded quantity doesn't match the physical quantity on the shelf. This post names the common types of stock discrepancies — shrinkage, overage, phantom stock, misplaced and mislabelled stock, unit-of-measure errors, uncounted returns, timing errors and receiving errors — and gives the typical cause of each and how it's caught or prevented.
A stock discrepancy is simply when the recorded quantity doesn’t match the physical quantity — the system says you hold forty, the shelf holds thirty-seven, and something has to account for the three. That gap is a symptom, not a cause, and the useful question is never “why is my stock wrong?” in the abstract. It’s “which kind of wrong is this?” Because the different types of stock discrepancies have completely different causes, and a fix aimed at the wrong one wastes the count.
This post is a taxonomy. It names the discrepancies you’ll actually meet — shrinkage, overage, phantom stock, misplaced and mislabelled stock, unit-of-measure errors, uncounted returns and write-offs, timing and cut-off errors, and receiving errors — and for each one gives what it is, the typical cause, and how it’s caught or prevented. If you want the underlying story of why the shelf and the system drift apart in the first place, that’s the pillar this sits under: why your stock never matches the system. Here we’re labelling the individual gaps so you can tell them apart on a count sheet.
Key Takeaways
- A stock discrepancy is recorded quantity ≠ physical quantity — the type is defined by why they diverged, not by how big the gap is.
- Negative discrepancies (system > shelf) — shrinkage, misplaced stock, uncounted outflows — are the ones that quietly lose you money and cause oversells.
- Positive discrepancies (shelf > system) — overage, unlogged returns, mislabelled units — look harmless but corrupt reorder logic just as badly.
- Most “theft” is really process error: mislabelling, unit-of-measure mistakes, short-shipped deliveries and uncounted returns account for far more of the gap than actual stolen stock.
- Counting harder doesn’t help — the type tells you the fix, and most fixes are about capturing the movement at the moment it happens, not recounting after the fact.
- A connected system removes whole categories at once: real-time movements, validated SKUs, one unit of measure and an audit trail kill shrinkage-by-error, phantom stock and cut-off errors by design.
First, the Two Directions Every Discrepancy Runs In
Before the named types, one distinction that organises all of them. A discrepancy is either negative — the system shows more than the shelf actually holds — or positive — the shelf holds more than the system shows. Negative discrepancies are the dangerous ones: you promise stock you don’t have, oversell, and eat emergency buys or disappointed customers. Positive discrepancies feel like a pleasant surprise, but they’re just as corrosive — your reorder points are firing on fiction, and you’re carrying cash as stock you didn’t know you had. Every type below answers one of two questions: where did the missing units go (negative), or where did the extra units come from (positive).
1Shrinkage (Theft and Unexplained Loss)
Shrinkage is the classic negative discrepancy: stock the system says you own that simply isn’t there, with no legitimate movement to explain it. The word covers external theft, internal theft, and genuine unexplained loss where the units are gone and no one can say how. It’s the type everyone reaches for first — and the one that’s usually smaller than assumed, because a lot of what looks like theft turns out to be one of the process errors further down this list wearing a disguise.
The typical cause, when it is real shrinkage, is opportunity plus no trail: high-value or small items, open access, and no record tying a movement to a person. You catch it by exclusion — you can only call a loss “shrinkage” once you’ve ruled out mislabelling, misplacement and uncounted write-offs, which is why a business without those controls over-reports theft. Prevention is partly physical (access, security on high-value lines) and partly informational: an audit trail so every legitimate outflow is recorded, shrinking the “unexplained” bucket down to the genuinely suspicious.
2Overage (You Have More Than the System Says)
Overage is the mirror image: a positive discrepancy where the physical count comes in higher than the record. It reads as good news and gets waved through, which is precisely why it’s dangerous — an unexplained gain is an error you haven’t found yet, corrupting your numbers in the other direction. If you can’t explain where the extra units came from, you can’t trust the system that failed to record them arriving.
The typical causes are an unrecorded goods receipt, a return that came back into stock without being logged as available, or a sale recorded but never actually dispatched. Overage is caught like any discrepancy — physical against record — but prevented by treating a positive gap as seriously as a negative one and tracing it to source. An overage on one SKU is very often a shortage hiding on another, which is the next type.
3Phantom Stock (Ghost Stock the System Insists You Have)
Phantom stock — also called ghost stock — is stock the system swears is available and on-hand, but which is not actually sellable or not actually there. It’s a specific, nasty negative discrepancy because the system is confidently wrong in the direction that hurts: it offers units to customers, feeds them into reorder calculations, and shows them as available when they’re damaged, reserved, already allocated, or plain missing.
The typical cause is a movement that changed the unit’s real status without changing its record — a damaged item never written off, stock allocated to an order but still counted as free, or a location the system trusts long after the shelf emptied. You catch it at the moment of truth: a picker walks to the bin and it’s not there. A blind inventory count, where the counter can’t see the expected number, is the single best way to expose it — because a counter who can see “should be 12” tends to write down 12, and the ghost survives another cycle.
4Misplaced Stock (Present, but Not Where the Record Says)
Misplaced stock isn’t really a loss at all — the units exist, in the building, but not in the location the system records. To the bin being counted it looks like a shortage; to the bin it’s actually sitting in, an overage. One physical error producing two record errors, and one of the biggest reasons a count that should reconcile stubbornly won’t.
The typical cause is a put-away or transfer that moved goods without updating the location, or no disciplined location system at all — stock “lives roughly over there” rather than in a defined, recorded slot. You catch it when a negative on one location and a positive on another turn out to be the same SKU, and prevent it with enforced location tracking: every move updates the record, so a unit’s whereabouts is data, not folklore. It’s the kind of drift a regular cycle count surfaces early — while it’s one bin, not after it’s rippled through six.
5Mislabelled and Wrong-SKU Discrepancies
This is the type that quietly generates two errors from one mistake. A unit is received, labelled or picked against the wrong SKU, so one product shows a shortage and the wrong one shows an overage — and both figures are now false. Mislabelling is a leading cause of what gets blamed on shrinkage, because the missing units genuinely aren’t where they should be; they’re logged as something else entirely.
The typical cause is manual identification: someone reads a code wrong, a supplier’s label doesn’t match your SKU, or two similar products get transposed at receiving or picking. You catch it the hard way — a physical count where the “missing” units of A turn up in the count for B — and prevent it with validation at entry: scan-verified SKUs, so the system refuses a mismatch instead of trusting a typed guess. Where a spreadsheet lets you enter any code against any line, a system that validates the SKU at capture kills this type at the door — part of why good stock control records depend on the record being enforced, not just kept.
6Unit-of-Measure Errors (Counting Eaches as Cases)
Unit-of-measure (UoM) errors are among the most under-diagnosed types of stock discrepancies, and they produce some of the largest gaps. The discrepancy comes from a mismatch between how stock was counted and how it’s recorded — a case of 24 booked in as a single unit, eaches counted as boxes, weight entered as pieces, or a pack broken open and sold individually while the system still thinks in sealed packs. The number isn’t slightly off; it’s off by a multiple.
The typical cause is any point where the same product exists in more than one unit and the conversion isn’t enforced — receiving in cases, picking in eaches, a human doing the maths in between. You catch UoM errors by the size and roundness of the gap: a discrepancy that’s a clean multiple of the pack size is a UoM error until proven otherwise. You prevent it by defining the units and conversions once, in the system, so a case is 24 eaches everywhere and nobody re-derives it by hand. It’s a type a full physical stocktaking procedure will expose but a sloppy count will actually create — count a broken pack as sealed and you’ve manufactured the very discrepancy you were checking for.
7Uncounted Returns, Samples and Write-Offs
This is the type that comes from the movements nobody logs because no money changes hands at that moment. A sale is recorded because it’s tied to an invoice; the return that comes back, the sample sent to a prospect, the damaged unit written off, the item consumed internally — those often don’t hit the record at all. Each one is a permanent negative discrepancy if it left and wasn’t logged, or a permanent overage if it came back and wasn’t restocked.
The typical cause is a process that only captures transactions with a price attached, leaving every non-sale movement to memory and goodwill. You catch these by reconciling physical against system and finding gaps no sale explains — they cluster on lines with heavy returns or sampling. You prevent them by giving every movement type a recorded home: returns, write-offs, samples and internal use each update the on-hand figure the moment they happen, so the count reflects everything that left the shelf, not only what was billed. It’s one of the most common real causes behind the broader problem in the stock never matches the system pillar.
8Timing and Cut-Off Errors (Right Count, Wrong Moment)
Cut-off errors are the sneaky type where nothing is actually lost, mislabelled or miscounted — the count and the record are each correct, but they were taken at different moments. You count the shelf at 9am; a delivery lands at 9:15 and gets booked in; the reconciliation now shows an overage that’s pure timing. Or a sale dispatches mid-count and the same units get counted and deducted, producing a phantom shortage. The discrepancy is real on paper and imaginary in fact.
The typical cause is stock moving during the count, or a lag between a physical event and its record crossing the moment you froze the numbers. You catch cut-off errors by their habit of vanishing on recount and by lining up against a delivery or dispatch that straddled the count time. You prevent them with a clean cut-off — freezing movements during a count, or, far better, real-time records so there’s no gap between event and entry. A cycle count run against live figures largely designs this type out: no stale record for a mid-count movement to contradict.
9Supplier Short-Ships and Receiving Errors
The last type enters at the very start of the chain, at goods-in, and it poisons everything downstream. A supplier ships 90 against an order of 100 but the delivery is booked in as 100 — an instant phantom shortfall of 10 that the system will confidently offer to customers. Or the receiver miscounts, scans a pallet as more than it holds, or books a substitute against the original SKU. The discrepancy is created before the stock ever reaches a shelf, so no amount of downstream care catches it.
The typical cause is receiving against the purchase order or the paperwork rather than the physical goods — trusting the docket instead of counting what actually arrived. You catch it late, as an unexplained shortage weeks after the delivery, or early with a goods-in check that counts received against ordered at the door. Prevention is verification at receipt: count what came in, match it against the PO, and only then commit it to stock — the same discipline that underpins reliable stock control records. Get receiving wrong and every downstream control is defending a number that was false from the first minute.
How the Types Map to Fixes
Walk back over the nine and a pattern emerges: almost none are solved by counting harder. Shrinkage-by-error, mislabelling, UoM mistakes, uncounted returns, cut-off errors and receiving errors are all capture problems — the movement happened and the record didn’t follow, or followed wrong. Phantom and misplaced stock are status and location problems — the unit’s real state diverged from its recorded state. Overage is usually one of the others seen from the opposite side. So the honest answer to “how do we stop stock discrepancies?” is rarely “count more often” and almost always “capture every movement, in the right unit, against the right SKU, the moment it happens.” Cycle counts and blind counts find discrepancies early — but finding them is triage. The cure is a record that can’t drift, because it updates itself, validates what goes in, and keeps a trail of every change.
FAQ
What is a stock discrepancy?
A stock discrepancy is any difference between the recorded quantity of an item and the physical quantity actually on hand — the system says one number, the shelf shows another. It’s negative when the system shows more than exists (the risky direction, causing oversells and hidden loss) and positive when the shelf holds more than recorded (which looks harmless but corrupts reorder logic). The type of discrepancy is defined by why the two diverged, not by the size of the gap.
What are the main types of stock discrepancies?
The common named types are: shrinkage (theft or unexplained loss), overage (more on the shelf than recorded), phantom or ghost stock (the system insists you hold units that aren’t sellable or aren’t there), misplaced stock (present but in the wrong recorded location), mislabelled or wrong-SKU errors (units logged as the wrong product), unit-of-measure errors (cases counted as eaches or vice versa), uncounted returns/samples/write-offs, timing or cut-off errors (correct counts taken at different moments), and supplier short-ships or receiving errors introduced at goods-in.
How do I find out which type of discrepancy I have?
Start with direction (system higher, or shelf higher), then read the signature. A gap that’s a clean multiple of pack size points to a unit-of-measure error; a shortage on one SKU matched by an overage on a similar one points to mislabelling; a shortage on one location matched by a surplus on another points to misplacement; a gap that vanishes on recount is a cut-off error; a confident on-hand figure a picker can’t find is phantom stock. A blind count and regular cycle counts surface these signatures early. And the type most often mistaken for theft is mislabelling or misplacement — process errors account for far more of the typical gap than actual stolen stock.
How OpsMavix Can Help
OpsMavix builds custom inventory systems that remove the discrepancy types you shouldn’t be fighting by hand. Every movement — sale across any channel, goods receipt, transfer, return, sample and write-off — updates one live figure the moment it happens, so timing and uncounted-outflow gaps close on their own. SKUs are validated at entry so mislabelling is refused, units of measure are defined once so cases can’t be counted as eaches, locations are tracked so misplaced stock is data not folklore, and an audit trail means real shrinkage is what’s left after the process errors are gone — a small number you can act on. It’s the practical middle ground for a business too messy for the spreadsheet and not ready for a full ERP: you own it outright, built to how your stock actually moves.
If your stock never reconciles and you can’t say which of these types is doing the damage, that uncertainty is a measurable leak — in oversells, dead cash, and hours spent recounting. Book a Free Operations Leak Audit and we’ll map exactly where your stock accuracy breaks down, name the types costing you, and show you what it’s worth to close them.