
- What is retainage payable?
- Retainage payable vs. retainage receivable
- How retainage payable appears on the balance sheet
- How to record retainage payable: journal entries
- How retainage payable affects cash flow
- When retainage is released
- How to track retainage payable across multiple projects
- How Ramp handles retainage payable in AP

If you’re withholding funds from subcontractors on a construction project, that money lives on your balance sheet as retainage payable — a current liability separate from regular accounts payable (AP), and one that stays there until you formally release it against a specific project milestone or contract term.
Retainage payable is the amount a general contractor (GC) or owner owes to subcontractors but withholds until a project milestone is met. It lives alongside retainage receivable — the mirror account on the other side of the payment chain — and the two are easy to confuse. This article focuses on the payable side: what it is, how to record it correctly, and what construction finance teams most often get wrong when tracking it across multiple jobs.
What is retainage payable?
Retainage payable is the cumulative liability a contractor carries for funds withheld from subcontractor invoices. When you receive an invoice from a subcontractor and withhold a percentage of the progress payment, that withheld amount doesn’t disappear. It becomes a liability you owe and are obligated to pay once the agreed milestone is satisfied.
This is distinct from money you haven’t yet been invoiced for. Retainage payable is money you’ve been billed for, acknowledged you owe, and are intentionally holding back under contract terms.
On a construction project with retainage, a GC typically withholds the same percentage from subcontractors that the project owner withholds from the GC — most commonly 5% to 10% of each progress payment. Over the life of a multi-month project, the retainage payable balance grows with every subcontractor invoice processed.
Retainage payable vs. retainage receivable
These two accounts are mirror images of each other, and which one you carry depends on your position in the payment chain.
| Account | Who records it | What it represents |
|---|---|---|
| Retainage receivable | Subcontractors, GCs | Money owed to you that your customer is withholding |
| Retainage payable | GCs, owners | Money you owe to subs that you are withholding |
A general contractor often carries both simultaneously. You have retainage receivable from the owner (who is withholding from you) and retainage payable to your subs (who you are withholding from). On a project with multiple subcontractors, your retainage payable balance can grow across dozens of invoices before a single dollar is released.
The accounts are tracked separately because they have different release triggers and different cash flow implications. Confusing them creates balance sheet errors and makes it harder to forecast when cash will actually move.
How retainage payable appears on the balance sheet
Retainage payable is recorded as a current liability — but separately from your regular accounts payable. Most construction accountants set it up as a distinct line item, typically labeled “Retainage payable” or “Contract retention payable.”
The separation matters. Regular AP represents invoices you’ll pay within your standard payment terms — 30, 45, or 60 days. Retainage payable won’t be released for months, sometimes well past your standard AP cycle. Lumping the two together distorts your aging reports and makes it appear you have long-overdue invoices when you’re actually holding funds under contract.
Under ASC 606, the full invoiced amount (including the retainage portion) is recognized as earned revenue in the period the work is billed. The retainage payable account captures the obligation to pay the withheld portion; it doesn’t defer revenue recognition.
How to record retainage payable: journal entries
When you receive a subcontractor invoice and withhold retainage, you record the full invoice amount and split the liability between regular AP and retainage payable.
Example: You receive a $50,000 progress invoice from a subcontractor. Your contract specifies 10% retainage.
When the invoice is received
| Account | Debit | Credit |
|---|---|---|
| Subcontractor expense (or WIP) | $50,000 | |
| Accounts payable | $45,000 | |
| Retainage payable | $5,000 |
You pay the $45,000 net amount on your standard terms. The $5,000 sits in retainage payable as a liability.
When retainage is released at project completion
| Account | Debit | Credit |
|---|---|---|
| Retainage payable | $5,000 | |
| Cash / accounts payable | $5,000 |
The debit clears the liability. The credit records the payment — either directly to cash if you’re paying immediately, or to AP if the release goes through a payment run.
On a project with multiple subcontractors, this pattern repeats for every invoice. Your retainage payable balance accumulates through the project and only comes down as you process individual releases.
How retainage payable affects cash flow
Retainage payable is a liability, but it helps your cash position in the short run — you’re holding funds you technically owe. On a $2M subcontract at 10% retainage, that’s $200,000 sitting in your retainage payable account rather than paid out.
The pressure comes at project closeout. When substantial completion hits, multiple retainage releases often happen simultaneously: several subs, each with accumulated balances, all payable at once. If you haven’t been tracking per-sub, per-project balances carefully, the size of the release can catch you off guard.
The other pressure point is subcontractor relationships. Retainage payable represents real money owed to subs who’ve completed their work and are waiting to be paid. Disputes over release — whether tied to punch list items, lien waiver requirements, or project disagreements — are common. The liability stays on your books until each dispute is resolved.
When retainage is released
The trigger for releasing retainage payable depends on your contract terms. Common milestones include:
- Substantial completion: The project is functionally complete and the owner has issued a certificate of substantial completion. Most contracts allow retainage release at this point.
- Final completion and acceptance: Some contracts hold retainage until every punch list item is closed and the owner formally accepts the project.
- Lien waiver exchange: Most GCs require a conditional or unconditional lien waiver from the subcontractor before releasing retainage. The payment and the waiver are typically exchanged together.
- State statute deadlines: Many states cap retainage by statute — California and New York both limit it to 5% on qualifying private contracts, and some states prohibit retainage on public projects entirely. Prompt payment statutes in most states also set deadlines for release after substantial completion.
The release process isn’t purely an accounting task — it requires a handoff from project operations to finance. Finance needs confirmation from the project team that final completion has been approved for each sub before the payment goes out. That coordination gap is where retainage payable often stalls on the books past its due date.
How to track retainage payable across multiple projects
The challenge with retainage payable isn’t the accounting concept — it’s the operational tracking. On a single project with a few subs, a spreadsheet works. On a portfolio of active jobs, each with five to fifteen subcontractors, the balances multiply fast and manual tracking breaks down.
Common failure points:
- Retainage payable commingled with AP. If your system doesn’t distinguish the two, it’s hard to know what’s retainage and what’s a genuinely overdue invoice.
- No per-PO or per-contract visibility. You know the aggregate retainage payable balance but not how it breaks down by subcontractor or job.
- Manual release tracking. Releases get processed when someone remembers, not when the contractual trigger is met.
- ERP sync gaps. When retainage data lives outside your ERP, your balance sheet doesn’t reflect reality until someone manually updates it.
The fix is tracking retainage at the purchase order (PO) or contract level: total retained to date, total released, and outstanding balance per sub per project. That data should flow to your general ledger automatically as invoices are processed and releases are executed — not through a manual entry at month-end.
How Ramp handles retainage payable in AP
Managing retainage payable manually — negative line items, spreadsheets running parallel to your AP tool, ERP entries that don’t match — is the norm for most construction finance teams. Ramp’s Bill Pay eliminates that gap.
When you process a subcontractor invoice against a Sage Intacct-imported PO with retainage terms, Ramp automatically calculates the withheld amount at the line-item level and separates it from the net payment due. For each PO, it tracks the cumulative balance natively — total retained, total released, and outstanding — so a controller checking retainage exposure sees the full picture without a spreadsheet.
When a subcontractor finishes work and it's time to release, the release bill syncs to Sage Intacct as a retainage release — debiting retainage payable and crediting cash, exactly as the journal entries above describe. The PO's retainage balance goes to zero. Your GL stays accurate without a manual intervention.
Retainage is now natively supported in Ramp Bill Pay for customers using Sage Intacct.
Learn more about Ramp's construction accounts payable

