Free tool · 22 symptoms

Inventory discrepancy root cause matrix:
from symptom to mechanism

A lookup table for warehouse inventory variances. Find the symptom by its shape, then get the mechanism that usually produces it, the export that holds the evidence, the test that confirms it, and who can fix it.

  • Updated
  • Written by WMSAudit
  • A Ravenspire LLC company
  • Reference · 22 rows

Short answer

Root cause analysis for an inventory discrepancy starts with the variance's shape, not its size. A variance equal to one receipt points at a duplicate posting. The same delta on every case from one vendor points at the case pack. Equal and opposite errors in two locations point at an unpaired move. This matrix maps 22 such shapes to their likely mechanism and the test that proves it.

How to use the matrix

Throughout, overage means the floor holds more than the system says and shortage means it holds less.

Start from what you can see: an overage, a short pick, a count that won't stay fixed. Find the row that matches its shape, not just its direction. Is it a whole receipt? Is it the same per case? Is there an equal and opposite error somewhere else? The shape is what points at a mechanism.

Each row gives the mechanism that most often produces that shape, the export that holds the evidence, the test that confirms it, and who can usually fix it. A confirmed test is a finding. An unconfirmed one is still just a hypothesis. Adjust after the test, never before, because the adjustment destroys the evidence.

The matrix: 22 symptoms

