Skip to main content
2,200+ contractors in the research universe benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level
Cash Flow

You Have $180K in Retainage Scattered Across 14 Projects. You Forgot to Chase It.

Sam YangEx-CFO across trades, SaaS & services · $2.5B in total PE/banking transactions · Stanford MBA
Updated October 7, 2026·Originally published April 30, 2026·8 minute read
Share

A retainage tracking playbook

Retainage held before its contractual release date is structural cash drag. After that date, it can also be past due. Illustrative math: $10M of retainage-bearing billings at 5-10% retainage, held an assumed 6 months on average, leaves about $250-500K sitting with GCs. Without a release process, that cash waits on someone remembering to ask.

Sam Yang, Founder of Level

8 minute readCash Flow

If this is you

Fictional scenario: a contractor runs a retainage report quarterly, when someone remembers. One day the owner realizes $180K is sitting with GCs across 14 projects and nobody has been chasing it. Some of it has been held 9 months, and on some projects the lien or bond-claim deadline may already have passed.

Retainage is cash drag that is easy to leave out of the plan. On many commercial contracts, the GC holds back a percentage of each progress payment until substantial or final completion. The rate is often written at 5% or 10%, and some states cap it by statute. Release can come weeks or months after completion, depending on the contract and on when the owner releases retainage to the GC.

Estimate your own balance with one formula: annual retainage-bearing billings × retainage % × average months held ÷ 12 (a steady-flow approximation). Illustrative assumption: a contractor with $10M of retainage-bearing billings at 5-10%, holding each retained dollar an average of 6 months, carries about $250-500K. If only part of your revenue carries retainage, use only that part. That cash is billed but not collected, and it is easy to miss when it sits outside the regular AR aging report.

Here's the system that finds it, releases it, and stops the bleeding.

Why retainage is invisible to most contractors

The way retainage works: you invoice $100K of progress on a job. The GC pays you $90K, holds $10K back as retainage. That $10K sits in their books as "retainage payable" until the project is substantially complete and you submit a final pay application.

In your accounting system:

  • Billing, earned revenue and tax recognition are separate. If $100K of work is earned under the applicable book method, recognize that earned amount; the invoice alone does not establish it. Tax treatment also depends on the method and whether the right to retainage is fixed. Cash-method recognition follows collections.
  • $90K hit your bank
  • $10K is sitting somewhere, usually in an "Accounts Receivable - Retainage" account

In many setups that account isn't part of the normal AR aging, and the default aging report may show only regular receivables. Retainage then needs its own report, which is easy to skip. Check how your system treats it before assuming either way.

Result: $10K can become $30K, then $100K, then $300K, scattered across active and completed projects and easy to forget.

The math on what retainage costs you

Two costs:

1. Cost of capital

Unless your contract or state law requires interest on retainage or an escrow, retainage works like an interest-free loan from you to the GC. At an illustrative 8% cost of capital, every $1M of retainage carried for a year costs $80K. Use your actual borrowing rate or opportunity cost.

For the illustrative $10M contractor above carrying $250-500K, that's $20-40K/year of financing or opportunity cost. It is a carrying cost, not lost margin or a write-off, because the revenue is already billed. Collecting retainage faster is mainly a one-time reduction in the balance. The recurring saving is only the financing cost on the lower balance.

2. Bad debt rate

The bigger risk is what happens to retainage you don't actively chase. This article has no sourced loss rate for untracked retainage, so measure your own. Ways it gets lost:

  • Contracts get amended and your retainage portion gets renegotiated downward
  • Substantial completion is disputed (the GC argues you owe punch list work to release retainage)
  • The GC fails or is acquired and your retainage gets entangled in their AP issues
  • Statute of limitations expires on your right to demand payment
  • You move on emotionally and accept the haircut as "that's just how this industry works"

Measure your own loss rate on a matched population. Take retainage on projects that reached final resolution in the same window (released, settled or written off). Divide the amount written off or conceded below the contracted retainage by the total contracted retainage on those same projects. Exclude still-open projects from the ratio and report them separately, so a slow release is not counted as a loss.

Fictional example: 20 closed projects carried $400K of contracted retainage. $376K was paid and $24K was written off or conceded in settlement. The realized loss rate for that cohort is $24K ÷ $400K = 6%. That is a fictional cohort, not an observed company result or industry rate. It is a loss on balances, not an annual figure, unless you divide by the years covered.

The only cost computed directly above is the illustrative $20-40K/year of carrying cost. Add your own measured loss experience separately rather than an assumed industry percentage.

The tracking system

You need a separate retainage tracker. It can live in your accounting system (if your software supports it cleanly) or in a dedicated spreadsheet. Either way, every active and recently-completed project needs:

FieldWhy it matters
Project nameIdentification
GC / customerWho owes you
Contract amountTotal project value
% retainageContract rate; check any state statutory cap
Retainage held to dateWhat they currently owe you
Substantial completion dateRelease trigger under many contracts; confirm the contract's actual trigger
Days since substantial completionAging trigger
Punch list statusReason retainage might be held
Lien rights expirationState-specific deadline; record the trigger (last furnishing, completion or recorded notice) and the date
Preliminary notice / bond-claim deadlinesNotices can be required early, and public projects often rely on payment-bond claims rather than liens
Last contact dateReminder cadence trigger

Update weekly. Review monthly with your project managers and accounting team.

Free benchmark review

See how your cash cycle benchmarks.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

The 4-stage release playbook

Retainage release isn't passive. It requires deliberate process at each stage of the project lifecycle.

Stage 1: 60 days BEFORE substantial completion

