BlogApr 10, 2026 · 6 min read

The Cost of the Unreconciled Inventory Number

The MES says 4,200 units. The ERP says 3,850. The shift lead's spreadsheet says 4,000 even, because that's what it said yesterday and nobody's corrected it since. All three numbers are 'the inventory position.' None of them are wrong, exactly — that's the actual problem.

manufacturinginventorydata qualityoperations

Picture a mid-sized plant running a single finished-goods SKU through a scheduling meeting on a Tuesday morning. The MES, which counts units as they clear the final quality gate, says there are 4,200 on hand. The ERP, which posts inventory on a nightly batch job that reconciles against shipping and receiving documents, says 3,850. The shift lead's spreadsheet — the one that actually drives the floor, because it's the one people trust — says an even 4,000, because that's what someone typed in yesterday afternoon and nobody's touched it since. Three numbers, three systems, three people in the room who each believe their number is the number, because in their part of the process, it is. This isn't a hypothetical edge case. It's close to the default state of inventory reporting in any plant running an MES, an ERP, and a floor that still trusts its own eyes more than either — and it's expensive in ways that don't show up as a single line item, which is exactly why it survives budget review year after year.

Where the three numbers actually diverge

The MES number is usually the most current and the most narrow — it knows what cleared the line, not what's committed to an outbound order or sitting in a staging area waiting on a pallet count. The ERP number is usually the most complete and the most stale — it reconciles against paperwork, and paperwork lags the floor by however long it takes someone to key in a receipt. The spreadsheet number is neither current nor complete, but it's the one a harried shift lead can actually open in four seconds without waiting on an integration, so it's the one that ends up driving the 6 a.m. call on whether to run another batch. None of the three is malicious or even careless. Each is an accurate answer to a slightly different question — "what cleared QA," "what's been reconciled against documents," "what did I count on my last walk" — and the plant has been treating all three as answers to the same question, which is the actual defect.

What the gap costs, concretely

The expensive failure mode isn't a single dramatic stockout. It's smaller and it compounds. A planner schedules a run against the spreadsheet's 4,000, the ERP's 3,850 turns out to be closer to the truth, and the plant discovers the shortfall mid-shift instead of the night before, which means an expedited component order at a rush premium instead of a normal one. A different week, the MES's 4,200 is closer to right, the ERP's conservative 3,850 drives a purchasing decision to reorder early, and the plant now carries three days of unnecessary safety stock on a SKU with real holding costs and a shelf life that makes the excess a write-off risk, not just a carrying-cost line. Multiply either pattern across a SKU catalog with hundreds of items and a planning cadence that runs weekly, and the unreconciled number isn't costing the plant one bad decision — it's adding a constant tax of over-ordering, under-ordering, and expedited freight that never gets attributed back to its actual cause, because by the time the cost lands, it looks like a forecasting miss or a supplier delay, not a data problem.

The subtler cost is what it does to trust. Once a planner has been burned by trusting the ERP number over the spreadsheet, or vice versa, they stop trusting either and start keeping a private tally, which is precisely how a fourth unreconciled number gets created. We've walked into plants with five people independently tracking their own version of "the real inventory position," each convinced the others are wrong, and every one of them partially right.

Reconciliation is an ontology problem, not a dashboard problem

The instinct is to build a dashboard that shows all three numbers side by side, which feels like transparency and actually just formalizes the disagreement — now everyone can see the discrepancy in real time instead of discovering it after a bad decision. That's progress over nothing, but it isn't reconciliation. Reconciliation means deciding, explicitly, what "on hand" means as a single defined quantity — cleared QA but not yet shipped? committed against open orders or not? — and building the pipeline that computes that one number from all three source systems continuously, so the MES, ERP, and floor process feed one answer instead of publishing three competing ones. That's a genuinely harder problem than it sounds, because it usually surfaces disagreements about definitions that predate the software entirely — finance and operations have quietly meant different things by "inventory" for years, and nobody noticed until the systems forced the question. Getting to one number means having that argument once, explicitly, instead of letting three systems have it silently, forever, at the plant's expense.