Retainage in construction is the portion of each progress payment, often 5% to 10%, that a project owner or general contractor (GC) holds back until the work is substantially or fully complete. To handle it correctly, bill the full value of the work on every pay application, show the amount withheld as a deduction, record it in a separate retainage receivable or retainage payable account, and invoice it once the contract's release conditions are met.
This guide walks you through construction retainage in seven steps, from confirming the contract terms to collecting the final release. I also explain the federal and state rules that cap retainage, the journal entries for both contractors and GCs, and how to set up retainage tracking in QuickBooks Online.
Steps | What you do |
| 1. Confirm the retainage terms | Read the rate, reduction triggers, and release conditions in the contract |
| 2. Set up separate accounts | Create Retainage Receivable and Retainage Payable accounts |
| 3. Calculate retainage on each pay application | Multiply the work completed this period by the retainage rate |
| 4. Bill the gross amount | Invoice the full value of the work and deduct retainage on its own line |
| 5. Record the journal entries | Split each billing between receivables and retainage |
| 6. Track retainage by job | Keep a retainage schedule and reconcile it monthly |
| 7. Bill and record the release | Invoice the retainage, collect it, and pay subcontractors their share |
Why you can trust Fit Small Business
I am a registered financial advisor with over 15 years of experience in the financial industry, including almost a decade as a bank manager. I am also a certified bookkeeper with QuickBooks Online and Xero credentials, and I have handled full-cycle bookkeeping for US-based businesses in QuickBooks Online and QuickBooks Desktop, including accounts payable and receivable, bank reconciliations, and monthly financial reporting.
For this guide, I reviewed the Federal Acquisition Regulation, the state retainage statutes cited below, the Financial Accounting Standards Board (FASB) staff educational paper on retainage, and Intuit's current QuickBooks Online help articles and plan details. This article is general information and not legal, tax, or accounting advice. Talk with a construction attorney or CPA about your contracts and your books.
Related read:
QuickBooks Online Review (2026): Features, Pricing & AI Capabilities
What Is QuickBooks? Products, Services & How It Works
What Is an Accounts Payable Aging Report? Definition & Benefits
- Step 1: Confirm the retainage terms before the job starts
- Step 2: Set up separate retainage accounts
- Step 3: Calculate retainage on each pay application
- Step 4: Bill the gross amount and show retainage as a deduction
- Step 5: Record retainage with journal entries
- Step 6: Track retainage by job on a retainage schedule
- Step 7: Invoice and record the retainage release
- What is retainage in construction?
- How construction retainage works
- Retainage limits and release rules
- How to track retainage in QuickBooks Online
- Common retainage mistakes
- Bottom line
Step 1: Confirm the retainage terms before the job starts
Find the payment terms in the prime contract or subcontract and note five details: the retainage rate, any reduction trigger, the release conditions, the documents you need to submit for release, and whether the GC pays you when the owner pays the GC. Common release conditions include substantial completion, a finished punch list, final lien waivers, as-built drawings, warranties, and other closeout documents.
If you are the GC, compare the retainage in your subcontracts with the retainage in your prime contract. Some states, including Montana and New York, do not allow a GC to withhold a higher percentage from subcontractors than the owner withholds from the GC.
Step 2: Set up separate retainage accounts
Create two balance sheet accounts, and post retainage only to them.
- Retainage Receivable: A current asset for amounts your customers have withheld from you. Use it if you are a subcontractor or a GC billing an owner.
- Retainage Payable: A current liability for amounts you have withheld from your subcontractors. Use it if you are a GC or a subcontractor with lower-tier subs.
Keeping retainage in its own accounts makes your accounts receivable and accounts payable aging reports accurate. Otherwise, a $20,000 retainage balance looks like a customer who is months past due.
Step 3: Calculate retainage on each pay application
Use this formula for each billing period:
Retainage = Work billed this period × Retainage rate
Say you're a subcontractor on a $200,000 contract with 10% retainage, and your first pay application covers $50,000 of completed work. Your retainage is $50,000 × 10% = $5,000, so the customer pays you $45,000 for this period and holds the $5,000 until the release conditions are met. When the pay application includes stored materials, check the contract, since some contracts apply a different retainage rate to materials stored on site.
Step 4: Bill the gross amount and show retainage as a deduction
Using the example from Step 3, invoice the full $50,000 for the work you completed this period, then add a separate line that deducts the $5,000 retainage. The invoice total of $45,000 matches what the customer will pay you this period.
If you bill only the $45,000 net amount, your books will understate the revenue you earned, and you'll have no record of the $5,000 you still need to collect. Your invoice will also be harder to match against the customer's pay application, which shows the gross amount and the retainage on separate lines.
Step 5: Record retainage with journal entries
Your accounting software posts these entries for you when you create the invoice or enter the bill. I still recommend knowing what they look like, so you can confirm that retainage lands in the right accounts.
Contractor or subcontractor (retainage receivable)
Using the Step 3 example, here's the entry when you bill your first pay application of $50,000 with $5,000 retainage:
Account | Debit | Credit |
| Accounts Receivable | $45,000 | |
| Retainage Receivable | $5,000 | |
| Contract Revenue | $50,000 |
When the customer pays you the $45,000, debit Cash and credit Accounts Receivable. The $5,000 stays in Retainage Receivable until the customer releases it.
General contractor (retainage payable)
If you're a GC, you record the other side of this entry for the retainage you withhold from your subcontractors. Say one of your subcontractors bills you $30,000, and your subcontract has 10% retainage:
Account | Debit | Credit |
| Job Costs – Subcontractors | $30,000 | |
| Accounts Payable | $27,000 | |
| Retainage Payable | $3,000 |
You record the full $30,000 as a job cost and owe the subcontractor $27,000 for this billing. The $3,000 stays in Retainage Payable until the subcontractor meets the release conditions.
If your company issues GAAP financial statements, there are extra presentation rules. A FASB staff educational paper on retainage explains that, under ASC 606, retainage counts as a receivable when your right to it is unconditional and as a contract asset when payment still depends on your performance, such as finishing the work. ASC 910-10-50-7 also requires contractors to disclose the retainage included in receivables, the portion expected to be collected after one year, and, if practicable, the years they expect to collect it. Ask your CPA how your retainage should appear on audited or reviewed statements.
Step 6: Track retainage by job on a retainage schedule
A retainage schedule lists every job with an open retainage balance, so nothing slips through after your crew moves to the next project.
Here's a simple layout you can build in a spreadsheet or a custom report. The first row is the $200,000 job from Step 3 after all of its work has been billed.
| Job | Contract value | Rate | Retainage held to date | Release conditions | Release timing | Status |
| Riverside Office Build-Out (private job in California) | $200,000 | 10% | $20,000 | Punch list, final lien waiver, closeout documents | Within 45 days after completion (Cal. Civ. Code 8812) | Punch list open |
| Elm Street Clinic (private job in New York) | $160,000 | 5% | $8,000 | Owner's final approval of the work | Within 30 days after final approval (N.Y. Gen. Bus. Law 756-c) | Release invoice sent |
At each month-end, compare the schedule's total to the Retainage Receivable balance on your balance sheet. The two should match. If they don't, check for a release invoice that was never created or a retainage line posted to the wrong account. If you're a GC, keep a second schedule for the retainage you withhold from subcontractors, and reconcile it to your Retainage Payable balance the same way.
Step 7: Invoice and record the retainage release
Once you meet the release conditions, send a release invoice or final pay application for the retainage balance, and attach the documents the contract requires. For the Riverside job from Step 6, that's a $20,000 release invoice. Some contracts and state laws release retainage in parts, such as when the owner accepts each separately priced portion of the work. In that case, invoice each portion as it qualifies.
The release entry moves the balance from Retainage Receivable to Accounts Receivable:
| Account | Debit | Credit |
| Accounts Receivable | $20,000 | |
| Retainage Receivable | $20,000 |
When the customer pays the $20,000, debit Cash and credit Accounts Receivable. Your Retainage Receivable balance for the job drops to zero.
If you're a GC, the release works the same way in reverse. When a subcontractor meets its release conditions, move the balance from Retainage Payable to Accounts Payable, then pay it as you would any other bill. Using the $3,000 from Step 5:
| Account | Debit | Credit |
| Retainage Payable | $3,000 | |
| Accounts Payable | $3,000 |
Collect the subcontractor's final lien waiver before you send the payment. Check your state's timing rules too, since some states set short deadlines. In California, for example, a direct contractor on a private project must pay each subcontractor's share of retention within 10 days of receiving it from the owner.
What is retainage in construction?
Retainage is money the paying party withholds from each progress payment as security that the work will be finished and any defects corrected. On a typical job, it flows down the payment chain. The project owner withholds retainage from the GC, and the GC withholds retainage from its subcontractors, usually at the same percentage or less. The withheld amounts build up over the life of the job and get paid out at substantial completion, final completion, or another point the contract names.
How you record retainage depends on which side of the payment you're on. When a customer withholds it from you, it's money you've earned and billed but can't collect yet, so it goes on your books as an asset (retainage receivable). When you withhold it from someone you hired, it's money you owe but can hold until the release conditions are met, so it's a liability (retainage payable). A GC usually has both: retainage receivable from the project owner and retainage payable to its subcontractors.
Retainage vs. retainer vs. retention
The three terms sound alike, and I see them mixed up often, even in accounting software support forums. Each one calls for a different entry in your books.
| Term | What it means | How the contractor records it |
| Retainage | Part of a progress payment the customer holds back until the work is complete | An asset (Retainage Receivable), because you earned it and expect to collect it |
| Retainer | Money a customer pays upfront before you perform the work | A liability, because you have not earned it yet |
| Retention | Another name for retainage, common in the UK and Commonwealth countries and used in some US statutes, including California's | Same as retainage |
How construction retainage works
Retainage follows the progress billing cycle. Each period, you submit a pay application for the work completed, the customer approves it, and the customer pays the approved amount minus the retainage. On commercial jobs that use AIA-style pay applications, retainage appears as its own line on the application, so both sides can see the running total.
Here's how the $200,000 subcontract from Step 3 plays out over four monthly pay applications at 10% retainage:
| Pay application | Work billed this period | Retainage withheld (10%) | Net payment due | Retainage held to date |
| 1 | $50,000 | $5,000 | $45,000 | $5,000 |
| 2 | $60,000 | $6,000 | $54,000 | $11,000 |
| 3 | $50,000 | $5,000 | $45,000 | $16,000 |
| 4 | $40,000 | $4,000 | $36,000 | $20,000 |
| Total | $200,000 | $20,000 | $180,000 | $20,000 |
After the fourth pay application, you've billed $200,000 and collected $180,000. The remaining $20,000 is the balance shown for the Riverside job in Step 6, and it stays with the GC until you meet the release conditions, which can be months after your last day on site.
Retainage reduction
Many contracts lower the retainage rate once the job passes a milestone, often 50% completion. In the example above, if the contract cut retainage to 5% for the pay applications after the 50% mark, pay applications 3 and 4 would withhold $2,500 and $2,000. Total retainage would drop from $20,000 to $15,500. Reductions only apply when the contract or a state law calls for them, so read the payment terms before you change the rate on a pay application.
Retainage limits and release rules
Your contract sets the retainage rate and the release conditions, but federal and state laws can cap the rate and set deadlines for paying it out. The rules often differ between public and private projects, and many states also limit how much a GC can withhold from subcontractors.
Here are examples of how several states handle retainage. This is not a complete list, and each statute has exceptions and definitions that matter, so check the full text and your contract.
Jurisdiction and statute | Project type | Retainage limit | Release and payment rules |
| California, Public Contract Code 7201 | Public | Up to 5% of each payment and 5% of the contract price, including GC-to-subcontractor retention, with limited exceptions for complex state projects | Retention a GC withholds from a subcontractor cannot exceed the percentage the public entity withholds from the GC |
| California, Civil Code 8812, 8814, and 8818 | Private | No percentage cap in these sections | Owner pays retention within 45 days after completion; the direct contractor pays each subcontractor's share within 10 days of receiving it; wrongful withholding carries a 2% per month penalty |
| Florida, Statutes 255.078 | Public | Up to 5% of each progress payment | The public entity may release retainage early; exceptions apply, including some federally funded work |
| Montana, Code 28-2-2110 | Construction contracts covered by the state's prompt payment part | Up to 5%; a contractor cannot withhold a higher percentage from subcontractors than the owner withholds | Released on final acceptance of each portion of work with a separately stated price |
| New York, General Business Law 756-c | Private, contracts of $150,000 or more | Up to 5% of the contract sum; contractors and subcontractors cannot retain more than the owner's percentage | Owner releases retainage within 30 days after final approval of the work; late retainage accrues 1% per month interest |
| Texas, Property Code 53.101 | Private, work subject to mechanic's liens | The owner must reserve 10% of the contract price or of the value of the work completed for lien claimants | The statute also sets how long the owner holds the funds after completion, so check the current text |
How to track retainage in QuickBooks Online
QuickBooks Online doesn't automatically calculate retainage on standard invoices, but you can track it using a separate balance sheet account and a product or service item. You'll need to calculate the withheld amount manually, record it on each invoice, and track the balance until it's released.
Set up the retainage account and item
- Go to Settings (the gear icon), then Chart of accounts, and select New.
- Choose Other Current Assets as the account type and Retainage as the detail type. Name the account Retainage Receivable, then save it.
- Go to Settings, then Products and services, and select New. Choose Service.
- Name the item Retainage. Under sales information, select the option that you sell this product or service to customers, and choose Retainage Receivable as the income account. Save the item.
If you withhold retainage from subcontractors, also create a Retainage Payable account with Other Current Liabilities as the account type.
Withhold retainage on a progress invoice
- Create the invoice for the full value of the work completed this period, or create it from the project estimate if you use progress invoicing.
- On the next empty line, select the Retainage item.
- Enter the retainage as a negative amount, such as -5,000. QuickBooks doesn't calculate the percentage for you on this line, so work out the amount first.
- Save and send the invoice. The total due reflects the net amount, and the $5,000 posts to Retainage Receivable.
On the payable side, enter the subcontractor's bill for the full amount, then add a category line using the Retainage Payable account with the retainage as a negative amount. The bill total then matches the amount you will pay now.
Bill the retainage release
When the job qualifies for release, create a new invoice for the customer and add the Retainage item with a positive amount equal to the balance withheld, such as $20,000. Saving the invoice moves the amount out of Retainage Receivable and into Accounts Receivable, and you receive the payment as you would any other invoice.
Report on retainage by customer and project
Run an account QuickReport or the Transaction Detail by Account report for Retainage Receivable, and group it by customer. Intuit's support team suggests the same approach for keeping retainage balances separate from regular receivables. Memorize the report so you can run it at every month-end and compare it with your retainage schedule.
Construction features in QuickBooks Online Advanced
QuickBooks Online Advanced costs $340 per month at list price and supports up to 25 users. With the QuickBooks Construction add-on, you can organize projects into phases, prepare AIA-style progress invoices, track committed costs from purchase orders, and review Estimate vs. Actuals and work-in-progress (WIP) reports by project phase.
These features are particularly useful for contractors managing multiple projects because they provide a clearer picture of completed work, outstanding billings, and project costs. For example, you can track how much work has been billed against each phase while monitoring the costs committed to completing it.
However, project billing and retainage accounting are not the same thing. Intuit's documentation on project phases doesn't confirm a dedicated retainage calculation or tracking feature. I recommend continuing to use the separate retainage account and item setup described earlier, while verifying that the resulting entries are classified correctly in your books.
If your contracts require AIA G702 and G703 payment applications, also confirm that the generated invoices meet your customer's documentation requirements before using them for submission.
Read also: How to Set Up Advanced Settings in QuickBooks Online
Common retainage mistakes
Here are the common mistakes on retainage you should avoid:
- Recording retainage as a deposit or liability on the contractor's books: Retainage withheld from you is money you earned, so it belongs in an asset account. The liability account is for retainers that customers pay you upfront.
- Billing the net amount only: Your revenue and your receivables both come up short, and your invoices no longer match the customer's pay application.
- Losing track of release dates: Retainage often comes due months after the crew leaves the site. Without a schedule, nobody sends the release invoice.
- Withholding more from subcontractors than the owner withholds from you: Several states prohibit this, and it can strain relationships with subs you rely on.
- Missing closeout paperwork: A missing lien waiver or warranty letter can hold up the entire retainage balance. Gather the documents as the job winds down.
Frequently asked questions (FAQs)
When do I report retainage as taxable income?
It depends on your tax accounting method. Under the cash method, you generally report income when you receive the payment. Accrual-method and long-term contract rules are more involved, and the IRS Construction Industry Audit Technique Guide lists several methods contractors use, including an accrual method that defers retainage. Your tax method can differ from the method you use for your financial statements, so ask a CPA which one applies to you.
Can I charge interest or penalties on late retainage?
Often, yes, if your contract or state law allows it. New York's prompt payment law charges 1% per month interest on retainage owed on covered private contracts, and California imposes a 2% per month penalty when retention is wrongfully withheld. Check the statute that governs your project and the remedies in your contract.
Can I post security instead of having cash retainage withheld?
Some jurisdictions allow it. On California public projects, for example, Public Contract Code 22300 lets contractors deposit securities with an escrow agent in place of cash retention, and the market value of the securities must at least equal the retention amount. Some private contracts also allow a bond or letter of credit in place of retainage. Ask about it before you sign.
What happens to retainage if the contract is terminated?
The termination clause in your contract controls what you can collect, and the owner may use retainage to cover the cost of completing or correcting the work. Keep the balance in Retainage Receivable until the dispute is resolved, then write off any amount you cannot collect. Talk with a construction attorney before you assume it is lost.
Bottom line
I recommend treating retainage as its own process from the day you sign the contract. Set up separate retainage accounts, bill the gross amount on every pay application, keep a retainage schedule with release dates and the governing statute, and reconcile it to your balance sheet each month. QuickBooks Online handles that setup on any plan with invoicing, and QuickBooks Online Advanced adds phase-based AIA-style invoicing and project reports for contractors who need more detail on each job.