Send a "preparation for closeout" letter to the GC. Include:

  • Anticipated substantial completion date
  • List of remaining work / punch list items
  • Required closeout documentation you'll provide (warranties, O&M manuals, lien waivers)
  • Timeline for retainage release after substantial completion

This signals you're tracking it and forces the GC to start their internal process early.

Stage 2: At substantial completion

Submit:

  • Application for payment with explicit "retainage release" language
  • All required closeout docs
  • Conditional lien waiver in the form your state requires, where one is prescribed (hold the unconditional waiver until payment actually clears)
  • Punch list completion certifications

Read the release timing in your contract and in any applicable state prompt-payment or retainage statute; no typical release window is claimed here. Mark the date and follow up.

Stage 3: 30-60 days post-substantial completion

If retainage hasn't been released, escalate:

  • Direct call to project manager (don't just email)
  • If no resolution in 14 days, escalate to GC's CFO or operations VP
  • Reference the contract clause about retainage release timeline

Escalating on the documented date keeps the record clean for later remedies. Don't wait.

Stage 4: Escalate before the earliest applicable lien, notice or bond deadline

The trigger for this stage is each project's lien, notice and bond-claim deadline field, not a fixed day count. In some states the lien clock runs from last furnishing or from a recorded notice of completion. That deadline can expire before retainage is even due, so waiting 90 days after substantial completion can forfeit the remedy. If retainage is still not released as the earliest deadline approaches, you're in dispute territory. Options:

  • File a mechanic's lien if the lien window is still open in your state and counsel confirms that any required notices were served. On private projects the lien attaches to the property and can force a resolution. On public projects, look at the payment bond instead.
  • Send a formal demand letter referencing breach of contract, lien rights, and intent to pursue legal remedies if not paid by a specific date.
  • Consider arbitration or small claims depending on amount and contract terms.

The mechanic's lien is the contractor superpower, but only while it is still available. Retainage that nobody asks about is easy for any payer to deprioritize. No response time to a lien filing is claimed here.

State-specific lien windows

The biggest mistake contractors make: missing the lien window. State law gives you a specific timeframe to file a lien after a statutory trigger, such as your last furnishing, completion of the contract or a recorded notice. After that, lien rights expire, and you may have contract or bond-claim remedies, whose leverage depends on the project and surety.

State examples checked against the linked primary provisions on October 7, 2026 where text was accessible. These are deadline checks, not a complete lien-perfection guide. Preliminary notices, claimant tier, contract date and public versus private work can change the answer.

  • California: start with Civil Code section 8412 for direct contractors and section 8414 for other claimants. Confirm the completion trigger and whether a recorded completion or cessation notice shortens the window. The official text could not be fetched during this review, so no current deadline is asserted here.
  • Texas: Property Code section 53.052 distinguishes general filing windows from a non-original contractor's retainage claim. Subsection (d) gives that retainage claimant the 15th day of the third month after the month the original contract was completed, terminated or abandoned. The enrolled HB 2237 text, section 8 retains a fourth-month general nonresidential affidavit window and a separate third-month retainage window. Do not confuse affidavit filing with the third-month/second-month notice rules in section 53.056. Separate retainage notices also matter; have counsel apply the current rules to your contract and claimant status.
  • Florida: section 713.08(5) generally requires recording within 90 days after final furnishing, with an earlier termination limitation in specified circumstances. Notice-to-owner and service requirements must be checked separately.
  • New York: Lien Law section 10 has general eight-month and single-family four-month provisions, plus a specific retainage provision allowing filing within 90 days after retainage was due to be released. Use the applicable retainage trigger, not a generic residential/commercial shorthand.
  • Other states: record the exact statutory trigger, required notices and filing date. Do not infer the window from the project's completion date alone.

Track this on every project. Once the window closes, you lose the lien remedy. Contract and bond claims may remain; their leverage depends on the project and surety.

The implementation: 30-day setup

If you don't have a retainage tracker:

Week 1: Pull every active and recently-completed project. Compile the tracker fields above, starting with the legal deadline columns, so any project near a lien or bond-claim deadline goes to counsel first.

Week 2: Assign ownership. Someone, usually a project administrator or controller, owns the weekly review and escalation cadence.

Week 3: Send "preparation for closeout" letters to GCs on projects within 60 days of substantial completion.

Week 4: Send retainage status requests to GCs holding retainage from completed projects. Some may release once the request and closeout documents are in front of them. Record each response.

After 30 days, measure the result instead of assuming it. Track four things: retainage released in the period, retainage still held by age since the release trigger, projects with a documented blocker, and projects within 30 days of a legal deadline. No typical first-month release amount is claimed here. Released retainage is a one-time cash conversion of revenue already billed, not new recurring profit.

Why accepted-work retainage can be an easier collections win

Compared to chasing disputed past-due invoices, retainage on accepted work can be easier to collect:

  • When punch list and closeout are complete, the work itself is often not in dispute. Confirm this first, because disputed completion is a common reason retainage is held.
  • You're not asking them to pay something extra
  • You're just asking them to release what they already agreed to hold temporarily
  • The contract's release terms tell you what is owed and when

When retainage on accepted work goes uncollected, a common cause is that nobody is tracking it. Set up the tracker, run the playbook, and compare the realized loss rate on closed projects before and after, using the matched-cohort definition above. No typical recovery percentage is claimed here.

Find your collection gap in 2 minutes or book a free first call to discuss your retainage tracker and release cadence; a detailed review follows agreed access and scope.

Share

Get the next one

Want next week's benchmark in your inbox?

One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.

Sam Yang

About the author

Sam Yang

Founder & CEO

Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.

LinkedIn

See how your cash cycle benchmarks.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

2,200+ businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. Start with a 15-min call. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.