Last updated November 6, 2026
Rules and figures from other sources checked on November 6, 2026. They change, so confirm with the source before you rely on them.
General information, not tax or legal advice. The rules depend on your country and your situation, so check anything with a tax or legal consequence with your accountant.
Retainage on an invoice is the agreed percentage a customer holds back from each progress payment until the job reaches a set point. Show the work billed, the deduction and the net due on every invoice, keep a running total of what's held, and invoice that total when the contract releases it.
What is retainage?
Retainage is money you've earned on a construction job that the customer keeps back as security against defects or unfinished work, and pays later under the contract. US contracts call it retainage. UK contracts call it retention, and HMRC describes it as holding back a proportion of the contract price pending confirmation that the work was done properly.
It's a deferred payment rather than a price cut, and that decides how you show it on the invoice and why you have to chase it.
How much retainage can a customer hold back?
How much retainage a customer can hold back depends on the contract first and then on local law, which can cap it. Rules change, and these are examples rather than a full list:
| Where | What applies, checked November 2026 |
|---|---|
| California, private work | 5% cap on contracts signed from 1 January 2026, with exceptions such as certain low-rise residential projects and a bond exception |
| New York, private work | 5% of the contract sum on contracts covered by the state's prompt payment law |
| Other US states | Vary widely, and public work often has separate rules. Check your state's statute and your contract |
| UK | Set by the contract. Under JCT forms the default is 3%, and parties can agree another figure or none |
The UK is heading for change. In March 2026 the government said it proposes to ban deducting and withholding retention under construction contracts, and the Commercial Payments Bill would do it. When we checked, the bill was still going through Parliament. One law firm's reading is that the ban wouldn't apply before 2030. Check where it has got to if you're signing a long contract.
How do you show retainage on an invoice?
Show retainage on an invoice as a deduction from the work billed, with the net amount due and the running total held both stated. Anyone reading it should be able to see what was earned, what's being paid now and what's still owed. Using invented figures, the bottom of the invoice can read:
| Work completed this period | $45,000.00 |
| Less retainage at 5% (contract clause 5.2) | −$2,250.00 |
| Amount due this invoice | $42,750.00 |
| Retainage held to date, including this invoice | $3,750.00 |
If the contract calls for AIA forms, retainage runs through line 5 of the G702 instead. The guide to AIA G702 and G703 explains the arithmetic. For stage setup in general, see progress billing.
How do you keep the running total?
Keep the running total of retainage in one place per contract, updated with each invoice. Here's an invented example: a subcontractor on a $120,000 contract with 5% retainage, released in full at the end.
| Invoice | Work billed | Retainage | Net due | Held to date |
|---|---|---|---|---|
| 1 | $30,000 | $1,500 | $28,500 | $1,500 |
| 2 | $45,000 | $2,250 | $42,750 | $3,750 |
| 3 | $45,000 | $2,250 | $42,750 | $6,000 |
| Release | −$6,000 | $6,000 | $0 | |
| Total | $120,000 | $120,000 |
Check it two ways. Held to date should equal the rate times work billed to date (5% of $120,000 is $6,000). And work billed should equal all the net amounts added together.
The commonest arithmetic slip is taking the percentage on the cumulative figure and deducting it again in full on each invoice. If you calculate on work to date, deduct only the increase since last time.
How do you invoice the release of retainage?
Invoice the release of retainage as a new invoice with its own number, once the contract's condition is met. It isn't paid automatically on many jobs, and a release nobody asks for can sit unpaid for a long time.
The condition is in your contract. On US jobs it's commonly tied to substantial or final completion, sometimes with lien waivers. Under JCT forms, the first half comes on completion of the project and the second half after the defects liability period, so you would raise two invoices. Note both dates when you sign, not when you finish.
Release of retainage under clause 5.2 of contract 14-2026, following substantial completion on 30 June 2026. Retainage held on invoices INV-2026-0012, INV-2026-0019 and INV-2026-0027: $6,000.00. No new work is billed on this invoice.
How does VAT work on UK retention?
UK VAT on retention generally falls due only when you invoice the retention or receive it, whichever comes first. HMRC's VAT Notice 708 says this at paragraph 23.1.2, and paragraph 2.1.1 says to use the same VAT rate as the earlier payments on the contract. So your interim invoice charges VAT on the net amount, and the release invoice charges VAT on the retention.
Here's the invented example again, in pounds with VAT at 20%:
| Invoice | Work | Retention | Net invoiced | VAT | Total |
|---|---|---|---|---|---|
| Interim invoice 2 | £45,000 | £2,250 | £42,750 | £8,550 | £51,300 |
| Release invoice | £6,000 | £1,200 | £7,200 |
Three caveats apply. Issue a VAT invoice for the full value upfront and VAT on the full value falls due at that point. HMRC has special rules for some construction supplies, so ask your accountant about anything unusual. And where the domestic reverse charge applies, you don't charge the VAT at all and your customer accounts for it.
Outside the UK, ask your accountant. In the EU, Article 66 of the VAT Directive lets member states choose when VAT becomes chargeable for certain transactions, so the timing isn't the same everywhere. US sales tax treatment varies by state and isn't covered here.
Should you invoice the full amount or the net amount?
Invoice the net amount in most cases, and keep the retainage on a running total until release. The two approaches behave differently on your books.
| Invoice the net amount | Invoice the full amount, retainage left unpaid | |
|---|---|---|
| Your invoice list | Shows only what's due now | Shows a part-paid invoice for months, then overdue |
| UK VAT | Due on the net amount | Due on the full amount when issued |
| Sales on your reports | Lower until the release is invoiced | Full value from the start |
| Running total | Kept separately, by you | Visible as the unpaid balance |
Your accountant may want retention adjusted at period end so your sales reflect what was earned. A WIP report shows that figure job by job. If the customer simply pays less than an invoice asks for, that's a different thing: it's a partial payment, and the balance stays due.
Handling retainage in ERPFlow
ERPFlow has no retainage line type and no running retainage balance, and invoice lines can't be negative, so a deduction line isn't possible. If you run staged valuations with retention on large contracts every month, it will feel thin. For a small construction business with the occasional retention, this works:
- Bill the net amount as one line. On an ordinary invoice, enter a line such as "Work this period $45,000.00, less 5% retainage $2,250.00. Retainage held to date $3,750.00", quantity 1, price $42,750. The line's discount field would get the arithmetic right, but a discount is the wrong word for money you're still owed.
- Keep the running total in a spreadsheet. ERPFlow won't add it up across invoices.
- Note the release date. A card on the job's project board with a deadline turns amber and then red as the date approaches. Nothing is sent, so someone has to look.
- Raise the release as a new invoice. It's an ordinary invoice with one line, and the Order number field can carry the contract reference. Set the tax rate on the line. ERPFlow doesn't decide the VAT treatment or the tax point for you.
- Chase it by hand. Payments are recorded by hand, and reminders go out only when someone sends them.