How to Stop Retainage from Draining Your Cash Flow (Construction)

The Civil CFO team ponders construction retainage

A commercial GC client came to us at the end of his second quarter with what he thought was a working capital problem.

Revenue was up 18% year over year. Backlog was strong. Margins were holding. But he was tapping his line of credit every other week and couldn't figure out why.

We pulled his receivables aging and his retainage receivable schedule.

He had $1.6 million sitting in retainage. Across 14 jobs. Some of it was 11 months past the project's substantial completion date.

He didn't have a working capital problem. He had a $1.6 million accounts receivable problem and his accounting team had stopped chasing it because it was "just retainage." That's $1.6 million of his money, sitting in a customer's bank account, earning the customer's interest, on jobs that were finished.

That story is the most common cash flow issue we see in $10M-$70M construction companies. And almost none of them are tracking it the way they need to.

Let's dive in.

What retainage is, in plain English

Retainage (sometimes called retention) is the portion of a contractor's payment that the customer holds back on every progress invoice until the project is complete. Standard practice is 5%-10% of each billing. Public works projects often have it written into the contract by statute. Commercial private projects almost always negotiate some form of it.

The theory: the customer holds back 5%-10% as a guarantee that the contractor finishes the work, completes the punch list, and delivers a finished project. Once the project hits substantial completion and the punch list closes, retainage releases.

The practice: retainage release is one of the most administratively friction-loaded events in construction billing, and most contractors are losing 60-180 days of cash on every job because nobody is actively chasing it.

The math on what retainage is actually costing you

A $25M commercial GC with 5% retainage on every job is, at any given moment, sitting on roughly $1.25M of retainage receivable assuming a normal revenue mix and project duration.

If that retainage takes 90 days post-completion to release on average instead of 30 days, the contractor is funding an extra 60 days of carrying cost on the full $1.25M balance. Run the numbers: 60 days out of 365 against $1.25M is roughly $205K of working capital tied up on average, every single day, on a permanent basis.

At 8% borrowing cost on the line of credit, that's $16K per year in interest the contractor is paying to fund the customer's cash position. On a $25M business at 3% net, $16K is 2% of the year's profit. Wiped out by administrative friction.

That's the small number. The bigger one is what happens when retainage stretches past 6 months on multiple jobs at once, which is what happened to the GC above. That's when retainage stops being an interest cost and starts being a liquidity event.

We covered the broader cash flow picture in our construction cash flow management post. Retainage is one of the four largest cash levers in any construction business. And it's the one almost nobody actively manages.

