Retainage — the practice of withholding a percentage of each progress payment (typically 5-10%) until the job is substantially or fully complete — is standard on most commercial construction jobs, and for good reason from the general contractor and owner's side: it's leverage to ensure the work actually gets finished to spec. For the subcontractor on the receiving end, though, it's real earned money that sits inaccessible for months, sometimes well past project completion.
The math most subs underestimate
On a subcontractor running $4M a year in commercial work with 10% retainage across the board, that's $400,000 in earned revenue that's tied up at any given time, assuming a steady pipeline of jobs. That's not a rounding error — it's often close to the entire working capital cushion a smaller subcontractor operates with.
The risk isn't just the cash being tied up. It's that retainage tracking is often informal — a mental note rather than a system — which means release dates get missed, follow-up doesn't happen, and money that's rightfully earned sits uncollected far longer than the contract actually requires.
Where retainage tracking typically breaks down
- No per-job visibility into total retainage held. Each invoice shows the withheld amount, but there's rarely a consolidated view across all active jobs showing the total sitting out there at once.
- Release conditions aren't tracked. Retainage release is often tied to substantial completion, punch list closeout, or a specific milestone — and if nobody is actively tracking when those conditions are met, the follow-up to actually request release doesn't happen on time.
- No forecasting for when retainage will convert to cash. Without visibility into expected release dates, retainage doesn't factor into cash flow forecasting at all, which understates how much cash is actually coming.
Building a system that stays on top of it
1. Track retainage as its own line item per job
Every AIA pay application or invoice should log the retainage amount withheld, feeding into a running total by job and across the whole business — not just visible on the individual invoice and then forgotten.
2. Flag release conditions and dates
When a job hits substantial completion or another contractually defined milestone, that should trigger a flag to follow up on retainage release — rather than relying on someone remembering weeks or months later.
3. Fold retainage into cash flow forecasting
Expected retainage release should show up in the same forward-looking cash flow view discussed in our post on cash flow forecasting for contractors, so it's treated as real, timed cash coming in — not an afterthought.
The negotiation angle worth knowing
Retainage percentages and release terms are often more negotiable than subcontractors assume, particularly for subs with a strong track record on a given GC. Reduced retainage (sometimes down to 5% or with early partial release provisions) is a reasonable ask on repeat relationships — but it's a much easier conversation to have when you can show up with clean, organized billing and a track record of on-time completion, rather than as an afterthought during a cash crunch.
Not sure how much retainage is actually tied up across your active jobs?
I build retainage tracking directly into your JobTread and AIA billing workflow, so you always know exactly what's owed, when it releases, and how it's affecting cash flow across every active job.