| Account | Debit | Credit |
|---|---|---|
| The bill's cost accounts (with the job coding) | Bill total | |
| 2010 Accounts Payable | Amount due (total less retainage) | |
| 2020 Retainage Payable | Retainage |
Retainage¶
Retainage (also called retention) is part of each progress billing that is held back until the work is finished, as security that the contractor completes the job. A contractor meets it on both sides:
- Retainage receivable: the customer holds back part of what you bill. You have earned it, but you cannot collect it until the customer releases it.
- Retainage payable: you hold back part of what your subcontractors and suppliers bill you. It is a cost of the job now, but you do not pay it until you release it.
Structally keeps each side in its own balance sheet account, so retained amounts never appear as due in accounts receivable or accounts payable until they are released. This page explains the settings, how retainage is calculated and posted, and where you can see what is held. To pay or bill retained amounts, see Releasing Retainage.
Before You Begin
- Jobs & Costing is turned on for your company.
- Retainage settings and accounts are kept in Job Costing Settings. Only Company Admins can change them. See Roles and Permissions.
Navigation
Jobs & Costing → Job Costing Settings → Default Retainage.
Retainage Settings and Accounts¶
- The default percentages: Subcontracts, Purchase Orders and Customer Invoices. A Company Admin changes them with Edit.
- Retainage Payable Account: where retainage you hold on bills is recorded.
- Retainage Receivable Account: where retainage your customers hold on your billings is recorded.
| Setting | Effect | Default | Sample Company |
|---|---|---|---|
| Subcontracts | The retainage percentage a new subcontract starts with. | 10.00% | 10.00% |
| Purchase Orders | The retainage percentage a new purchase order starts with. | 0.00% | 0.00% |
| Customer Invoices | The Billing Retainage a new job starts with. New schedule of values lines and invoice lines for the job take it. | 10.00% | 10.00% |
| Retainage Payable Account | The liability account for retainage held on bills. When none exists, the card shows Create Account, which creates Retainage Payable with the first free code from 2020 to 2099. | None | 2020 · Retainage Payable |
| Retainage Receivable Account | The asset account for retainage held on invoices. Create Account creates Retainage Receivable with the first free code from 1110 to 1199. | None | 1110 · Retainage Receivable |
Percentages run from 0 to 100 with at most two decimals. A change to a default affects only commitments and jobs created afterwards.
Without a Retainage Payable account, bills show no Retainage switch and cannot hold retainage; without a Retainage Receivable account, invoices cannot hold retainage and pay applications that hold retainage cannot be accepted.
Where Each Percentage Comes From¶
| Document | Percentage Used | Can Be Changed |
|---|---|---|
| Subcontract or purchase order | The default for its kind, when the commitment is created | On the commitment; later by a commitment amendment (New Retainage). See Commitments. |
| Bill line matched to a commitment line | The commitment's retainage percentage | Yes, on the bill line, while the bill is a draft. See Entering a Bill. |
| Job | Billing Retainage, starting from Customer Invoices | On the job. See Creating and Managing Jobs. |
| Schedule of values line | The job's Billing Retainage, for both Work Retainage and Stored Materials Retainage | Yes, in a draft schedule or revision. See Schedules of Values. |
| Ordinary invoice line coded to a job | The job's Billing Retainage, filled in when you choose the job | Yes, on the invoice line. |
How Retainage Is Calculated¶
Retainage is worked out line by line: the line amount times the percentage, rounded half up to the cent. A document's retainage is the sum of its line amounts. A line can hold retainage only when it is coded to a job (Line 1 needs a job to hold retainage.).
On a pay application, work this period uses the line's Work Retainage and materials added to storage use its Stored Materials Retainage. When stored materials are installed later, the retainage held on them moves from retainage on stored materials to retainage on completed work; the total held does not change. See Pay Applications.
Retainage Payable: Bills From Subcontractors¶
When you post a bill that holds retainage, Structally records the full cost, but only the amount due goes to accounts payable:
You pay the amount due through Paying Bills as usual. The retainage stays in Retainage Payable until you release it to the vendor. A bill that is fully paid but still holds retainage shows the status Retainage Held instead of Paid:
- Retainage Held: the bill is paid except for its retainage.
- Retainage Held: the retainage still held on this bill (after any releases; a Retainage Released line appears once some is released).
- Amount Due: the total less retainage; this is what was payable.
- Open Balance: what is still unpaid of the amount due.
The vendor's page adds a Retainage Held tile (Withheld on bills until released), and the commitment's page shows its Retainage Held and Retainage Released.
- Retainage Held: the total held on the vendor's posted bills, with the number of bills (and the commitment, when there is only one).
- Release Retainage: starts a release for this vendor. See Releasing Retainage.
Retainage Receivable: Billing the Customer¶
When an invoice that holds retainage is posted, either from an accepted pay application or entered directly, Structally records the full revenue, but only the amount due goes to accounts receivable:
| Account | Debit | Credit |
|---|---|---|
| 1100 Accounts Receivable | Amount due (total less retainage) | |
| 1110 Retainage Receivable | Retainage | |
| The revenue accounts (with the job) | Invoice total |
The customer pays the amount due; the retainage waits in Retainage Receivable until you bill it with a receivable retainage release.
- Retainage Held: 10.00% of each billed line, held by the customer.
- Amount Due: what the customer pays now.
- Open Balance: 0.00; the customer has paid the amount due.
In the invoice list such an invoice shows Retainage Held. On the invoice's own page the status shows Paid next to the Pay Application 9 tag.
- Retainage Held (Withheld by the customer until released): the total, the number of invoices, and the Total outstanding (open balance plus retainage).
- Release Retainage: starts a receivable release for this customer.
Where Retainage Balances Show¶
| Where | What You See |
|---|---|
| A bill or invoice page | Retainage Held, Retainage Released (once released), Amount Due; the Retainage column on lines; the Retainage Releases card |
| The Bills and Invoices lists | The status Retainage Held for paid documents that still hold retainage |
| A vendor or customer page | The Retainage Held tile and Release Retainage |
| A commitment page | Retainage Held and Retainage Released, and the retainage of each matched bill |
| Progress Billing | The Retainage Held column for each job |
| A pay application | Retainage Held in the summary, with withheld and released |
| The job page's Billing card | Retainage Held and Total Outstanding Including Retainage |
| A customer statement | Retainage Held and Total Outstanding Including Retainage |
| Balance Sheet and Trial Balance | The balances of 1110 Retainage Receivable and 2020 Retainage Payable |
| Tie-Out | Checks that retainage held on posted bills agrees with Retainage Payable, and on posted invoices with Retainage Receivable |
Worked Example: Both Sides on J-2004¶
Job J-2004 Summit Tech Park Office Building holds 10.00% retainage on both sides.
Payable side. Precision Drywall bills its drywall work under subcontract SC-2025-000008, which holds 10.00%:
| Bill | Date | Total | Retainage (10.00%) | Amount Due | Status |
|---|---|---|---|---|---|
| BILL-2026-000122 | August 20, 2026 | 26,400.00 | 2,640.00 | 23,760.00 | Retainage Held (paid) |
| BILL-2026-000133 | September 20, 2026 | 26,400.00 | 2,640.00 | 23,760.00 | Open |
| Total | 52,800.00 | 5,280.00 | 47,520.00 |
Each bill posted:
| Account | Debit | Credit |
|---|---|---|
| 5030 Subcontractor Costs (J-2004 · 09-100 · SUB) | 26,400.00 | |
| 2010 Accounts Payable | 23,760.00 | |
| 2020 Retainage Payable | 2,640.00 |
The job carries the full $52,800.00 of drywall cost, and Precision Drywall's Retainage Held tile shows $5,280.00 (2 bills · SC-2025-000008). Across all its vendors (Brightline Electrical, Clearwater Plumbing, Overhead Roofing Co and Precision Drywall) the sample company holds $43,614.02 of retainage on October 24, 2026, which is the balance of 2020 Retainage Payable.
Receivable side. Each accepted J-2004 pay application held 10.00% of the period's billing. Application 9, for the period to August 25, 2026, billed $134,089.48 and held $13,408.94:
| Account | Debit | Credit |
|---|---|---|
| 1100 Accounts Receivable | 120,680.54 | |
| 1110 Retainage Receivable | 13,408.94 | |
| 4010 Construction Revenue (J-2004) | 134,089.48 |
After Applications 1 to 9, Summit Tech Park holds $94,946.15, the customer's Retainage Held tile above. Accepting the sent Application 10 would add $13,408.94, for $108,355.09.
Common Mistakes and Troubleshooting¶
| Message or Symptom | Why It Happens | What to Do |
|---|---|---|
| Set up retainage in Job Costing Settings before posting bills with retainage. | No Retainage Payable account exists. | A Company Admin clicks Create Account beside Retainage Payable Account. |
| Set up retainage in Job Costing Settings before posting invoices with retainage. | No Retainage Receivable account exists. | A Company Admin clicks Create Account beside Retainage Receivable Account. |
| Line 1 needs a job to hold retainage. | A line with a retainage percentage has no job. | Choose the job, or set the retainage to 0. |
| Retainage percent must be from 0 to 100 with at most two decimals. | A percentage is out of range. | Enter a value from 0 to 100. |
| No free account code from 2020 to 2099 for Retainage Payable. | Every code in that range is in use. | Free a code in the range, or ask your accountant how to number the account. |
| A bill shows Retainage Held although it is paid. | The amount due is paid; the retainage is still held. | Release it when the subcontract allows. See Releasing Retainage. |
| The default percentage changed but existing jobs did not. | Defaults apply only to commitments and jobs created afterwards. | Change the job's Billing Retainage, the schedule lines or the commitment. |