Inventory discrepancy symptoms, likely mechanisms, evidence, confirming tests and owners
Symptom Likely mechanism Evidence to pull Confirming test Usual owner
01Shortage equal to one whole receipt on a PO line (the system holds a receipt the floor doesn't) Duplicate receipt: ASN auto-receipt plus a manual entry, a re-scanned LPN, or an interface replaying a message after a timeout. Receipt transactions per PO line with timestamp, user, device and entry method. Two receipt records against one line, same quantity, minutes or hours apart, entered by different methods. Receiving lead; IT if the duplicate came from the interface
02The same overage per case on every receipt from one vendor Case pack in the item master is lower than the pack the vendor ships. Item master pack fields; receipts by vendor with cases received and counted units. Variance ÷ cases received is the same whole number receipt after receipt. Item master owner, with the buyer
03The same shortage per case on every receipt from one vendor Case pack in the item master is higher than shipped, or the vendor consistently packs short. Pack fields; ASN pack quantity; receipt counts. Per-case delta is constant. If the ASN also shows the lower pack, it's the master; if the ASN shows the higher pack, it's the vendor. Item master owner; vendor compliance
04Variance that is an exact multiple of a conversion factor (×6, ×12, ×24, ×pallet) Unit-of-measure error: quantity entered in one UOM and posted in another, or a wrong conversion in the UOM table. UOM conversion table; receipt UOM as entered; converted base quantity. Observed ÷ expected equals a conversion factor on the item. Item master owner
05Two locations wrong by the same quantity in opposite directions Unpaired move: the decrement posted and the increment didn't, or the move was confirmed to the wrong location. Transaction history for both locations over the window. Matching quantity, opposite sign, same item, within the same shift or task. Operations; WMS configuration if tasks can close half-confirmed
06Picks short at a location the system shows as stocked, but site total is right Location discrepancy: putaway confirmed by keying the directed location instead of scanning the actual one. Putaway confirmations with scanned-or-keyed flag; directed vs actual location. Keyed confirmations cluster by user, shift or zone, and the missing stock is found in a neighbouring slot. Inbound supervisor; WMS configuration (enforce scan)
07Picks short and the site total is also overstated Phantom inventory, usually born at receiving (duplicate receipt, pack or UOM error) and discovered at the pick face. Item transaction history back to the last zero-variance count. Replay the balance; the first divergence is almost always an inbound transaction. Whoever owns the inbound mechanism found
08Negative on-hand after an ordinary pick A missing inbound leg (receipt or putaway never posted), or a receipt posted to a different item or location. Allow-negative setting; transaction history at the location. The first negative follows a pick with no preceding receipt or putaway into that location. Receiving; WMS configuration
09Replenishment triggers for a pick face that is physically full Decrements posted without a physical event (picks confirmed at the wrong face), or min/max set in the wrong UOM. Replenishment tasks; min/max with UOM; pick confirmations at the face. Min/max UOM differs from pick UOM, or the face's recorded quantity falls faster than its picks explain. Slotting / WMS configuration
10Pick face runs empty but replenishment never triggers Recorded quantity at the face is overstated (phantom), or min is set in cases for an each-picked face. Face balance history; replenishment settings with UOM. System quantity above min while the face is physically empty. Inventory control; slotting
11The same item adjusted repeatedly in the same direction A recurring upstream defect: pack, UOM, unit-of-issue, or a vendor that always ships differently to the order. Adjustment log by item and direction; receipts for the same item. Three or more same-direction adjustments; their sizes relate to a pack or receipt quantity. Whoever owns the upstream mechanism
12Count variance that reverses on recount Count timing: the system quantity was captured at post time rather than count time, or tasks were open at the location. Count capture and post timestamps; open tasks at count time. Movements posted between capture and post explain the variance. Inventory control; count program design
13Count variances cluster by counter Counting method or training, or counts that aren't truly blind. Count history by counter; blind-count flag. Variance rate by counter differs on comparable locations. Inventory control
14WMS and ERP differ on an item, and the difference persists across periods Dropped or errored interface message never reprocessed. Interface error log; message IDs; reconciliation history. The difference equals one message's quantity and that message is in error status. IT / integration
15WMS and ERP differ at period end, then agree Timing: receipts or shipments on different sides of the interface batch window. Posting timestamps against batch windows. The difference clears on the next run without an adjustment. None. Document the cut-off; don't adjust
16Adjustments net to almost zero but gross volume is high Churn: offsetting adjustments hiding location errors or unpaired moves. Adjustment log, gross and net. High gross-to-net ratio; opposite-sign pairs on the same item within days. Inventory control
17Most adjustments carry a generic reason code No root cause is captured, so the audit trail can't answer 'why'. Reason-code distribution. Generic codes (COUNT VAR, OTHER, blank) make up most of the log. Inventory control; WMS configuration (require specific codes)
18Variance begins on a specific date for a set of items An item master edit: a pack or UOM change that restated, or failed to restate, existing balances. Item master change log with effective dates. Variance onset coincides with a change to the affected items' pack or UOM. Item master owner; WMS vendor on restatement behaviour
19A vendor known to ship short always receives exactly the PO quantity Receiving to the paperwork: receivers key the expected quantity instead of counting. Receipts, ASN and ordered quantity; later counts on the same items. Received equals ordered on nearly every line, and shortages appear later at count or pick. Receiving process
20Receiving shortage with no vendor claim Hand-off gap between the dock and accounts payable. Receipt variances joined to claims or debit memos. Shortage lines with no matching claim. Receiving; AP
21Right quantity, wrong lot or expiry Lot not scanned at receipt or pick, or FEFO/FIFO rules overridden. Lot on receipt vs lot on pick; override log. Picked lot differs from the directed lot; overrides cluster by user or zone. Operations; quality
22Available stock that is physically damaged or on hold Status change not recorded: damage found and set aside without a transaction. Status change log; QA and returns locations. Stock physically in a hold area with an 'available' status in the WMS. Operations; quality

Scroll the table sideways on a phone. Rows are ordered roughly from the front door (receiving) through storage, counting and the interfaces.

Why the shape of a variance matters more than its size

Most discrepancy reports sort by value, which puts the dramatic one-off at the top and the quiet recurring defect at the bottom. The matrix is built the other way round, because the signature of a variance names its cause far more often than its size does.

Two variances, same value, different causes Illustrative arithmetic
Two variances of equal value with different signatures
ItemReceiptsSystem over floorSignature
Item A1+240 EAOne receipt of 10 CS × 24 posted twice. Row 01: duplicate receipt.
Item B20+240 EA20 receipts of 6 CS, 2 units per case never arrived (master says 14, vendor ships 12). Row 03: case pack.
Item Astops· once the duplicate is reversed · Item Bcontinues· 12 more phantom units on every future receipt until the field is fixed

Both count 240 short, and both get the same adjustment. Only one of them comes back. That's why rows such as 02, 03, 11 and 19 are tagged keeps coming back: they are mechanisms, not events, and they are where the annual cost accumulates. The full method for proving a pattern rather than an instance is in inventory root cause analysis. The replay technique that finds the first broken transaction is in inventory discrepancy.

When a row doesn't fit

Some variances match two rows, and some match none. Two matches usually means two mechanisms are stacked: a case-pack error that is also being counted late, for example. Resolve the upstream one first, because it keeps generating new evidence. No match usually means the transaction history isn't complete: a transaction type left out of the export, a missing item master change log, or a timestamp that records posting but not the event.

If you'd rather test a whole building's worth of rows at once, that's the core of a WMS audit. For a self-assessment of which controls are missing in the first place, start with the WMS audit checklist.