Retainage aging summary Worked example
How to track retainage aging by job and by owner, with a $1.35 million example
As of September 30, 2026 US dollars Example figures with round numbers
Retainage aging starts when the release comes due. On six example jobs, that clock puts $500,000 of the $1.35 million past due, and the oldest balance is 123 days late.
$500,000
past due at September 30, 2026, or 37 percent of $1.35 million in retainage
- Not yet due$850,000Developer A and school district, in progress
- 1 to 30 days$0None
- 31 to 60 days$350,000Jobs 101 and 106
- 61 to 90 days$0None
- Over 90 days$150,000Job 104
Retainage is the part of each progress payment that the owner holds until the work is done. The billing team records it on every pay application, and the controller carries it as a receivable. On a standard aging report it lands in the current column or in one lump at the bottom, because the date on the invoice says little about when the money is due.
A retainage aging report fixes that by running its clock from the release date in the contract or the statute. It also shows the retainage the contractor holds from its own subcontractors on the same jobs, because part of each release passes through to those subcontractors.
California caps retention at 5 percent and allows 60 days to release it
Federal work
FAR 32.103 and 52.232-5
- Cap
- 10%
- Held when
- Progress is not satisfactory
- Released
- At substantial completion, less what the government needs for protection
California public works
- Cap
- 5%
- Release
- 60 days after completion
- To subs
- 7 days after receipt
- Paid late
- 2% per month
- In dispute
- 150% of the disputed amount may be held
Private work
The contract
- Trigger
- The event the contract names
- Day count
- Entered once, when the contract is signed
Federal work runs under the Federal Acquisition Regulation (FAR). FAR 32.103 says a contracting officer may retain part of a progress payment when the contractor has not made satisfactory progress, decides case by case, and may not withhold more than 10 percent of the approved estimated amount. The same section says retainage should not stand in for contract management and that retained amounts are paid promptly once the work is complete.
The payment clause in federal fixed-price construction contracts, FAR 52.232-5, sets the release. When the work is substantially complete, the contracting officer keeps what the government needs for protection and releases the rest. A separately priced building or division of the work is paid without retention once it is complete and accepted.
California public works follow two sections of the Public Contract Code:
- Section 7201 caps retention at 5 percent of each payment and 5 percent of the contract price. A subcontract cannot carry a higher percentage than the prime contract. An agency can go above 5 percent on a project only after it finds, before bid, that the project is substantially complex.
- Section 7107 requires the public entity to release retention within 60 days after completion. Completion includes acceptance, or occupation and beneficial use with labor stopped. In a dispute the entity may hold up to 150 percent of the disputed amount.
- Once the prime contractor receives retention, it has seven days to pay each subcontractor its share, again with up to 150 percent of a disputed amount held back.
- Retention paid late under section 7107 carries a charge of 2 percent per month on the amount improperly withheld, and the winning side in a collection action recovers attorney's fees.
On private work, the release terms come from the contract. Each job's release trigger and day count belong in the report as data, entered once when the contract is signed.
Each job needs one row with five fields from the ledger and the contract
The report needs one row per job, built from the billing ledger and the contract file:
- Pull retainage receivable by job as of the report date. This is retainage billed less retainage collected.
- Pull retainage payable to subcontractors on the same job from the AP subledger.
- Record the release trigger date. That is the event the contract or statute names, such as substantial completion, acceptance, or a filed notice of completion. Leave it blank while the job is in progress.
- Compute the release due date as the trigger date plus the days the contract or statute allows.
- Compute days past due as the report date minus the release due date, and assign each job to a bucket.
Job 101's row: the release came due 60 days after acceptance, and by September 30 it was 47 days past due
Retainage on a job still in progress is "not yet due." Everything else ages from its release due date. A job billed in January and completed in September starts its retainage clock in September.
On the example jobs, Job 104's retainage is 123 days past due
The figures below are an example with round numbers. A general contractor has six jobs open on its books at September 30, 2026. Two are California public works at 5 percent, which is the cap in section 7201, and the subcontracts on those jobs carry 5 percent as well.
Three release clocks: each starts at completion, runs through the allowed days, then ages until the report date
Completion or acceptance Days the contract or statute allows Release due Past due, colored by bucket
Job 101 is the water district job. The district accepted it on June 15, so section 7107 put the release due date 60 days later, on August 14. By September 30 the $200,000 is 47 days past due.
Job 104 for Developer A reached substantial completion on March 31, and the contract allows 60 days for release. That retainage is 123 days past due. Job 106 for the hospital allows 30 days after completion and is 31 days past due.
Job 103 is federal. The contracting officer has found progress satisfactory on every payment, so under FAR 52.232-5 it has paid each request in full and the job carries no retainage.
Developer A holds $750,000, or 56 percent of the retainage
Two-thirds of the $500,000 past due is 31 to 60 days old, and Developer A's Job 104 holds the oldest balance
Of the $1.35 million in retainage, $500,000, or 37 percent, is past due. Two-thirds of the past-due amount is 31 to 60 days old.
Developer A holds $750,000, or 56 percent of the retainage, across two jobs. The $150,000 on Job 104 is the oldest balance in the report. Before the next billing goes to Developer A on Job 102, the project manager and the controller can agree on what is still open on Job 104, such as punch list items, closeout documents or lien waivers.
$780,000 of the $1.35 million belongs to subcontractors once it is collected
Net retainage is the receivable minus what the contractor owes its subs on the same jobs. Of the $1.35 million, $780,000 belongs to subcontractors once it is collected, which leaves $570,000 of the contractor's own money.
The contractor's own share of the retainage is $570,000
Payable to subcontractors on the same jobs Net retainage, the contractor's own
A late release on Job 101 adds $4,000 a month
On Job 101, section 7107 puts a deadline and a 2 percent monthly charge on each step of the release
On Job 101, if the water district has no dispute to point to, section 7107 adds 2 percent per month on the $200,000. That is $4,000 for each month the payment is late.
The same rule runs the other way. When the district pays, the contractor has seven days to pass $120,000 to the subcontractors on Job 101. A late payment on that share carries the same 2 percent per month, or $2,400.
Set an alert on the receipt of any retainage on a job with retainage payable. The cash team then sees the seven-day deadline on the day the money arrives.
Three of the six jobs carry past-due retainage
Every job in the example at September 30, 2026, sorted by days past due. Example figures, US dollars.
| Job | Owner | Status | Billed | Rate | Receivable | Payable to subs | Trigger | Due | Days past due |
|---|---|---|---|---|---|---|---|---|---|
| Job 104 | Developer A | Substantially complete | $3,000,000 | 5% | $150,000 | $90,000 | Mar 31 | May 30 | 123 |
| Job 101 | City water district | Accepted | $4,000,000 | 5% | $200,000 | $120,000 | Jun 15 | Aug 14 | 47 |
| Job 106 | Private hospital | Complete | $1,500,000 | 10% | $150,000 | $60,000 | Jul 31 | Aug 30 | 31 |
| Job 102 | Developer A | In progress | $6,000,000 | 10% | $600,000 | $360,000 | Blank | Blank | Not yet due |
| Job 105 | School district | In progress | $5,000,000 | 5% | $250,000 | $150,000 | Blank | Blank | Not yet due |
| Job 103 | Federal agency | In progress | $2,000,000 | 0% | $0 | $0 | Blank | Blank | No retainage |
| Total | $21,500,000 | $1,350,000 | $780,000 |
Download the data: by job, by owner, by aging bucket (CSV).
The WIP schedule counts retainage, and this report dates it
The work-in-progress schedule counts retainage inside receivables when it compares cash received to cash paid on each job. The retainage aging report splits that receivable by due date, so a job that looks cash positive on the WIP can still carry six figures of past-due retainage at closeout.
Pay applications feed both reports. The earned value post uses the same billing lines to measure schedule and cost performance.
How to start on your jobs
Pick one job that reached substantial completion in the last six months. Find the release clause in the prime contract, write down the trigger date and the day count, and compute the release due date. Then pull retainage receivable and retainage payable for that job from the ledger and enter them in the same row.
Once the row matches the ledger, add the remaining jobs and sort by days past due. Review it each month with the WIP schedule.