Invoice lifecycle organization

Retainage and holdback records

On a long construction or phased contract, the client often pays only part of each approved invoice and keeps the rest, typically 5% or 10%, as retainage (also called holdback). That withheld money is revenue you earned, but it sits unpaid until a milestone or final completion, and it is the easiest figure to lose track of because the invoice already looks mostly paid. Cash Workspace gives you a free place to record, per invoice, the percentage withheld, the dollar amount held back, and the date that amount is scheduled to be released, with the invoice attached to each record. This page covers retainage organization only: it is not about deposits you collect upfront, not about retainer billing, and it does not give legal advice on when or how a release can be enforced.

The problem

Why held-back money quietly disappears

Retainage is uncomfortable precisely because the invoice looks settled. You billed $20,000, the client paid $18,000, the status reads paid, and the $2,000 holdback fades from view, sometimes for six months or until the job closes out. Across a year of progress billings on several jobs, those 10% slices add up to a meaningful sum that no one is actively watching. The fix is not chasing or collection scripting; it is simply keeping a clear, separate record of every withheld slice and the date each one is due to be released, so the totals stay visible.

  • A progress invoice marked paid hides the retained slice, so the held-back amount never appears on your radar again.
  • Each job often uses a different rate (5% on one contract, 10% on another) and a different release trigger, so there is no single number to remember.
  • Release dates are tied to events months out, like substantial completion or a final inspection, that are easy to miss without a recorded date.
  • The withheld amounts live only inside individual invoice PDFs, never tallied together, so you cannot see how much retainage is outstanding across all jobs at once.

Step by step

Recording retainage as you bill

A practical routine for capturing each holdback the moment you issue a progress invoice, then revisiting the records when a release date approaches. Every figure here is entered by you; Cash Workspace does not read your invoices or calculate amounts automatically.

  1. 1

    Create one retainage record per invoice

    When you issue a progress invoice with a holdback, add a record under the job's retainage folder. Attach the invoice PDF and enter the invoice number, the gross invoiced amount, the retainage percentage, and the held-back dollar amount. One record per invoice keeps each withheld slice traceable to the document it came from.

  2. 2

    Note the release trigger and scheduled date

    Record the event that releases the holdback (for example, substantial completion, final inspection sign-off, or a 30-day period after completion) and the date you currently expect it to land. If the date is still an estimate, mark it as estimated in the note so you do not treat it as firm.

  3. 3

    Group records by job, then by status

    Keep all of a job's retainage records together, and use a status field (Held / Release due / Released) so a glance tells you which slices are still outstanding. As release dates approach, the Release due records rise to the top of your attention.

  4. 4

    Close the loop when the holdback is paid

    When a release payment arrives, attach the remittance or receipt to that invoice's retainage record, set the status to Released, and enter the date received. The record now shows the full arc from withheld to released, with both the original invoice and the release proof in one place.

  5. 5

    Tally outstanding retainage when you need the number

    Because each record carries the held-back amount and status, you can total the still-Held records per job or across all jobs whenever you want a clear picture of how much earned-but-unreleased money is outstanding. Export the records when an accountant or a job-cost review needs them.

Record structure

What to record per holdback

These are the metadata fields worth capturing on each retainage record. You type them in; the goal is that any withheld slice can be found, totaled, and traced back to its invoice and its release proof.

Invoice number and date
The progress invoice this holdback was withheld from, so the record ties back to a specific billing. Attach the invoice PDF itself.
Job / contract reference
The project or contract name and number, so all of one job's withheld slices group together (for example, Job 2026-014 Maple St Renovation).
Gross invoiced amount
The full amount billed on that invoice before the holdback was deducted, giving the base the percentage was taken from.
Retainage percentage
The withholding rate that applied to this invoice (commonly 5% or 10%), since it can differ from job to job.
Held-back amount
The dollar value withheld on this invoice, the figure that matters most. This is what you total to see outstanding retainage.
Release trigger
The contractual event that makes the holdback payable, such as substantial completion, final inspection, or punch-list sign-off.
Scheduled release date
The date you currently expect the held-back amount to be released. Flag it as estimated if the triggering event has not yet occurred.
Status
Where the slice stands: Held, Release due, or Released. The status field is what turns the folder into an at-a-glance outstanding-retainage view.
Release proof and date received
Once paid, the remittance or receipt for the release payment and the date it landed, attached to close the record.

