How Retainage Works in Construction: A Contractor's Guide
The short answer: Retainage (also called retention) is a percentage of each payment your customer holds back until the job is finished and accepted, usually 5% to 10%. It protects them against unfinished or defective work, and it means a slice of the money you have earned sits unpaid for weeks or months after the labor is done. Retainage only hurts when you lose track of it. With CRMb you bill each stage from real labor and material cost, show the held-back amount as its own line, and keep every outstanding retainage balance in your receivables view so you can collect it the day the job closes.
You finished the framing three months ago. The customer paid the invoice, mostly. There is a few thousand dollars they kept back, and it is still sitting on their books because the job as a whole is not closed out yet. That is retainage, and if you run larger jobs it is a normal, contractual part of getting paid. This guide covers what it is, why it exists, how much is typical, and how to make sure the held-back money actually comes back to you.
What retainage actually is
Retainage is a portion of each progress payment that the customer withholds until the project is substantially complete. If your invoice is $10,000 and the contract specifies 10% retention, the customer pays you $9,000 now and holds $1,000. They do the same on every invoice across the job. At closeout, once the work passes final inspection and any punch-list items are cleared, they release the accumulated retainage in one final payment.
It is not a discount and it is not a penalty. It is a security deposit the customer holds on your performance. The money is yours; you have earned it by doing the work. You just cannot collect it until you satisfy the terms that release it.
The catch is timing. On a long job, retainage can tie up thousands of dollars for months, and it stacks: every stage you bill adds to the held-back pile. A business that ignores retainage in its cash flow planning can be profitable on paper and still short on cash, because a meaningful chunk of its earnings is parked in someone else's account.
Why customers hold it back
Retainage exists because the customer, or the general contractor above you, wants leverage to make sure the job gets finished and finished right. Three reasons show up again and again:
- Completion insurance. The final 5% to 10% gives them a reason to keep working with you through the unglamorous closeout: the punch list, the cleanup, the final inspection.
- Defect protection. If something you installed fails right after the work is done, the held-back money covers fixing it without a fight.
- Subcontractor coverage. On larger projects, a general contractor holds retainage from every sub so they are not left exposed if one walks off mid-job.
None of this is personal, and none of it means the customer distrusts you. On public and commercial work, retention is often written into the contract before you ever bid it. Understanding why it is there helps you price for it and plan around it instead of being surprised by it.
How much retainage is typical
The most common retention rate is 10%, though 5% is widespread and many contracts step the rate down partway through a job. Some norms worth knowing:
- 5% to 10% is the usual range on private commercial and residential work.
- Public projects frequently cap retainage by statute, and the cap varies by state, so the contract and local law govern.
- Reduced retention at the halfway mark is common: a contract might hold 10% until the job is 50% complete, then stop withholding on later invoices once you have proven you will finish.
The exact number is a contract term, not a law of nature. If you have leverage, retention rate and release timing are negotiable, and lowering either one directly improves your cash position on the job.
Retainage and progress billing go together
Retainage almost always rides on top of progress billing, because both are tools for long jobs billed in stages. Each progress invoice earns a stage of the work, and the retention percentage is withheld from that stage's payment.
Picture a $40,000 job billed in five stages with 10% retention:
| Stage | Stage value | Retainage held (10%) | Paid now |
|---|---|---|---|
| Deposit / mobilization | $6,000 | $600 | $5,400 |
| Demolition complete | $8,000 | $800 | $7,200 |
| Rough-in passed | $10,000 | $1,000 | $9,000 |
| Cabinets and counters set | $9,000 | $900 | $8,100 |
| Final finishes and closeout | $7,000 | $700 | $6,300 |
| Total | $40,000 | $4,000 | $36,000 |
Across the job you collect $36,000 as you go, and the final $4,000 is released after closeout. The held-back column is the number that matters for planning: it is real, earned money you will not see for a while, and it needs to be visible on every stage, not discovered at the end.
Bill each stage from measured cost
The danger with retainage is the same one that undermines all stage billing: if you do not know what a stage actually cost you, you cannot tell whether the amount you are collecting today, minus the retention, still keeps you ahead of your own spend.
When your crew punches in against the job with Punch, the hours land on that specific job as the work happens. Those hours flow into CRMb as labor cost with your loaded rate already applied, and materials are costed at their average purchase cost. So at each stage you can see the true cost of the work done so far and compare it against the payment you will actually receive after retention is withheld. If the paid-now amount on a stage barely covers the labor and materials that stage consumed, the retainage is financing your customer's project out of your pocket, and you want to know that before you sign the next one.
That measured view is also what makes retainage safe to accept. You can carry a 10% hold comfortably when every stage is billing ahead of its cost. You cannot when your stages are underwater and the held-back money is the only margin in the job.
Track what is held so you can collect it
Retainage that nobody tracks is retainage that gets forgotten, and forgotten retainage is the most expensive kind. In CRMb, each stage of a job is its own invoice, drawn from the same job so the labor and materials on it are the ones your crew and purchase orders actually recorded. Show the withheld amount as its own line so the customer sees exactly what is being held and why, and send the invoice as a public share link they can open, review, and sign without an account.
Because every invoice ties back to the job, your accounts receivable view shows what is billed, what is paid, and what is still outstanding across all the stages at once, including the retention you are owed. When the job closes and the punch list is cleared, you raise the final retainage invoice against a number you have been watching all along, and you chase the specific held-back balance instead of a vague sense that "there's some money left on that one."
How to collect retainage without friction
The retainage release is where good jobs sometimes stall, because the customer's incentive to pay drops the moment the work is done. A few habits keep it moving:
- Put the release terms in the contract. Define what "substantially complete" means and what triggers release: final inspection passed, punch list cleared, lien waivers exchanged. A verifiable trigger beats an opinion.
- Close the punch list fast. The held-back money is the customer's leverage over the last 5% of the work. Finish it quickly and you remove their reason to delay.
- Invoice the retainage the day the trigger is met. Do not wait for the customer to remember. Raise the final invoice as soon as closeout conditions are satisfied.
- Keep the balance visible. If you always know the exact retainage outstanding on each job, you can follow up on the specific number instead of reconstructing it months later.
Common mistakes to avoid
- Leaving retainage out of your cash-flow plan. A held 10% on active jobs can be a large sum. Plan as if that money is unavailable until release, because it is.
- Not knowing your held-back total. If you cannot say what retainage you are owed across your open jobs, you are financing your customers without meaning to.
- Accepting retention on underwater stages. If a stage barely covers its own cost after the hold, the retainage is your only margin, and it is sitting in someone else's account.
- Forgetting to bill the release. The final retainage invoice is real money. Raise it the day closeout conditions are met.
- Vague release triggers. "When the job's done" invites delay. Tie release to a verifiable event.
FAQ
What is retainage in construction? Retainage, or retention, is a percentage of each payment the customer withholds until the job is substantially complete. It protects them against unfinished or defective work and is released after final inspection and closeout.
How much retainage is normal? Most contracts hold 5% to 10%. Public projects often cap the rate by statute, and many contracts reduce or stop withholding once the job passes the halfway point.
Is retainage the same as a deposit? No. A deposit is money paid upfront before work begins. Retainage is money held back out of payments you have already earned, released at the end of the job.
When do I get retainage paid? Retainage is released once the work is substantially complete and any release conditions in the contract are met, typically final inspection passed and punch-list items cleared.
How do I keep track of retainage owed? Bill each stage as its own invoice, show the withheld amount as a line item, and keep the outstanding balance in a receivables view so you always know the exact held-back total on every open job.
Getting started with CRMb
CRMb is built for service and trades businesses that run jobs, not just one-off tickets. Quotes and invoices pull labor and materials straight from the job, so every stage you bill reflects what the work actually cost, and you can see whether the payment after retention still keeps you ahead of your spend. Each invoice goes out as a public link the customer can review and sign, and your receivables view keeps every billed, paid, and outstanding balance, retainage included, in one place. Crew hours come from Punch, so the labor line on every stage is measured, not remembered.
Start a 14-day free trial and stop letting held-back money disappear from view.