Cash disappears between the invoice and the bank deposit. It doesn't vanish — it gets stuck. The usual places it gets stuck are retainage holds, slow progress billing, and payroll timing, and most contractors can't tell which one is doing the damage until they build a cash timeline instead of just watching the bank balance.
The Three Places Cash Hides
- Retainage — 5-10% of every draw held back by the GC (general contractor) until substantial completion or closeout. It's fully earned revenue on your books, and it can sit for months before it's actually collectible.
- Progress billing lag — the gap between when you perform the work and when you're allowed to bill for it, plus the GC's own payment terms on top of that.
- Payroll timing — payroll runs on a fixed schedule whether or not your customer has paid you yet. It's the one cash outflow that never waits for cash inflow.
The Number That Actually Explains It
Your cash conversion cycle tells you how many days pass between spending a dollar on a job and collecting it back.
Cash Conversion Cycle = Days Sales Outstanding + Days of Work-in-Process − Days Payable Outstanding
The longer that number, the more working capital you need just to keep the lights on between doing the work and getting paid for it — regardless of how profitable the job actually is.
Illustrative example
Not a real client — shown to demonstrate the math
Take an electrical contractor billing monthly, with 10% retainage held to closeout and 45-day payment terms from the GC. On a $3 million backlog, it's entirely possible to be carrying $250,000–$400,000 of fully-earned, fully-taxable revenue that hasn't touched the bank account yet — money that's real on the P&L and invisible in the checking account.
What To Do About It
Track two things monthly, not annually: your WIP (Work in Progress) schedule and a separate retainage receivable aging. If retainage is piling up past 90 days on completed work, that's a collections conversation, not a bookkeeping entry.
Profit and cash are two different questions. A job can be fully profitable on paper and still leave you unable to make payroll — that's not a contradiction, it's a timing problem, and timing problems are solvable once you can see them.
Frequently Asked Questions
Why does my P&L show a profit when my bank account is empty?
Because your P&L includes revenue you've earned but haven't collected yet — retainage and unbilled work-in-process both count as revenue before they're cash.
What's the fastest way to see where my cash is stuck?
A monthly WIP schedule paired with a retainage aging report. Together they show exactly how much earned revenue hasn't converted to cash, and how long it's been sitting.
Is retainage negotiable?
Often, yes — particularly on later draws or with GCs you have a track record with. It's worth raising before you assume it's fixed.