Construction
Supplier Statement Reconciliation for Construction Companies (Retentions Included)
Retention is a percentage of each progress claim that the payer holds back as security until a release date. That is why a subcontractor statement and your payable ageing can both be correct and still differ.
Suppose your ledger shows $30,179.75 owing to Tarnmoor Formwork and their September statement shows $81,715.75, and that both figures are in fact correct. The difference of $51,536.00 is made up of a payment in transit and a credit note that has not been posted. Because retention is held on the account, neither item stands out when you only compare the two balances.
This walks through one quarter for one subcontractor, line by line, then covers how Vista, Sage 100 Contractor and Xero each handle retention. If closing balance and reconciling item are new terms, start with the basic method.
Both companies are made up. Amounts are AUD, ex-GST. Statement Zen makes software for this job, so weigh that; the method below works in a spreadsheet.
By Michael Usov, FounderPublished Updated 19 min read
Key takeaways
- Ask what basis the supplier bills on (gross, net of retention, or silent) before you tick anything.
- Run your ledger report with retention included. An ageing that leaves it out overstates the gap by the whole retention balance.
- On a retention contract a payment rarely equals an invoice. Match payments by remittance reference and date, not by amount.
- A credit note on a claim with retention reduces the retention held as well as the amount payable now. The example splits it at the retention rate.
- Release dates and rates come from the contract. Put them in a diary, because the supplier will not forget them.
On this page
Why does a construction statement never match the ledger?
Short answer
How do you reconcile a supplier statement when retention is held back?
Reconcile in two passes. First, compare the statement balance with your ledger balance including retention, and bridge the gap with payments in transit and unposted credit notes. Second, compare the retention you hold, claim by claim, with the supplier’s retention figure. Never compare a statement with an ageing that leaves retention out.
On a normal trade account the statement and the ledger drift apart for dull reasons: a payment in the post, a credit note nobody keyed. Construction adds a third that lasts until release. Part of every progress claim is money you owe but may not yet pay.
In our example the retention rate is 5 percent. Claim JRF-0187 is $46,380.00 gross. You pay $44,061.00 and hold back $2,319.00. The Tarnmoor statement keeps the whole claim open at its gross value until the retention is released. Your ledger may show the same claim as paid down to $2,319.00, or as paid in full, depending on where your system parks the held amount.
If your system parks retention outside the payable balance, the figure on your ageing is a different quantity from the figure on the statement. The ageing is what you can pay today. The statement is everything they have billed that has not been paid in full.
Where does retention sit in your books?
Retention, retainage and holdback are one idea with three names: the UK and Australia say retention, the US says retainage, and in Canada it is holdback. Vista is a good example of the mess. Trimble’s help uses a different one of the three for the release form, depending on the country version (checked 30 Oct 2026). If a supplier uses a term you don’t recognise, try the Academy glossary.
Find the treatment closest to your system before you start.
Vista
Per Trimble help, modified 24 May and 6 Jun 2026
- An invoice entered with retainage gets an extra sequence for the retained portion.
- That portion carries a hold code set in the company parameters.
- Released retention shows on ageing reports by its release date.
Sage 100 Contractor
US edition, per Sage help, read 30 Oct 2026
- The whole invoice is expensed when posted, and the retention withheld is not included in invoice ageing, per the help.
- Release can be per invoice or for the whole subcontract.
Xero
A common bookkeeping pattern, not Xero advice
- We found no retention field in Xero’s published help as of 30 Oct 2026.
- Bookkeepers often post the full bill plus a second negative line coded to a retentions payable liability.
- When retention is released, the supplier bills it and you code that bill to the same liability account.
So one claim can sit in a second Vista sequence, outside the Sage ageing, or behind a liability line in Xero. The supplier statement shows none of that. It shows what they billed and what they were paid.
Does a supplier statement include retention?
Here is the Tarnmoor statement for the quarter. It is a balance-forward statement with a nil opening balance. Each claim stays open at its gross value, and each payment arrives net of 5 percent retention.
A supplier statement with a nil opening balance, four gross progress claims, two payments net of retention and one credit note. The closing balance is 81,715.75. Four lines carry numbered markers.
Swipe sideways to see every column.
Tarnmoor Formwork Pty Ltd
Account MV-3380, customer Mackellar Vane Constructions Pty Ltd
Statement of account
30 Sep 2026
| Date | Reference | Description | Debit | Credit | Balance |
|---|---|---|---|---|---|
| 01 Jul | BF | Balance brought forward | 0.00 | ||
| 15 Jul | JRF-0187 | Progress claim, grossNote 1 | 46,380.00 | 46,380.00 | |
| 12 Aug | JRF-0194 | Progress claim, gross | 61,275.00 | 107,655.00 | |
| 15 Aug | PMT | Payment received, JRF-0187 less retentionNote 2 | 44,061.00 | 63,594.00 | |
| 09 Sep | JRF-0203 | Progress claim, gross | 57,840.00 | 121,434.00 | |
| 10 Sep | PMT | Payment received, JRF-0194 less retention | 58,211.25 | 63,222.75 | |
| 24 Sep | JRF-0209 | Progress claim, grossNote 3 | 21,905.00 | 85,127.75 | |
| 26 Sep | JRF-CN031 | Credit note, variation reversedNote 4 | 3,412.00 | 81,715.75 | |
| Closing balance | 81,715.75 | ||||
- Note 1The claim is billed at its gross value. The 5 percent retention, $2,319.00, is not shown anywhere on this page.
- Note 2The payment is $44,061.00, which is the claim less $2,319.00. It does not equal any invoice, so an amount match will not find it.
- Note 3The newest claim, still wholly open. Its retention is $1,095.25 and nothing has been paid against it.
- Note 4The supplier’s credit for a reversed variation, JRF-0209. It is on their statement, so check whether it is in your ledger. It reduces the claim it relates to and the retention on that claim.
The $54,948.00 you sent on 29 September is not on this page yet. As for retention, suppliers print it one of three ways.
- Gross, claims left open. The statement balance includes retention, so compare it with your ledger including retention.
- Net, with a retention line. The balance leaves the line out. Add it back, or take your held retention off your side, and note which you did.
- Silent. Ask for the retention schedule first. Inferring the supplier’s basis from the balance alone is how a $9,370.00 difference gets explained away.
The two-pass method, step by step
Retention adds a second question the balance cannot answer: do you hold the amount the supplier thinks you hold?
A flow that starts with the statement arriving, asks whether the ledger balance includes retention, adds retention back if it does not, then matches claims and payments, bridges the gap, and finally compares retention held to the supplier’s figure.
- 1Statement arrives
- 2DecisionDoes your ledger balance include held retention?Yes: go to step 4No: go to step 3
- 3Add held retention back to your ledger balance
- 4Match claims, then payments, then credit notes
- 5Bridge the remaining gap to zero
- 6DecisionDoes retention held agree with the supplier’s figure?Yes: go to step 8No: go to step 7
- 7Send the retention schedule and ask them to confirm
- 8Sign off and file the pack
Fix the cut-off and the basis
Use the statement date, 30 September in the example, as the cut-off for your ledger report. Write down whether the statement is gross or net of retention before you tick a single line.
Put retention back into your ledger balance
If your report leaves retention out, add the held amount. In the example that is $9,370.00 on top of $20,809.75 payable now (JRF-0209 less its retention), giving $30,179.75.
Tick claims, then payments
Claims match by reference and gross amount. Payments match by remittance reference and date, because each one is net of retention. If the remittance is missing, how references and part payments match covers the fallbacks.
List what is on one side only
Credit notes the supplier issued, payments you sent that have not reached them, claims you never received. For each: who fixes it, you or them, and by when.
Check the bridge sums to zero
Start from one balance, add and subtract the one-sided items, and land on the other. If anything is left over, one of your ticks is wrong.
Reconcile retention claim by claim
List each claim, its gross value, the retention rate and the amount held. Compare the total with the supplier’s schedule, not their statement balance.
The worked example: statement, ledger and bridge
Here is every line on both sides. The statement closes at $81,715.75. Your ledger, with retention held inside the balance, closes at $30,179.75. The difference is $51,536.00.
Swipe sideways to see every column.
| Reference | Status | Statement | Ledger | Note |
|---|---|---|---|---|
| JRF-0187 | Matched | 46,380.00 | 46,380.00 | Gross claim, 15 Jul |
| JRF-0194 | Matched | 61,275.00 | 61,275.00 | Gross claim, 12 Aug |
| Payment 15 Aug | Matched | −44,061.00 | −44,061.00 | JRF-0187 less retention |
| JRF-0203 | Matched | 57,840.00 | 57,840.00 | Gross claim, 9 Sep |
| Payment 10 Sep | Matched | −58,211.25 | −58,211.25 | JRF-0194 less retention |
| JRF-0209 | Matched | 21,905.00 | 21,905.00 | Gross claim, 24 Sep |
| JRF-CN031 | Missing | −3,412.00 | not listed | Credit note not yet posted by us |
| Payment 29 Sep | Missing | not listed | −54,948.00 | JRF-0203 less retention, sent, not on statement |
| Total | 81,715.75 | 30,179.75 |
In this example six of the eight lines agree, and the two that do not are for different people to sort out. The payment of $54,948.00 left your bank on 29 September but had not reached the supplier’s books when the statement was produced, so it is a timing difference rather than a mistake. The credit note for $3,412.00 has been issued by the supplier but not yet posted by you, so that one is for your team to deal with.
Show as table
| Step | Amount | Running balance |
|---|---|---|
| Ledger balance, retention included | $30,179.75 | $30,179.75 |
| Payment sent 29 Sep, not yet on the statement | +$54,948.00 | $85,127.75 |
| Credit note JRF-CN031 not yet posted | −$3,412.00 | $81,715.75 |
| Statement balance | $81,715.75 | $81,715.75 |
Post the credit note and the two sides meet. Your ledger becomes $26,767.75. The statement less the payment in transit is also $26,767.75, so pass one is finished with nothing left over.
The comparison that goes wrong
Suppose you ran a payables ageing that excludes retention and compared that with the statement. The ageing shows $20,809.75, which is claim JRF-0209 less its retention. The statement says $81,715.75. The gap looks like $60,906.00.
That is the true gap of $51,536.00 plus the $9,370.00 of retention you hold. Someone then spends an afternoon hunting for $60,906.00 of invoices that were never missing.
Pass two: retention held
Swipe sideways to see every column.
| Claim | Gross | Retention held | Paid net | Still owed incl. retention |
|---|---|---|---|---|
| JRF-0187 | 46,380.00 | 2,319.00 | 44,061.00 | 2,319.00 |
| JRF-0194 | 61,275.00 | 3,063.75 | 58,211.25 | 3,063.75 |
| JRF-0203 | 57,840.00 | 2,892.00 | 54,948.00 | 2,892.00 |
| JRF-0209 | 21,905.00 | 1,095.25 | 0.00 | 21,905.00 |
| Total | 187,400.00 | 9,370.00 | 157,220.25 | 30,179.75 |
The last column is your ledger balance, to the cent. The retention column is the figure you owe the supplier on release, and the one to compare with their retention schedule.
Now apply the credit note. JRF-CN031 is $3,412.00 and relates to JRF-0209. At 5 percent, $170.60 of it comes off the retention and $3,241.40 off the amount payable now, unless your contract says otherwise.
Swipe sideways to see every column.
| Line | Amount |
|---|---|
| Opening retention held, 1 July | 0.00 |
| Withheld on four claims | 9,370.00 |
| Released | 0.00 |
| Reduced by credit note JRF-CN031 | −170.60 |
| Closing retention held, 30 September | 9,199.40 |
The closing figure splits the $26,767.75 ledger balance into $9,199.40 of retention and $17,568.35 payable now. Check $9,199.40 against the supplier’s schedule. If their number is different, you have a second reconciliation to do, and the balance would never have told you.
What turns up besides a payment and a credit note
The example has two differences. A busy subcontractor’s month usually has more, and these are the ones that keep coming back, with the document to open for each.
Swipe sideways to see every column.
| Difference | Typical cause | Where to look | Fix |
|---|---|---|---|
| Payment in transit | Sent before the cut-off, banked after | Bank statement and remittance | Send the date and reference |
| Unposted credit note | Variation reversed by the supplier | Supplier credit note PDF | Post it, then adjust retention pro rata |
| Retention rate mismatch | Ledger holds 5 percent, supplier believes 10 | The subcontract clause | Agree the rate in writing, correct one side |
| Retention released, not paid | Release approved, payment run missed it | Release approval and payment batch | Pay it, or tell the supplier the date |
| Release not reflected | Supplier credited a release you have not booked | Supplier remittance | Book the release and match it |
| Claim dated differently | Supplier uses claim date, you used receipt date | Claim PDF | Use the claim date for cut-off |
| Claim certified below the amount claimed | Supplier claimed more than you certified, and you paid the certified amount | Payment schedule or certificate | Agree the difference claim by claim. The unpaid part is a dispute, not a timing item |
| Unapproved variation | Claim includes a variation you have not approved | Variation register and instruction | Approve it, or tell the supplier why not |
| Back-charge or contra | You set off site costs against their claim | Back-charge notice | Send the notice and amount before they chase |
| Retention held as a guarantee | Supplier gave a bank guarantee in place of cash retention | Guarantee register and the subcontract | Record that no cash is held on those claims |
| Claim missing | Never reached the inbox, or sits unapproved | Unapproved invoices and shared mailbox | Request a copy, then post it |
| Duplicate claim | Resubmitted after a query | Amount and date across the supplier | Reverse one, tell the supplier |
The chase emails for credit notes and duplicates are in missing credit notes and duplicate payments.
Part releases at practical completion
Some contracts release half the retention at practical completion and hold the rest until the defects period ends. Your clause sets the split.
On the statement the half release shows as a payment or a credit with no matching claim. The matching claims were billed months ago. Tie the release back to the retention schedule by claim, and the rollforward gets a figure in the Released line instead of zero.
How do you reconcile retention in Vista?
Vista sets retention up per company. In the company parameters you choose a retainage hold code and a retainage pay type, and after that you can apply retention when you enter an invoice. Trimble’s help (updated 6 Jun 2026) says the retained portion goes into an extra sequence on the invoice. The release form is called retention in the Australian version (Trimble help, updated 24 May 2026).
If the retention balance shows zero and you didn’t expect it to, look at the company parameters and see whether a retention pay type has been set. Trimble’s setup steps depend on that. The retained part of an invoice sits in its own sequence in Vista, so it’s normal to see a balance there while the rest of the invoice shows as paid.
The wider Vista routine is in how to reconcile Vista supplier statements.
What about retention in Xero?
We found no retention feature in Xero’s published help as of 30 Oct 2026, so people build it themselves. The usual way is a retentions payable liability account. You enter the full bill, add a second line with a negative amount for the retention (tax included), and code that line to the liability account. Later the supplier bills the release, and you code that bill to the same account. The bill then shows its balance net of retention, while the liability account holds the amount you’re keeping back.
So when you reconcile, the bill report and the liability account are two numbers. If the supplier’s statement is gross, add the two to get their balance. The Xero reports are in reconciling supplier statements in Xero.
The method is the same in QuickBooks Online. The reports for it are in reconciling supplier statements in QuickBooks Online.
Ask your accountant how the tax on that second line should be coded.
What the rules say about retention
You do not need law to reconcile a statement. You need it to know when a retention balance on your ledger turns into a liability that falls due. A balance that should have been released is a reconciling item the supplier will find before you do.
Swipe sideways to see every column.
| Jurisdiction | Usual hold | Release and records | Source |
|---|---|---|---|
| New South Wales | Usually up to 5 percent of contract value, per the NSW Government | Head contracts worth $20 million or more: trust account, and the account ledger to the subcontractor at least every 3 months, or as agreed in writing but at least every 6 | NSW Security of Payment Regulation 2020, clause 6, and Building Commission NSW |
| Queensland | The legislation caps the amount; see the QBCC page | With no defects period in the contract, release 12 months after practical completion. Subcontractors get a notice before the period ends | qbcc.qld.gov.au, reviewed 20 Feb 2024 |
| United Kingdom | Set by the contract | The Commercial Payments Bill would ban retention clauses. New clauses could still be agreed for two years after the change starts, and one agreed in that time could run for a further year. Clauses agreed earlier continue unless varied. Still a proposal | Lindsays, 30 Jul 2026 |
Where the head contract on an NSW project is worth $20 million or more, the head contractor has to give the subcontractor a ledger of its retention trust account (deposits and withdrawals) every three months. The two sides can agree a different interval in writing, but never longer than six months. Compare each ledger with your own retention figure when it arrives, because a mismatch is easier to sort out early.
The Commercial Payments Bill had not become law when this guide was last checked. It had passed the House of Lords and had its first reading in the Commons, and its progress can be followed on the Parliament page listed in the sources below. If it is passed as published, a retention clause agreed during the transition period could still run for up to three years after the transition starts. In the US, retainage is set state by state, so the rules to check are those of the state where the project is located.
What do you send a supplier when retention figures disagree?
If your retention total and theirs differ, send the schedule, not a complaint. Use a subject like “Retention held at 30 September: please confirm” and put these in the body.
- Say the 30 September statement bridges to nil once the $54,948.00 payment sent on 29 September against JRF-0203 and credit note JRF-CN031 are accounted for.
- List retention held at 5 percent: JRF-0187 2,319.00; JRF-0194 3,063.75; JRF-0203 2,892.00; JRF-0209 1,095.25. Total 9,370.00, or 9,199.40 after JRF-CN031.
- Ask them to confirm against their retention schedule, or send theirs so you can find the difference.
- Ask for the date of their last release and the clause the rate comes from.
By phone, give the cut-off date and your total, then ask for theirs and the date of the last release.
A month-end routine for retention
- Diarise practical completion and the end of the defects period for each subcontract, so releases do not surprise you.
- Record the retention rate and the clause it comes from for each subcontractor.
- Run the ledger report for the statement date, note whether it includes retention, and bridge the balance to zero.
- Update the retention rollforward: opening, withheld, released, adjusted, closing.
- Compare closing retention with the supplier’s schedule once a quarter, and confirm the figure when a release is approved.
- File the statement, the report and the bridge together.
Supplier statement reconciliation workbook
A spreadsheet for pass one. It has no retention tab, so build the rollforward from the table in the worked example.
Excel workbook (.xlsx)
The full cadence for different supplier sizes is in the month-end checklist. Retention is the line you add for suppliers on progress claims.
If an auditor asks how you know the retention balance is right, the rollforward and the supplier’s confirmation are your audit trail.
Doing this for dozens of subcontractors with Statement Zen
All of the above is for one subcontractor. With dozens, most of the time goes on finding the right report and keying lines. Statement Zen reads a forwarded supplier statement PDF and matches it against your ledger in Xero, QuickBooks Online or Vista. You can try it on one of your own statements with the free reconciliation offer. Check the retention lines by hand that first time, because retention is where ledgers differ most.
For the problems that show up on any supplier statement, see the common problems guide.
Questions people ask
Does a supplier statement include retention?
Why is my ledger lower than my subcontractor’s statement?
Should retentions payable sit in accounts payable or a separate liability?
What is the difference between retention, retainage and holdback?
How do I handle a credit note on a claim that has retention?
How do I know a retention release is not a duplicate?
When do I have to release retention, and who tells me?
Is retention being banned in the UK?
About the author
Michael Usov, Founder, Statement Zen
Michael Usov founded Statement Zen, which reconciles supplier statements against your accounts payable ledger. He also runs MRU Consulting, which builds accounts payable and ERP integrations, including for construction businesses on Viewpoint Vista. For the last fifteen years he has worked with finance controllers and AP managers in construction companies, doing and automating supplier statement reconciliation and other accounting tasks.
Sources
- NSW Government: Retention money held by head contractors, read
- NSW Building and Construction Industry Security of Payment Regulation 2020, clause 6 (contracts with a value of at least $20 million), on AustLII, read
- QBCC: Retentions and securities, read
- UK Parliament: Commercial Payments Bill [HL] (stages and news), read
- Lindsays: Construction retentions, Government presses ahead with proposed ban, read
- Trimble Viewpoint Vista help: AP Release Retainage, Retention, Holdback, read
- Trimble Viewpoint Vista help: Enable retainage for payable invoices, read
- Sage 100 Contractor help: About accounts payable retention, read
- The Happy Finance Team: Retentions payable in Xero, read
What changed
- : First published. The Queensland and New South Wales retention rules, the UK Bill’s stage and the Trimble Vista help pages were each read at the pages listed under sources on this date, and the Tarnmoor example uses invented companies. Next review due 30 Apr 2027.
Read next
- Supplier Statement Reconciliation Checklist for Month-End and Before the Payment RunThe month-end cadence table that the retention rollforward slots into.
- How to Find Missing Credit Notes and Duplicate Payments With Supplier StatementsCredit note and duplicate emails, which retention accounts need as much as any other.
- Supplier Statement Reconciliation Best Practices: 12 Habits for AP TeamsOwnership and sign-off across the whole supplier base.