Cash Leakage: The Number Your POS Never Shows You
2026-07-01
Cash leakage: the number your POS never shows you
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.
Add those up and you get one number we call cash leakage:
Cash leakage = dead stock carrying cost + stockout losses on your fastest movers + margin lost to data errors
For a typical single store with a couple thousand SKUs, this number is usually four figures a year — sometimes five — and it appears on no report anywhere. Here's how to compute each piece yourself, and a worked example with realistic numbers so you can sanity-check your own.
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
Total: roughly $9,000 a year leaking — call it $750 a month — plus $13,680 in capital you could redeploy into stock that actually sells. For context, that leak is about five times the annual cost difference between Lightspeed's Core and Plus plans (pricing, checked July 2026). Whatever you decide about plans and tools, measuring the leak comes first — you can't manage a number you've never seen.
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.
- Add the three components. Write the number somewhere you'll see it. Re-measure quarterly — the goal isn't zero, it's shrinking.
Or get the number in two minutes
The free ShelfReport scan computes all three components from the same two CSV exports and shows your headline leakage figure at no cost. The full ranked report — every dead SKU, every reorder risk, every catalog error — is $79 one-time, no subscription. Worst case, the free scan tells you your store is tight and you sleep better. 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 export and get your dead stock, reorder risk, and cash leakage in 60 seconds — free, no account, files never stored.
Run the free scan →