RetainageMarch 2026 · 7 min read

Retainage Tracking in QuickBooks Online

Retainage is one of the most misunderstood concepts in construction accounting. Here is what it is, why it matters, and how to track it correctly in QuickBooks Online.

What Is Retainage?

Retainage (also called retention) is a percentage of each progress payment that the owner withholds from the contractor until the project is substantially complete. It is typically 5% to 10% of each invoice.

The purpose is to protect the project owner — they hold back a portion of the contract price to ensure the contractor finishes the job and fixes any defects before receiving full payment.

Example:

Contract: $500,000 | Retainage rate: 10%

Invoice #1: $100,000 | Amount paid: $90,000 | Retainage held: $10,000

Invoice #2: $150,000 | Amount paid: $135,000 | Retainage held: $15,000

Total retainage held: $25,000 (paid when project is complete)

Retainage Receivable vs. Retainage Payable

From the general contractor's perspective:

  • Retainage Receivable — money owed to the contractor by the project owner (asset)
  • Retainage Payable — money the contractor is withholding from their subcontractors (liability)

Both must be tracked separately from regular accounts receivable and accounts payable. If retainage is mixed in with regular AR/AP, the financial statements are misleading and the contractor cannot accurately see their cash position.

How to Track Retainage in QuickBooks Online

QBO does not have a built-in retainage feature, but you can track it with a few account setups:

Step 1 — Create Retainage Accounts

In Chart of Accounts, create:

  • Retainage Receivable — Account type: Other Current Assets
  • Retainage Payable — Account type: Other Current Liabilities

Step 2 — Create a Retainage Item

Go to Products and Services → New → Service. Name it "Retainage Withheld." Set the Income Account to Retainage Receivable. This item will be used on invoices as a negative line item.

Step 3 — Add Retainage to Invoices

On each progress invoice, add the Retainage item as a negative line:

Roofing Services — Phase 1: $100,000

Retainage Withheld (10%): -$10,000

Invoice Total: $90,000

The $10,000 goes to Retainage Receivable on the balance sheet — not income, not regular AR.

Step 4 — Release Retainage at Project Completion

When the project is complete, create a final invoice for all the withheld retainage:

Retainage Release — 123 Main St Project: $50,000

This invoice clears Retainage Receivable back to zero and creates a normal receivable for the final payment.

Why Retainage Appears on the WIP Report

A proper WIP schedule includes a retainage column. This shows how much retainage has been withheld across all active projects — which is important for the contractor's cash flow planning.

A contractor might be owed $200,000 in retainage across 10 projects. That is real money owed to them that won't show up in regular accounts receivable. Lenders and bonding companies look at this number closely.

The Problem with Manual Retainage Tracking

Manually tracking retainage across multiple projects in QBO requires careful setup and discipline. Mistakes are common — retainage ends up in regular AR, it gets forgotten on old projects, or it is calculated incorrectly on invoices.

ReconcileBook tracks retainage automatically as part of the WIP schedule — pulling the data from QuickBooks and showing retainage held per project alongside percentage complete, over/under billings, and earned revenue.

Retainage tracking built into the WIP schedule.

ReconcileBook shows retainage per project automatically — pulled live from QuickBooks Online.

Try ReconcileBook — $99/month →

Track retainage automatically

ReconcileBook includes retainage tracking in every WIP schedule — pulled directly from QuickBooks Online.

Start for $99/month →