Retainage on a pay app, with worked figures
Retainage is the share of each payment the GC or owner holds back until the job is finished, set as a percent in the contract, often 5% or 10%. On a pay app it is worked out on each line, on completed work and on stored materials, then added up and taken off before the amount due. It is paid out at the end, in a release.
Retainage is easy to state and easy to get wrong by a cent, which is enough for a pay app to be kicked back. This guide shows how it is figured line by line, what happens when the rate changes partway, and how a full or partial release is billed, with figures from jobs in our test set.

How retainage moves through a pay app
On the continuation sheet, every line carries its own retainage: the rate times the work to date on that line, rounded to the cent. The lines are added to give the retainage held, which goes on the summary page and comes off the total completed and stored. What is left, the total earned less retainage, is what the sub has earned in cash so far. Earlier payments come off that, and the rest is the current payment due.
So retainage is never billed and never paid during the job. It sits in the balance to finish, the last line on the summary page, until the contract says it can be released. On a pay application it shows up three times: per line, as a total, and inside the balance to finish.
A worked example: the rate drops to 5% halfway
A mechanical sub has a $200,000 contract. Retainage is 10%, and the contract lowers it to 5% for work billed from the second pay app on. Its first pay app billed $87,777.78 at 10%, held $8,777.78 and asked for $79,000. On the second pay app, for the period to May 31, 2026, the new rate applies to this period’s work only.
| Line | Scheduled value | From earlier apps | This period | Total to date | Retainage |
|---|---|---|---|---|---|
| Ductwork | 55,555.55 | 27,777.78 | 13,888.88 | 41,666.66 | 3,472.22 |
| Equipment | 120,000.00 | 60,000.00 | 30,000.00 | 90,000.00 | 7,500.00 |
| Controls | 24,444.45 | 0.00 | 12,222.23 | 12,222.23 | 611.11 |
| Totals | 200,000.00 | 87,777.78 | 56,111.11 | 143,888.89 | 11,583.33 |
Take the ductwork line. The $27,777.78 billed before keeps its 10%, $2,777.78. This period’s $13,888.88 is held at 5%, $694.44. The line holds $3,472.22. A pay app that took 5% of the whole $41,666.66 would show $2,083.33 and give back money the contract still holds.
| 4Total completed and stored to date | $143,888.89 |
| 5Retainage held | $11,583.33 |
| 6Total earned less retainage | $132,305.56 |
| 7Less previous applications | $79,000.00 |
| 8Current payment due | $53,305.56 |
| 9Balance to finish, including retainage | $67,694.44 |
Line 9, the balance to finish, is $67,694.44: the $56,111.11 of the contract still to bill plus the $11,583.33 held. That is the retainage sitting in the balance to finish, in real figures. When the release is billed at the end, line 9 falls by the amount released.
Rounding: why the rows win
Retainage is rounded on each line and the lines are added. The total can then sit a cent away from the rate times the grand total: on one of our test jobs the rows add to $679.02, while 10% of the total is $679.01. The GC checks the rows, so the summary page uses their sum. Figuring retainage once on the total is the most common way for the two pages of a pay app to disagree.
Retainage on stored materials
Some contracts hold the same rate on stored materials as on work; others set a different one, since material on site can still be damaged or lost before it is installed. The app keeps the two rates apart on the project. While materials sit in storage, the line holds retainage at the stored rate. When they are installed, the dollars move into completed work and the retainage on them follows the work rate from then on. A line’s retainage can change in a month with no new billing on it, and the continuation sheet shows why.
Terms you will meet
| Term | What it means | How it is worked out |
|---|---|---|
| Retainage rate | The percent held, from the contract | Set on the project; it can differ for work and for stored materials |
| Retainage on work | Held on installed work | Each line’s work to date times the rate in force when it was billed |
| Retainage on stored materials | Held on materials on site, not installed | Materials stored on each line times the stored rate |
| Retainage held | The total kept back to date | Both kinds, added over every line, less anything released |
| Release | Retainage paid out | An amount entered on a pay app, never more than is held |
Releasing retainage at the end
When the work is finished, the release is billed as a pay app of its own. On the drywall job from the pay application guide, the fourth pay app has no new work: all $120,000 is billed, and the $12,000 held is released. The current payment due is $12,000, earlier payments come to $108,000, and the balance to finish drops to $0.00.
A release can also be partial. A flooring sub at 5% holds $2,159.32 by its second pay app, and the GC agrees to release $850 of it. The pay app shows $1,309.32 still held and adds the $850 to the payment due. The same pay app bills a tile line by percent, 66.67%, and corrects a carpet line downward by $3,333.34; the retainage on that line drops with it.
The last payment usually goes with a conditional final waiver. Progress waivers in States such as California list retentions among the things they do not affect, which is why the final waiver matters for the retainage.
Why retainage gets a pay app kicked back
| The problem | What the app does |
|---|---|
| Retainage figured on the total, off by a cent from the rows | Rounds each line, then adds; the summary is the rows’ sum |
| A new rate applied to work already billed | Applies a rate change to later work only and keeps what is held |
| A release larger than the retainage held | Stops the pay app and shows the amount held |
| Earlier payments entered with their retainage | Carries forward what each pay app asked for, after retainage |
| Stored materials held at the wrong rate | Uses the stored rate set on the project for every stored line |
Setting it up here
- Enter the retainage rate on work and the rate on stored materials when you create the project.
- Bill each period; retainage is held on every line as you type.
- If the contract lowers the rate, change it on the project before the next pay app.
- For a release, enter the amount on the pay app; the payment due rises by that amount.
- Make the final waiver from the pay app that pays out the retainage.

Retainage questions
Is retainage the same as retention?
Yes. Some contracts and software say retention; this site says retainage.
Can the retainage rate change during a job?
Yes, if the contract allows it. Retainage already held on earlier work stays as it was, and the new rate applies to work billed from then on.
Why is my retainage a cent away from 10% of the total?
Because it is rounded on each line and then added. On one test job the rows add to $679.02 while 10% of the total is $679.01. The rows are what a GC checks.
Is retainage held on stored materials?
Where the contract says so. The app keeps a rate for stored materials apart from the rate on work, and the two can differ.
How is a retainage release billed?
As a pay app with the release entered. When all work is billed, the payment due is the retainage released, and the balance to finish drops to zero.
Can part of the retainage be released?
Yes. Enter the amount released; it can never be more than the retainage held, and the rest stays held.
Does a lien waiver cover retainage?
California’s progress forms list retentions among the things they do not affect. The final waiver goes with the final payment, which often includes the retainage.
Sources: FAR 52.232-5, Payments under Fixed-Price Construction Contracts.
Related guides
See AIA billing for the method, the schedule of values guide for setting up lines, and the conditional progress waiver for the monthly waiver that leaves retainage out.
Billing the release itself, in full or in part, has its own page: retainage release.