A construction invoice that handles tax and holdback
Most invoice templates are built for selling a product: description, quantity, price, tax, done. Construction is not that. You bill against work completed, tax changes with the province, and on many jobs a percentage is withheld from every payment and released much later. This one does all three, and every formula is visible so you can check it.
Excel / Google Sheets compatible · no sign-up required
Template and page last reviewed November 3, 2026.
What is in the file
| Description | Amount |
|---|---|
| Plumbing: balance to complete | $1,416.00 |
| Flooring and tile: balance to complete | $900.10 |
| Fixtures (allowance): balance to complete | $3,304.00 |
| Painting: balance to complete | $767.00 |
| CO-001 Recessed niche and glass door | $1,450.00 |
| Item | Amount |
|---|---|
| Subtotal, before tax | $7,837.10 |
| GST 5% | $391.86 |
| Invoice total | $8,228.96 |
| Holdback retained (10% of the amount before tax) | $783.71 |
| Due now | $7,445.25 |
| Contract left to bill after this invoice, before tax | $0.00 |
Four steps to a working document
Set the province once
Type the two-letter code in the province cell and the tax rate comes from the lookup table beside it — 5% in Alberta, 13% in Ontario, GST plus PST where both apply. The table is on the sheet, so when a rate changes you edit one cell rather than hunting through formulas.
Bill the work, not the job
One line per item of work completed this period, with the quantity and rate you agreed. A client who can see what moved since the last invoice queries it far less often than one handed a single number.
Withhold holdback, don't forget it
Set the holdback rate and choose its basis: before tax (the example) or including tax, as your contract says. The sheet shows holdback as its own figure and works out what is due now, so money you have earned but not been paid stays visible.
Fill in the account summary
Enter the revised contract, what you invoiced before, and what has been paid. The sheet shows what is left to bill, any earlier balance still owed, the total now due, and the holdback retained to date.
The holdback percentage, what it is calculated on, and when it can be released are set by your contract and by your province's construction or builders' lien legislation — not by this spreadsheet. The 10% shown is a common figure, not a rule. Confirm the basis with your accountant, and check how PST applies to construction work where you operate, because it differs by province.
When the spreadsheet stops scaling
In BuildersBridge each invoice is raised against the job: progress draws bill a percent of the revised contract, the province's tax is applied, partial payments are recorded, and holdback is carried per project until a release invoice collects it. Clients paying online is still in development.
See how it works in BuildersBridgeCommon questions
What should a construction invoice include?
Your business and contact details, an invoice number and date, the client and the project, the work completed in this period as separate lines, the subtotal, sales tax for the job's province, any holdback withheld, the total due, and your payment terms. On a contract with a schedule of values, bill against the same lines every period so the client can follow the running total.
How do I show holdback on an invoice?
As its own line, with the rate and the basis visible, taken off what is due now rather than off the amount billed. Reducing the amount billed loses the record of what you are still owed. This template takes it before tax by default, with an option to take it on the total including tax if your contract says so.
Should tax be charged on the holdback?
This template charges tax on the full invoice, holdback included, and a later release invoice would carry none. When tax on holdback becomes payable depends on your province and the CRA's rules, or state rules in the US, so confirm the treatment with your accountant.
Is an invoice the same as a pay application?
No. An invoice states what is owed. A pay application argues it, with the schedule of values, percentages complete and supporting documents attached for the owner or lender to verify. On larger contracts you will submit pay applications; on smaller work an invoice is usually enough.
Does this work in Google Sheets?
Yes. Upload the .xlsx to Google Drive and open it with Sheets. The VLOOKUP that pulls the provincial tax rate carries over unchanged.