To track retainage in QuickBooks, create a Retainage Receivable account (an Other Current Asset), create a Retainage service item mapped to it, put the withheld amount on each progress invoice as a negative line, and bill it back as a positive line when the GC releases it. QuickBooks will not calculate any of this for you. This guide walks an electrical, plumbing, masonry or drywall sub through the setup, step by step, and shows where it breaks.
TL;DR
- Retainage is money you have already earned but the GC holds back, so it is not an upfront deposit and it is not ordinary A/R.
- Set up a Retainage Receivable asset account and a Retainage service item. If you also hold retainage from your own suppliers or subs, add a Retainage Payable liability account.
- Enter the withheld amount as a negative line on every progress invoice. On release, invoice it as a positive line.
- QuickBooks Online Simple Start, Essentials and Plus have no built-in retainage feature, so you calculate the percentage yourself from the pay application.
- Reconcile the retainage balance to your job list every month, or it drifts.
Table of Contents
- What retainage is, and what it is not
- Before you start: check your QuickBooks plan
- Set up retainage in QuickBooks Online
- Set up retainage in QuickBooks Desktop
- Show retainage on a progress invoice
- Record the release
- Review and reconcile the balance
- Why retainage hurts cash flow more than it looks
- Our perspective: where QuickBooks stops and the job starts
- Keeping retainage and job data together
- Frequently asked questions
- Sources
What retainage is, and what it is not
Retainage (also called retention) is a slice of each progress payment that the GC or owner holds until the work is done. It is typically 5% to 10% of the contract payment, kept as protection against unfinished work or defects.
On a $120,000 drywall subcontract with 10% retainage, a $30,000 pay app pays you $27,000. The other $3,000 is yours on paper. You earned it. You just cannot spend it yet.
That is the line between retainage and a deposit. A deposit or retainer is invoiced before work starts and recorded as a liability, not income, then applied against a later invoice. Retainage runs the other way: it is withheld from money already earned and stays attached to the job until release.
This matters because the top results for this search are a mix of both. The QuickBooks Desktop help article on upfront deposits and retainers is about money coming in early. It will not help you with the 10% your GC is sitting on.

Before you start: check your QuickBooks plan
QuickBooks is essentially a general ledger. It has to be configured on purpose for job costing and retainage. One practical limit to know up front: Simple Start, Essentials and Plus in QuickBooks Online have no retainage feature. You set up an account and an item, and you do the math yourself. If you report on a cash basis, ask your accountant how retainage should be treated before you build anything.
Three things to settle before you touch the software:
- Which jobs carry retainage. Read the subcontract. Note the percentage, whether it drops after 50% completion, and what triggers release (substantial completion, final completion, or something else).
- Who holds retainage from you. If you withhold from your own suppliers or lower-tier subs, you need a payable side too.
- Who does the setup. Your bookkeeper or CPA should approve the accounts. Retainage affects your balance sheet and your tax picture, and that is their call.
Set up retainage in QuickBooks Online
The account structure below follows Sage's QuickBooks Online retainage documentation. It is plain bookkeeping and works whether or not you ever connect other software.
Step 1: Create the two accounts
Go to the Chart of Accounts and add:
- Retentions Receivable, type Other Current Asset, not tax-related. This holds what your customers owe you but have not yet released.
- Retentions Payable, type Other Current Liability, not tax-related. This holds what you owe your suppliers or subs but have not yet paid.
A sub with no lower-tier retainage can skip the payable account for now. Add it the first time a supplier contract holds money back from you.
Step 2: Create the retainage item
Under Products and Services, add a service item. Name it something your office will recognize: "Retainage" or "Retention/Holdbacks." Map its income side (the A/R side) to Retentions Receivable and its expense side (the A/P side) to Retentions Payable.
One item, two mappings. You will use the same item on customer invoices and, if needed, on vendor bills.
Step 3: Turn on progress invoicing
Progress invoicing lets you bill a percentage of an estimate instead of the whole thing. Whether you bill from an estimate or write each invoice by hand, the retainage line works the same way. Keep one estimate per contract so your percent-complete stays clean.
Set up retainage in QuickBooks Desktop
Desktop uses the same structure: a non-tax Other Current Asset for Retentions Receivable, a non-tax Other Current Liability for Retentions Payable, and one service item mapped to both. The menus differ. The idea is identical.
Watch the naming. Some older how-tos suggest calling the account "Retainage" and others "Retention." Pick one word and use it everywhere: accounts, items, reports and your own emails. Mixed names are how a second, empty retainage account shows up six months later.
Show retainage on a progress invoice
Here is the workflow, using the common approach Levelset describes for QuickBooks:
- Create the progress invoice for the period. Bill the full value of work completed on the pay app.
- Add a line using the Retainage item.
- Enter the withheld amount as a negative number.
- Save. QuickBooks posts the withheld amount to Retainage Receivable and leaves the rest in Accounts Receivable.
A worked example
A plumbing sub bills $48,000 for rough-in on a job with 10% retainage.
| Line | Amount |
|---|---|
| Rough-in, work completed this period | $48,000.00 |
| Retainage (10%) | -$4,800.00 |
| Invoice total (A/R) | $43,200.00 |
The $4,800 sits in Retainage Receivable. Your A/R aging shows only the $43,200 you can actually chase. That is the point. If retainage stays in regular A/R, your aging report fills up with "past due" invoices that are not past due at all, and your collections follow-up gets noisy.
Calculate the percentage from the pay application, not from memory. QuickBooks Online does not work out retainage percentages for you. If the GC's pay app says $4,800 and your invoice says $4,795, someone will spend an afternoon on it.
Common traps
- Retainage that changes mid-job. Many contracts drop the rate once the job passes a set point. QuickBooks will not know. Put the contract terms in your job notes and check them each billing cycle.
- Retainage on change orders. Apply the same rate unless the contract says otherwise, and keep the change order on its own line so the withheld amount ties back.
- Stored materials. If the GC withholds on stored material billings, the retainage line should still match the pay app, not your estimate.
- Sales tax. If a job has tax lines, ask your accountant how retainage interacts with them. Don't guess.
Record the release
When the GC releases retainage, you bill it. Create a new invoice with the Retainage item at a positive amount equal to the funds being released. That moves the money out of the Retainage Receivable asset and into regular A/R, where it ages like any other invoice. When the check arrives, receive payment against that invoice as usual.
For the $4,800 above, the release invoice shows one line: Retainage, $4,800.00. Retainage Receivable drops by $4,800. A/R goes up by $4,800. Then the payment clears it.
Two habits keep this clean:
- Write the job name and the release trigger in the invoice memo (for example, "Final retainage, punch list signed").
- Do not release in pieces from memory. If the GC releases half, bill half, and note what remains.
For the practical side of getting release invoices out and paid, see our write-up on masonry sub retainage release best practices. The advice applies to any trade.
Review and reconcile the balance
Setup is the easy part. The failure is usually six months later, when nobody can say which jobs make up the Retainage Receivable balance.
Once a month:
- Run the balance sheet and note the Retainage Receivable total.
- Build a short list by job: contract value, rate, retainage withheld to date, retainage released, balance.
- Make the list total match the account. If it does not, find the invoice with a missing or doubled retainage line.
- Flag jobs that are substantially complete, since those are the ones to chase.
This only works if your invoices are coded to jobs consistently. Good construction bookkeeping codes labor, materials and subcontractor costs to specific jobs and cost codes. If you have not set that up, start with our job costing setup checklist for small trade firms and the five steps in QuickBooks job costing for trade subcontractors.
Why retainage hurts cash flow more than it looks
Retainage is profit you have booked and cannot spend. On a $2 million year with 10% retainage, up to $200,000 can be sitting with your GCs at any moment, while you still make payroll and pay suppliers.

