May 31, 2026

Retainage payable: what it is, how to record it, and when to release it

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.

AccountWho records itWhat it represents
Retainage receivableSubcontractors, GCsMoney owed to you that your customer is withholding
Retainage payableGCs, ownersMoney 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

AccountDebitCredit
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

AccountDebitCredit
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

Try Ramp for free
Share with
Ramp team
The Ramp team is comprised of subject matter experts who are dedicated to helping businesses of all sizes work smarter and faster.
Ramp is dedicated to helping businesses of all sizes make informed decisions. We adhere to strict editorial guidelines to ensure that our content meets and maintains our high standards.

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.

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

How the startup that helped design Ramp’s procurement agent automated its own procure-to-pay

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

Boys & Girls Clubs of San Francisco used to pay for their finance software — now it pays them

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

When Prosper put policy into its corporate travel booking flow, costs fell 15% and finance reclaimed a week every month

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

Jewish Fertility Foundation reclaimed 11 work weeks and put more time into serving families

Each member of our team has an outsized impact due to our focus on using high-leverage tools like Ramp.

Lauren Feeney

Controller, Perplexity

How Perplexity's finance team of 10 scales one of the fastest-growing AI startups

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

Brandt grew finance operations 3x with zero added accounting headcount

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

City of Ketchum saves 100+ hours to make every taxpayer dollar count

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

From 2 months to 2 days: ABB Optical's Sunshine Act compliance breakthrough