Retainage Is Not Revenue: How General Contractors Should Track Money Held by the GC
Retainage is one of the most misunderstood line items in a general contractor's finances. It is money you have earned, money that appears in your invoice totals, and money that your accounting software may count as revenue — but money you cannot spend until the project closes. Treating it as available cash is one of the most reliable ways to create a cash flow crisis on a profitable job.
What Retainage Actually Is
When you work as a subcontractor under a general contractor, or as a GC under an owner, the contract typically includes a retainage clause. The most common structure is 10% of each progress payment, held until the project reaches substantial completion. On a $300,000 subcontract, that means $30,000 of your earned revenue is withheld — sometimes for months after your work is complete — while the GC waits for the owner to release their retainage.
The retainage percentage and release conditions vary by contract. Some contracts use 5% retainage. Some release half the retainage at 50% completion and the remainder at closeout. Some tie release to punch list completion, final inspections, or lien waiver submissions. The common thread is that the money is real, it is earned, and it is not available to you until a specific condition is met.
Warning: Many accounting systems record retainage as revenue when the invoice is issued, not when the cash is received. If your P&L shows a profit but your bank account is thin, retainage may be the gap. Always reconcile your retainage balance against your actual bank deposits before making financial decisions.
The Cash Flow Trap Retainage Creates
Here is the scenario that plays out repeatedly for growing contracting businesses. You win a $400,000 commercial job. You complete the rough work, submit your first draw for $80,000, and the GC pays you $72,000 — holding $8,000 in retainage. You complete the next phase, submit another $80,000 draw, receive $72,000. By the time you are 75% complete, you have $24,000 in retainage held that you have earned but cannot access.
Meanwhile, you have taken on two more jobs. Each one requires front-loading labor and materials before the first draw arrives. You look at your bank balance, see $85,000, and feel comfortable. But $24,000 of that is not real — it is retainage that has already been received from earlier draws and is sitting in your account as a false buffer. When the new job costs hit, you discover you are $15,000 shorter than you thought.
This is not a math error. It is a visibility error. The retainage was never labeled as such in your bank account. It came in as a regular deposit, mixed with your available cash, and disappeared into operations before you could track it.
How to Track Retainage Correctly
The correct approach is to treat retainage as a separate category from the moment it is withheld. When the GC pays you $72,000 on an $80,000 draw, record the full $80,000 as revenue and the $8,000 difference as retainage held — a liability against future collection, not current income.
Per-Job Retainage Ledger
Every active job should have a retainage balance. The ledger tracks three numbers: total retainage withheld to date, total retainage released to date, and net retainage outstanding. When you submit a draw and receive a partial payment, the withheld amount increases the outstanding balance. When the GC releases retainage at closeout, the outstanding balance decreases and the cash moves to your available funds.
This ledger should be visible on your Monday morning review. If you have three active jobs with $12,000, $8,500, and $19,000 in outstanding retainage, you have $39,500 in earned-but-inaccessible revenue that should never appear in your Safe-to-Spend calculation.
CashFlowSmart tracks retainage as a dedicated line item per job and displays the total held across all active projects on the Monday Morning Truth Card. The Safe-to-Spend calculation explicitly excludes retainage balances so you never accidentally plan around money you cannot access.
Frequently Asked Questions
What percentage of a draw is typically held as retainage?+
Most commercial and residential GC contracts withhold 5% to 10% of each draw as retainage. The exact percentage is specified in the subcontract agreement. Some contracts reduce retainage to 5% once the project is 50% complete.
When is retainage typically released to a subcontractor?+
Retainage is typically released 30 to 90 days after substantial completion of the project, once the GC receives final payment from the owner. Some jurisdictions have prompt payment laws that require retainage release within a specific window after project closeout.
How should retainage appear in a contractor's cash flow statement?+
Retainage should be tracked as a separate receivable line item, not included in available cash. It represents earned revenue that has not yet been collected. Including it in your operating cash position will cause you to overestimate your Safe-to-Spend and create cash flow shortfalls.
Track retainage the right way from day one
CashFlowSmart gives every job its own retainage ledger and excludes held amounts from your Safe-to-Spend automatically. Founding cohort: $97/month, locked for life.
Claim your founding member spot →