Why retainage release runs late (and it's not what you think)

Most contractors blame customers for slow retainage release. Sometimes that's right. More often, it isn't.

We've worked retainage release across hundreds of jobs at this point. The same five issues account for most of the delay, and four of them are inside your business.

1. The contract didn't define the release trigger

The contract says retainage releases "upon project completion" or "upon final acceptance." Those are not events. They're concepts. Real triggers are: substantial completion certificate signed, punch list closed and signed off, final lien waivers submitted, as-builts delivered, O&M manuals handed over, training complete.

If the contract doesn't define which event triggers release, your client gets to define it. They will define it generously to themselves.

2. The punch list is still open

Six months after substantial completion there's still a door latch and a paint touch-up on the punch list. They cost you $400 of subcontractor time to fix. They're stopping $80K of retainage from releasing. Nobody on your team has prioritized closing them because they're not interesting.

3. The paperwork isn't ready

Final lien waivers from every subcontractor and supplier. Conditional and unconditional waivers, sometimes both. Final affidavits. As-builts. Closeout documents. Each one has to be in hand on the customer's terms before they cut the retainage check. Half-finished closeout packages sit on a PM's desk for weeks.

4. Nobody's chasing it

The PM is on the next job. The accounting team isn't tracking retainage release dates because the system doesn't surface them. The owner is focused on backlog. Three months after substantial completion the retainage hasn't been requested, much less paid.

5. The customer is using your money

This is the one most owners assume is the whole story. Sometimes it is, especially with developers or general contractors who are themselves cash-stretched. They have your retainage in their account. They don't want to release it. They'll find paperwork reasons not to.

Of the five, the fifth is the only one outside your control. The other four are your business. Fix those and you'll release retainage two to four months faster on average.

The four-step retainage management system

This is the system we install with every Civil CFO client in the first 90 days of an engagement. None of it is complicated. Most contractors just don't do it.

Step 1: Track retainage as a separate receivable

Stop letting retainage hide in your A/R aging like it's a normal invoice. Move it to a separate retainage receivable account in your GL. Track it by job, by retainage percentage, by substantial completion date, by expected release date.

Most contractors have retainage on their balance sheet as a single number. We want it as a schedule with one line per job. Without the schedule, you can't manage it. Without managing it, you don't release it.

Step 2: Define the release triggers in the contract before the job starts

This is where the actual money is made. Before the contract gets signed, you (or your team, or your construction attorney) writes in specific, measurable release triggers. Examples:

  • 50% of retainage releases at substantial completion certificate signing
  • The remaining 50% releases 30 days after punch list closure
  • Punch list closure is defined as: signed punch list with zero open items
  • Final 5% releases upon delivery of as-builts and O&M manuals

This level of specificity makes retainage release a checklist, not a negotiation. The customer can't drag it out indefinitely because the contract is unambiguous about what triggers what.

Step 3: Close the job out actively

Substantial completion happens. The PM's instinct is to leave the punch list open and move to the next job. That's the discipline failure that costs $200K-$500K across a portfolio.

Build a closeout protocol. Punch list closure has a deadline. Closeout package assembly is on the PM's job. As-builts and O&M manuals are non-negotiable.

We've seen contractors with detailed mobilization protocols and zero demobilization protocol. That's where retainage dies.

Step 4: Chase release on a schedule

The owner or controller pulls the retainage receivable schedule weekly. Any retainage older than the contract trigger date gets a follow-up email that day. Anything 60 days past trigger gets a phone call. Anything 120 days past gets escalated.

Just doing this on a schedule, with no system change beyond a calendar reminder, will pull $200K-$500K of cash forward for most $10M-$70M contractors in the first quarter we install it.

Retainage and bonding capacity

There's a second reason to manage retainage actively: it directly affects your bonding capacity.

Sureties look at retainage receivable as part of your working capital position. Retainage that's released on schedule looks like a healthy receivable. Retainage that's aged 180+ days looks like a collection risk and starts getting discounted in the surety's analysis.

A $25M civil contractor with $1.6M in retainage where $600K is over 180 days old will lose some portion of that $600K from the surety's working capital calculation. That's $300K-$600K of bonding capacity lost on a $5M-$10M single-job limit. Not because the contractor lost money. Because the contractor lost the receivable position.

We covered the bonding capacity math in detail in our bonding capacity post. Retainage discipline is one of the five biggest levers there.

Retainage and the WIP schedule

Retainage shows up on the WIP schedule in two places: as a portion of billings to date (since you've billed it but it's been retained), and as a portion of receivables (since the customer owes it to you).

The most common WIP mistake we see around retainage: contractors who are technically overbilled on a job but who don't realize that 5%-10% of the "billings" are retainage that won't actually be collected for months. They're showing a healthy overbilled position that's masking an actual cash problem.

A clean WIP schedule separates the retainage portion of billings from the collectible portion. So does a clean A/R aging.

What retainage discipline looks like in practice

A specialty trade contractor we work with came to us with $1.1M in retainage receivable across 18 jobs. About $400K of it was over 120 days old. We installed the four-step system in their first 60 days of the engagement.

Twelve months later: retainage receivable was $620K across 16 jobs. The dollar amount on the balance sheet dropped because they were collecting it faster, not because revenue dropped. Working capital improved by $500K with zero change to revenue, margin, or financing. Bonding capacity went up at the next surety review for the same reason.

It wasn't a new system. It wasn't software. It was a schedule, a discipline, and somebody owning it.

What we do with retainage at Civil CFO

In every engagement, retainage is one of the line items we review on the Monthly Sales and Operations Update Call. The retainage receivable schedule is part of the standard monthly CFO report. We track the age of every dollar of retainage by job. We chase release with you (and sometimes for you) the same way we'd chase any other receivable.

We've had clients pull $400K-$800K out of stale retainage in the first six months of an engagement just by paying attention to it. That's not consulting magic. It's money that was already theirs.


 

Civil CFO is the construction-pure Fractional CFO firm. Every CFO on our team has actually sat in the CFO seat at an 8 or 9-figure contractor. We work exclusively with $10M-$70M construction companies, single-owner and family-owned, trying to move from 1-3% net margin to 10%+ and build enterprise value that compounds.

Retainage is rarely the most exciting topic in a CFO conversation. It's almost always one of the most lucrative.

Frequently Asked Questions

What is retainage in construction?
Retainage (or retention) is the portion of a contractor's payment that the customer holds back on every progress invoice (typically 5%-10%) until the project is complete and all closeout obligations are met.
Why does retainage take so long to release?
Usually four reasons inside your business: vague release triggers in the contract, open punch list items, incomplete closeout paperwork, and nobody actively chasing release. The fifth reason (customer using your money) is valid but usually a smaller part of the delay than owners assume.
How do I accelerate retainage release?
Define specific release triggers in the contract before signing, close the punch list actively after substantial completion, assemble complete closeout packages quickly, and chase outstanding retainage on a weekly schedule. Most contractors find $200K-$500K of cash this way in the first quarter.
Should retainage receivables be tracked separately?
Yes. Retainage should be a separate line item in your GL and a separate schedule by job. Tracking it inside standard A/R aging makes it invisible and unmanaged.
Does retainage affect bonding capacity?
Yes. Sureties look at the age of your retainage receivable. Old retainage gets discounted in working capital analysis, which reduces bonding capacity. Active retainage management protects your surety position.
Can I negotiate retainage out of contracts?
Sometimes. Reducing retainage from 10% to 5% on private commercial work is often negotiable, especially with repeat customers or strong-balance-sheet GCs. Public work usually has retainage written into statute. The bigger lever is typically faster release, not lower retainage.