The risk is a false sense of health. Without a WIP schedule, contractors can feel cash-flush while they are borrowing against unearned revenue. Retainage makes this worse because the invoices look finished. Reporting that separates billed, collected and held-back money is what keeps you honest, and contractor financial reporting covers what trade businesses should track. Our own piece on why cash flow matters for subcontractors goes further.
Our perspective: where QuickBooks stops and the job starts
We have run trade businesses, and retainage is where QuickBooks and the real job part ways. QuickBooks knows the money. It does not know the job. It cannot tell you that the 10% on your electrical job drops to 5% at halfway, or that the GC promised release after the inspection passed.
So we keep two things apart. QuickBooks is the book of record: accounts, items, invoices, payments. The job record is where contract terms, change orders, percent complete and release triggers live. When those two disagree, the job record is usually right and the invoice is usually wrong.
Our advice for a small sub: do the manual setup above, and do it well. It costs nothing but an hour. Then stop relying on memory for terms. Put every retainage rate and release condition where your PM sees it when they build the next pay app. That is what job tracking is for, and it is why we sync with QuickBooks instead of replacing it.
Don't wait until closeout to find out a job is carrying $18,000 you forgot to bill.
— Dave
Keeping retainage and job data together
Subascent is job and bid management software built for specialty trade subs. It syncs with QuickBooks and tracks jobs, change orders, daily reports and profitability, so contract terms sit next to the numbers they affect. Plans are published: Starter at $49 per month, Scale at $99 per month and Pro at $179 per month, with annual billing at $490, $990 and $1,790. PDF takeoff is a paid add-on at $99 per month.

See the plans and features and decide what fits your crew size.
Frequently asked questions
Is retainage the same as a retainer in QuickBooks?
No. A retainer or upfront deposit is collected before work and held as a liability until applied to an invoice. Retainage is withheld from money you have already earned, so it is tracked as a receivable. Using the Desktop retainer workflow for retainage will put it on the wrong side of your balance sheet.
Does QuickBooks Online calculate retainage automatically?
Not on Simple Start, Essentials or Plus. You set up an account and item and enter the withheld amount yourself, based on the pay application. Check your plan and ask your accountant if you are unsure what yours supports.
Should retainage be a negative line on the invoice?
Yes, in the standard manual method. The negative Retainage line reduces the invoice total and moves the withheld amount into Retainage Receivable. On release, you bill the same item as a positive line.
Do I need a retainage payable account?
Only if you hold retainage back from your own suppliers or lower-tier subs. If you only have it withheld from you, the receivable side is enough to start.
Sources
- Track retainage in QuickBooks Online
- Track retainage in QuickBooks Desktop
- How to Do Bookkeeping for Construction Companies
- Using QuickBooks Retainers or Upfront Deposits
- QuickBooks Retainage for Southwest Florida Contractors
- Recording and Tracking Retainage Receivable
- Retainage in QuickBooks Online
- How to Track Retainage in QuickBooks Online
- Best Construction Accounting Software for Contractors
- How do I account for retention on customer payments?
- Bookkeeping Services for Construction
- Construction Accounting and QuickBooks Job Costing
- Contractor Financial Reporting: What to Track and How
