Cash Leakage: Three Inventory Numbers Your POS Never Puts Together
2026-07-01
Cash leakage: three inventory numbers your POS never puts together
Your POS is very good at telling you what happened: sales, margins, register closures. It is structurally bad at telling you what didn't happen — the sale you missed because the shelf was empty, the cash sleeping in stock that stopped selling last autumn, the margin quietly bleeding out of a product whose cost was never entered right.
“Cash leakage” is a useful umbrella for those problems, but not an honest single total. Capital locked on the shelf is a point-in-time balance; stockout exposure is a rate over time; data errors may be a count until their financial effect is measured. Keep those signals separate unless you have converted them to the same unit and time horizon.
Here is how to compute each piece yourself, with a worked example so you can sanity-check your own numbers without mixing a one-time balance into an annual estimate.
Component 1: Dead stock (capital + carrying cost)
Dead stock is inventory that has stopped selling but still occupies cash and shelf. Two numbers matter:
- Capital locked: for every SKU with no sale in 180+ days,
on-hand quantity × supply price, summed. - Annual carrying cost: the standard retail rule of thumb is 20–30% of that capital per year — storage, shrink, obsolescence, and the cost of the money itself. Use 25% if you don't have a better estimate.
Lightspeed X-Series has a purpose-built view of this — the dusty inventory report with last-sale dates, inventory cost, and retail value — but per Lightspeed's own reporting doc it isn't available on the Basic or Core plans. No matter: it rebuilds from two CSV exports in twenty minutes, and we published the exact spreadsheet formulas.
Component 2: Stockouts on your fastest movers
Dead stock is cash you can still see. Stockouts are worse — the loss is invisible because the sale simply never rings up. And it concentrates exactly where it hurts: your top 40 sellers produce a huge share of profit, so days when they're at zero are your most expensive days.
Per fast-moving SKU:
lost profit ≈ days out of stock × average units sold per day × unit margin
Get units per day from your sales history export (units sold in 90 days ÷ 90). Days out of stock is the awkward one — Lightspeed's recently-out-of-stock report is gated the same way as dusty inventory — but you have two workarounds on Core: the basic inventory replenishment report (available on Core) shows days cover, so anything with days cover below your supplier lead time is a measurable stockout-in-progress; and for the past, look for multi-day gaps in the sales history of items that normally sell daily — for a true fast mover, a silent week almost always means an empty shelf, not a demand collapse.
Component 3: Data errors that erode margin
The least glamorous leak and the easiest to fix. From your product list export (how to pull it), check three things:
- Missing costs. Blank supply-price fields mean every margin report overstates profit on those SKUs — and they silently drop out of dead-stock dollar totals.
- Selling below cost. Flag every row where
retail price < supply pricewith=IF(E2<D2,"below cost",""). Some are deliberate loss leaders; most are typos or un-updated costs after a supplier increase. - Duplicate SKUs. Split inventory histories make both halves look slower than the product really is — generating false dead-stock flags and missed reorders at once.
Worked example: a 2,000-SKU store
Say you run a store with ~2,000 active SKUs and roughly $110,000 of inventory at cost. Plausible findings from a first-ever scan:
Dead stock: 380 SKUs (19% — common for a store that's never purged) with no sale in 180+ days, averaging 4 units on hand at $9 cost:
380 × 4 × $9 = $13,680 locked up
$13,680 × 25% = $3,420/year carrying cost
Stockouts: 6 of your top 40 movers spent ~18 days each out of stock last quarter, at 2.1 units/day and $4.10 unit margin:
6 × 18 × 2.1 × $4.10 ≈ $930/quarter ≈ $3,720/year
Data errors: 90 SKUs with no cost entered (margin unknowable), and 14 SKUs priced below cost, each selling ~3 units/week at an average $0.85 loss:
14 × 3 × $0.85 × 52 ≈ $1,856/year
Read the results side by side: $13,680 in capital locked now, an illustrative $3,420/year in carrying cost, $3,720/year in stockout loss, and $1,856/year in below-cost loss. The three annual estimates can be compared because they share a horizon; the $13,680 balance stays separate. Whatever you decide about plans and tools, measuring each signal comes first.
Your mix will differ: gift and seasonal stores skew toward dead stock; convenience-style stores skew toward stockouts; stores that grew by importing old catalogs skew toward data errors. The method is the same.
Do it yourself this weekend
- Export your product list and 12 months of sales history — step-by-step export guide.
- Build the dead-stock sheet with these formulas; multiply the locked capital by 25% for annual carrying cost.
- Compute 90-day velocity for your top 40 sellers; estimate days out from sales gaps and days cover; multiply by unit margin.
- Count missing costs and below-cost rows.
- Record the one-time balance and annual estimates separately. Re-measure quarterly — the goal is not one dramatic total; it is fewer avoidable dollars in every lane.
Or calculate the inventory signals in two minutes
The free ShelfReport scan keeps the outputs separate: confirmed cash tied in dead stock, weekly sales exposed to stockout, stocked SKUs with no recorded sales, and data-quality issues. The full ranked report names the affected SKUs and shows the evidence behind each figure. It is US$59 or C$79 one-time, with no subscription. Run a free scan →
Related guides
- How to get a dead stock report on Lightspeed's Core plan
- Exporting your data from Lightspeed X-Series: every CSV that matters
- Lightspeed Insights alternatives for small stores (2026)
ShelfReport is an independent tool and is not affiliated with, endorsed by, or sponsored by Lightspeed Commerce. "Lightspeed" and "X-Series" are trademarks of Lightspeed Commerce Inc. Plan and report availability checked against Lightspeed's published documentation on July 1, 2026. The worked example uses illustrative numbers, not benchmarks for any specific store.
See these numbers for your own shop
Upload your POS CSV exports and see confirmed dead-stock cash, reorder risk, and weekly stockout exposure in 60 seconds — free, no account, original files never stored.
Run the free scan →