Example setup

An example retainage folder layout

A simple structure for a contractor running two active jobs with progress billing. Folder names and record names are illustrative; adapt them to your own job numbering.

Retainage / Job 2026-014 Maple St Renovation

INV-1041 — gross $20,000, 10% withheld, held $2,000, release on substantial completion, est. 2026-10-15, status Held (invoice PDF attached). INV-1052 — gross $15,000, 10% withheld, held $1,500, status Held.

Retainage / Job 2026-009 Riverside Office Fit-Out

INV-0988 — gross $30,000, 5% withheld, held $1,500, release 30 days after final inspection, scheduled 2026-08-01, status Release due. INV-0974 — held $1,000, status Released 2026-06-20 (release remittance attached).

Retainage / _Released archive

Completed retainage records moved here once paid and confirmed, each keeping its original invoice plus the release proof, so closed jobs stay out of the active view but remain retrievable.

Retainage / _Outstanding summary

A single notes record you update by hand listing total held per job (Maple St $3,500, Riverside $1,500) for a quick read of how much retainage is still outstanding across all jobs.

Common mistakes

Common mistakes to avoid

  • Marking a progress invoice paid in full when the client only paid the non-retained portion, which erases the held-back slice from view.
  • Recording only the percentage and not the dollar amount, so you cannot total outstanding retainage without recalculating every invoice.
  • Leaving the release date blank because the triggering event is months away, instead of entering an estimated date you can revisit.
  • Mixing retainage held back from your invoices with deposits you collected upfront; they move in opposite directions and belong in separate records.
  • Filing the release payment without linking it back to the original invoice's retainage record, breaking the withheld-to-released trail.

How it helps

How Cash Workspace helps

A record per withheld slice

Create one retainage record for each progress invoice, with the percentage, held-back amount, and release date as fields, and the invoice attached. Nothing is auto-extracted; you enter the figures so they are exactly right.

Per-job folders

Group every withheld slice under its job folder so each contract's outstanding retainage stays together, separate from other jobs and from the rest of your invoice records.

Status visibility

Use a Held / Release due / Released status on each record to turn the folder into a clear view of what is still outstanding versus what has been paid out.

Attach the release proof

When a holdback is released, attach the remittance or receipt to the same record and mark it Released, keeping the full arc from billing to release in one place.

Export when needed

Hand the retainage records to your accountant or pull them into a job-cost review by exporting them, ready to read without reconstruction.

Free to use

Cash Workspace is free. You can set up retainage folders for every active job without a paid plan.

FAQ

Retainage records: common questions

What is the difference between retainage and a deposit?
A deposit is money the client pays you upfront, before work; retainage is money the client withholds from invoices you have already earned, releasing it later. They flow in opposite directions, so keep them in separate records. This page is about the held-back, earned-but-unreleased kind.
Does Cash Workspace calculate the held-back amount for me?
No. Cash Workspace does not read your invoices or compute figures. You enter the gross amount, percentage, and held-back dollar value yourself; the workspace simply organizes those fields, the attached invoice, and the release date in one record.
Can I see total outstanding retainage across all my jobs?
Yes, by your own tallying. Because each record carries the held-back amount and a status, you can total the still-Held records per job or maintain a simple summary note across jobs. The workspace stores and organizes the figures; it does not sum them automatically.
Does this tell me when I am legally entitled to a holdback release?
No. This is organizational guidance, not legal advice. The scheduled release date you record reflects your contract and your own reading of it; for questions about enforcing or disputing a release, consult the contract and an appropriate professional.

Organization only, not legal or accounting advice

Cash Workspace helps you record and organize retainage figures and release dates; it does not extract or calculate them, does not sync with your bank, and is not accounting or legal software. The release dates and triggers you record reflect your own contracts. This is organizational guidance, not legal, tax, or accounting advice, and nothing here addresses when a holdback release can be enforced. Cash Workspace is operated by HELPERG LLC; reach us at info@helperg.com.

Stop letting holdbacks slip away

Start a free Cash Workspace and create a retainage record for each progress invoice, the percentage, the held-back amount, and the release date, so every withheld slice stays visible until it is paid. It is free to set up for every active job.