How to find a million dollars of working capital trapped in your inventory.
The drift between what your system says and what's on the shelf has a number. Here's how to find it — and what to do in the first thirty days.
Walk a warehouse with the system report in your hand. Pick ten SKUs at random. Count them.
If you've done this exercise in any growing operation, you already know what happens. Some SKUs match. Most don't. The variances aren't random — they cluster on the items that move fastest, the ones that ship in mixed pallets, and the ones nobody's counted since the warehouse moved.
That drift between system and shelf is where most of your trapped working capital lives. And it has a number.
In my eighteen years running supply chains across chemicals, CPG, healthcare, and 503A pharmacy, the variance number has been remarkably consistent in operations that grew faster than their systems: $0.8M–$2.4M of working capital sitting in the gap, on companies between $50M and $150M in revenue. Not theoretical. Recoverable.
Where the cash actually hides
The trapped capital isn't one big lump. It's four smaller ones, and each has a different fix.
- Slow-moving SKUs you're scared to write down. Inventory that hasn't shipped in 6+ months but stays at full book value because nobody wants to take the hit. The longer it sits, the bigger the eventual write-off — and the longer you carry the working capital cost in the meantime.
- Components for products you don't sell anymore. Discontinued SKUs with parts still in the bin. You stopped making the product but kept buying the inputs because the BOM was never updated. This is one of the cleanest wins because the answer is just "stop reordering."
- Safety stock built for a demand pattern that no longer exists. Your min/max settings were tuned when you had one big customer. Now you have twelve mid-sized ones. The aggregate volatility profile is completely different but the safety stock formulas never got rerun.
- Expiry write-offs nobody puts on a dashboard. APIs, components with dating, anything cold-chain. Expiry is a slow leak that lands as a single ugly month-end number with no decomposition. You can't fix what nobody's counting.
These four are not equal. In every diagnostic I've run, two of them dominate the variance — and which two depends on the industry. In 503A pharmacy it's almost always (1) and (4). In CPG it's (3) and sometimes (2). In specialty chemicals it's (2) and (3). Knowing which two are yours is the first move.
The first thirty days
You don't need a consultant to find your number. You need a focused thirty-day push against an honest list. Here's the sequence that works:
Week 1 — Score the SKUs
Pull a list of every SKU in the system with on-hand quantity, last-ship date, last-receipt date, unit cost, and total dollar value. Sort by total dollar value descending. The first 20% of SKUs will hold ~80% of your inventory dollars. Those are the ones to count.
Ignore everyone who says "but we should count everything." You should — eventually. This week, count the value.
Week 2 — Reconcile the top
Physically count the top 20% by value. Compare to system. Calculate two numbers for each:
- Variance dollars — the absolute dollar gap, positive or negative.
- Variance percent — gap divided by system value.
You're looking for both. Big dollar variances on big SKUs are obvious. But a 40% variance on a mid-dollar SKU tells you the underlying process is broken even if the dollar number looks small. Both matter.
Week 3 — Categorize
For every variance over $10K or 15%, write down the cause. Not the symptom — the cause. "Inventory off" is the symptom. "Receipts get logged in batch on Fridays, so anything received Mon–Thu shows late" is the cause. "Slow-moving" is the symptom. "We onboarded a customer who ordered this six times in Q1, never since" is the cause.
Causes are almost always one of: a process that's running on tribal knowledge, a system setting nobody owns, or a business event that nobody told the planners about.
Week 4 — Decide and book
Now you have a list of variance items with causes. Three buckets:
- Write down — items that aren't coming back. Take the hit. The longer you wait, the more it costs.
- Recover — items where the count is wrong and the inventory is real. Fix the system, fix the process that broke it.
- Resize — items where the inventory is correct but the level is wrong. Rerun the min/max with current demand. Order less. Use the released capital.
The bookings you do in week 4 are the cash. The process changes you commit to are how it stops drifting back.
What "good" looks like
If you run this honestly on a $60M operation that hasn't done it in a few years, the typical recovery range is $0.8M–$2.4M of released working capital in the first three months. That's not a forecast — that's the number I've seen actual operations close, repeatedly.
What's harder to put a number on is what happens next. Once leadership has seen a real reconciliation deliver real cash, the cycle-count cadence stops being a chore. It becomes a tool. The shift from "we should count" to "what's the count telling us this week" is when the cash stops re-trapping itself.
The Stability Diagnostic does exactly this exercise, plus the SCALE scoring, plus the 30/60/90 roadmap — in two to three weeks. The numbers above are the kind of recovery a Diagnostic engagement is scoped to find. Worth a 30-minute call if your operation is between $50M and $150M and you haven't reconciled in a while.
The unglamorous part
None of this is technically hard. The exercise above is six lines of SQL and a warehouse walk. The reason it doesn't get done isn't capability — it's that it requires somebody to commit to looking honestly, and to taking the write-down that comes with looking. Both of those are leadership decisions, not analyst tasks.
The operators who run this exercise twice a year are the ones whose cash conversion is fifteen days shorter than their peers — and who can write a working-capital story that holds up in a board meeting.
If yours hasn't been counted in a while, the gap is sitting there. It has a number. Go find it.