FAQs
Accounts payable is money you owe vendors on standard payment terms — typically due in 30 to 60 days. Retainage payable is a separate liability for amounts withheld from subcontractor invoices under contract terms. The two should sit in distinct GL accounts because their timing, purpose, and release triggers are entirely different.
Yes. Retainage payable is classified as a current liability on the balance sheet because it’s expected to be released within the project lifecycle — typically within 12 months for most commercial projects. If a retainage balance won’t be released within the year, it may be reclassified as a long-term liability depending on the project timeline and your accounting policy.
Under ASC 606, the full invoiced amount — including the retainage portion — is recognized as earned revenue in the period the work is performed. The retainage payable account records the obligation to pay the withheld portion when the performance condition is satisfied; it doesn’t defer revenue recognition.
If retainage payable is lumped into regular AP, your aging reports will show invoices that appear past due when they’re actually under contractual hold. Your short-term liability picture will be distorted, and you’ll likely mistime cash flow projections around project closeout.
It depends on contract terms and applicable state law. Many states cap retainage by statute — California and New York both limit it to 5% on qualifying private contracts — and prompt payment laws in most states set deadlines for release after substantial completion. Check the rules in your state before finalizing retainage terms in subcontracts.
Don't miss these
“Browserbase builds infrastructure so AI agents can do real work. Ramp is doing the same for finance. It’s not another tool. It’s a system purpose-built for AI-driven finance, and that’s why we chose Ramp as our financial operating system from day one.”
Paul Klein IV
Founder & CEO, Browserbase

“We used to pay up to $20k a year for our AP platform. With Ramp, we’re earning back well over that amount. That's money that belongs to the mission now, not to the back-office software.”
Heidi Coffer
Chief Financial Officer, Boys & Girls Clubs of San Francisco

“The tricky thing about corporate travel policy is timing. We didn't need a stricter policy. We needed the policy to show up earlier. With Ramp Travel, it finally does.”
Keith Frantz
Director of Enterprise Risk Management, Prosper

“We're accountable to our funders, our partners, and the families we serve. That accountability starts with how we manage every dollar. Ramp makes it easy for our team to spend wisely, track in real time, and keep overhead low so more resources reach the families navigating infertility.”
Rachel Fruchtman
CFO, Jewish Fertility Foundation

“Each member of our team has an outsized impact due to our focus on using high-leverage tools like Ramp.”
Lauren Feeney
Controller, Perplexity

“With Ramp, we haven’t had to add accounting headcount to keep up with growth. The biggest takeaway is that instead of hiring our way through it, we fixed the workflow so we can keep supporting the organization as we scale.”
Melissa M.
VP of Accounting at Brandt Information Services

“In the public sector, every hour and every dollar belongs to the taxpayer. We can't afford to waste either. Ramp ensures we don't.”
Carly Ching
Finance Specialist, City of Ketchum

“Compared to our previous vendor, Ramp gave us true transaction-level granularity, making it possible for me to audit thousands of transactions in record time.”
Lisa Norris
Director of Compliance & Privacy Officer, ABB Optical




