The job schedule says $50,000 of retainage is held. The owner has approved $30,000 for release. Someone in billing reads the $50,000, bills it, and the owner sends the whole release request back. Two weeks lost, and the $30,000 that was actually available now waits for a corrected bill.
Retainage looks like one number. It is really four: what the owner is still holding, what is approved and ready to bill, what has been billed and is unpaid, and what has been collected. The release in the opening paragraph went wrong because billing read “held” as “ready to bill.”
Check a draw: the pay application calculator shows retainage held on completed work and stored materials, and the balance to finish including retainage.
The four states of a retainage dollar
Track every retained amount by job, and for each one record which state it is in.
| State | What it means | What to keep with it |
|---|---|---|
| Held | Withheld on an approved application; release conditions not yet met | Original pay application, amount retained, release requirements from the contract |
| Ready to bill | Conditions met and the owner has approved this amount | Evidence the requirements were met, approved release amount, approver |
| Billed | Release invoice or application submitted | Invoice or application reference, date, amount, due date |
| Paid | Cash received | Receipt and the invoice it cleared |
Only “billed” belongs on a collector’s list. “Held” belongs to whoever owns closeout. “Ready to bill” belongs to project billing, and if amounts sit there for long, something in the billing handoff is broken.
How retainage builds up on each draw
On an AIA G702, retainage is calculated on completed work and on stored materials, then subtracted to reach the total earned less retainage (AIA’s G702 guide). The rate, the basis, and any reduction partway through the job come from the contract you signed. Some contracts reduce the rate once the project reaches a stated completion point. Others hold a fixed rate to the end. Read yours, and confirm with counsel where state law sets limits on public or private retainage.
The accounting is simple. Illustrative: you bill $100,000 of completed work at 10% retainage.
| Account | Debit | Credit |
|---|---|---|
| Accounts receivable, current | $90,000 | |
| Retainage receivable | $10,000 | |
| Contract billings | $100,000 |
When the owner approves and you bill a release, the amount moves from retainage receivable to current receivables, and collections can start the clock on it.
| Account | Debit | Credit |
|---|---|---|
| Accounts receivable, current | $10,000 | |
| Retainage receivable | $10,000 |
Some systems handle that reclassification through a setting rather than a separate entry. Vista’s version is covered below.
Worked example: a partial release across a project (illustrative)
A $1,000,000 contract at 10% retainage. After five applications, $500,000 of work is billed and $50,000 is held. The owner approves a release of $30,000 for the scopes that have been accepted.
| Amount | |
|---|---|
| Retainage withheld on applications 1 through 5 | $50,000 |
| Released and billed previously | $0 |
| Retainage held before this release | $50,000 |
| Approved for release now | $30,000 |
| Retainage still held after release | $20,000 |
Before you bill the $30,000, run three checks:
- Reconcile the held total to the applications. Add the retainage on each approved application. If the five applications show $10,000 each, the total is $50,000. If the ledger says something else, find the difference before billing anything.
- Subtract what was already released. A prior release billed as a separate receivable is no longer held. If you skip this step you will bill it twice.
- Bill only the approved amount, by line. If the owner approved the release for specific scopes, the release bill should show which lines it comes from.
Then send the remaining $20,000 to the closeout owner with the list of what is still missing. Give the $30,000 to AR with the invoice reference and due date once it is submitted.
The same check, in miniature
Suppose a job schedule shows $8,000 held, but a $3,000 release was billed last quarter as a separate receivable. Held is $5,000, not $8,000. Find the release invoice before entering another. If the $3,000 was billed in error, the fix is on the billed record. If the held amount on the original invoice is wrong, the fix is on that record. Those are different corrections in most systems.
How construction ERPs handle a release
Each system has its own release path. Here is what the vendors document, and what to verify in a test company before you trust it.
Sage 300 CRE: held versus billed adjustments
Sage documents different procedures for adjusting retainage still held on an original invoice and retainage that has already been billed. The held-retainage adjustment reduces the amount held without increasing the amount due on the original invoice (Sage’s guidance on adjusting held retainage). When the owner has authorized a release, use your approved billing process, not the adjustment. Before correcting a balance, confirm which state it is in and let the project accountant choose the procedure.
FOUNDATION: release through the schedule of values
FOUNDATION’s AIA billing example shows release through the schedule of values and describes moving accumulated retainage into the designated receivables account when the billing posts (FOUNDATION’s AIA billing example). That example is an end-of-contract release. For a partial release, confirm the procedure in your version and mark the approved lines. If the owner approved $1,200 on one line and nothing on another, only $1,200 should reach billed receivables.
Acumatica: Release Retainage from the source invoice
Acumatica documents a Release Retainage action on Invoices and Memos (AR301000) that opens the Release AR Retainage form (AR510000), where you review settings before running the release (Acumatica Invoices and Memos reference). Illustrative: $5,000 held, $2,000 approved. The release should bill $2,000 and leave $3,000 on the source invoice. If you can see the new bill but cannot verify the $3,000 remaining on the source, stop before sending.
Vista: Job Billing checks against open AR retainage
Trimble documents that Vista checks a Job Billing release against open AR retainage plus retainage brought over by the current bill (Trimble Job Billing retainage documentation). Illustrative: AR shows $4,000 held and the current draft adds $1,000, so $5,000 is available. A proposed $6,000 release means a prior billing is missing or an earlier release already posted. If you use separate GL accounts for regular and retained receivables, check the Release Retainage to Current A/R option; Trimble says selecting it uses the regular AR account for the released invoice (Trimble AR Release Retainage reference).
CMiC: the invoice’s origin decides the path
CMiC documents separate release workflows for invoices generated in Job Billing and invoices entered directly in AR (CMiC Job Billing release, CMiC AR release). For Job Billing invoices, verify the approved amount in the Retainage Release Amount field. When one owner approval covers invoices from both origins, split it by source invoice, release each through its own path, and confirm the two bills add to the approved total.
| System | Release starts from | Verify after release |
|---|---|---|
| Sage 300 CRE | Approved billing process; separate adjustment procedures for held vs. billed | Which record moved |
| FOUNDATION | Schedule of values lines | Only approved lines reached the receivables account |
| Acumatica | Release Retainage on the source invoice | Remaining held amount on the source |
| Vista | Job Billing, checked against open AR retainage | Amount and GL account on the released invoice |
| CMiC | Job Billing or AR, depending on origin | Bills from both paths sum to the approval |
The AP side of the same project
Everything above has a mirror image in payables. The retainage you withhold from subcontractors sits in retainage payable, tied to each subcontract. When the owner releases retainage to you, the subcontract terms decide when you release to your subs, and the final payment usually requires closeout documents and final waivers. See subcontractor compliance for the final-payment package and construction AP automation for posting retainage payable.
What goes wrong
- Billing the held total instead of the approved amount. The owner rejects the bill and the approved part waits too.
- Releasing the same retainage twice. A prior release was a separate receivable and nobody subtracted it.
- Billed retainage aging as if it were held. Or held retainage aging as if it were overdue. Either way the collector calls about the wrong thing. The construction collections guide covers keeping those apart.
- Release posted to the wrong GL account. Retained and current receivables no longer tie to the subledger.
- Partial release sweeps in unapproved lines. Always compare the posted invoice with the marked schedule of values.
Monthly retainage review
- Run retainage receivable by job and by state: held, ready to bill, billed, paid.
- Tie held retainage to the sum of retainage on approved applications, less releases.
- For each “ready to bill” amount, confirm it was billed this month or record why not.
- For each billed release, confirm the due date and pass it to collections.
- For held amounts on substantially complete jobs, list the closeout items still missing and who owns each.
- Tie retainage receivable in the subledger to the GL.
For the progress bills that create retainage in the first place, see construction billing.