By OptiVal Editorial Desk
What makes construction bookkeeping different
Most businesses invoice and collect. Construction projects run for months, you bill in instalments, the client holds back part of every payment, and costs land unevenly across periods, so the profit on a job is not obvious until it is nearly done. Standard “invoices minus bills” bookkeeping can lie to you about how the business is doing.
Ontario’s 10% statutory holdback
Under section 22(1) of Ontario’s Construction Act, every payer on a contract or subcontract where a lien may arise must retain a basic holdback equal to 10 per cent of the price of the services or materials as they are actually supplied, whether the agreement uses progress payments or one payment at completion.
The holdback exists so subcontractors and suppliers have a fund to claim against if liens are preserved. As of January 1, 2026, the rules got tighter: annual payment of accrued basic holdbacks is now mandatory on projects lasting more than a year. Within 14 days of each contract anniversary, the owner must publish a prescribed notice (Form 6), and the accrued holdback must be paid out 60 to 74 days after publication unless a lien prevents release. A separate finishing holdback under section 22(2) applies to work done after substantial performance.
At the end of a project, the final holdback is released once the lien period expires, roughly 60 days after the certificate of substantial performance is published or the contract ends. If a lien is preserved in that window, the holdback stays put until the lien is dealt with.
The bookkeeping implication: your cash always lags your billed revenue. It only becomes a cash flow problem when holdbacks sit uncollected past their release dates.
How holdbacks hit your books
The most common mistake is recording only the net amount you expect to collect. Do not do that. Record the full billing and track the holdback separately.
When you bill a client, record the full invoice as revenue and receivables, and move the holdback into a separate Holdback Receivable account. When it is released, clear it and debit cash. Mirror the setup for subs: their full invoice hits job costs while the retained amount sits in a Holdback Payable liability until paid.
Take a $100,000 progress invoice in Ontario: the 10% holdback is $10,000, HST goes on the reduced amount (13% on $90,000 = $11,700), so you invoice $101,700 and park $10,000 in Holdback Receivable. When the holdback is released, a separate invoice bills $10,000 plus $1,300 HST, matching the CRA’s guidance and standard industry practice.
Reconcile holdback receivable and payable every month-end. Stale holdbacks past their release date are unclaimed cash.
GST/HST on holdbacks: what CRA expects
Under subsection 168(7) of the Excise Tax Act, where a recipient retains part of the consideration pending satisfactory performance under law or a written construction agreement, tax on the holdback becomes payable on the earlier of the day it is paid out and the day the holdback period expires. Plain English: the HST on that $10,000 holdback is not due with the progress invoice. It is due when the holdback is released or its holdback period ends, whichever comes first.
Two conditions matter. The holdback must be required by law (like Ontario’s statutory holdback) or stipulated in a written agreement; an informal holdback a client just applies does not defer the tax, and the normal timing rules apply. And if you voluntarily charge HST on the holdback early, you must remit it with the return for that period.
Whoever prepares your HST filings needs to know which invoices carry holdbacks. One misclassified invoice and you remit tax early on money you will not collect for a year.
Work-in-progress: recognizing revenue as you earn it
The second habit is recognizing revenue as you earn it, not when you invoice: the percentage-of-completion method. It turns a pile of progress invoices into a meaningful profit-and-loss statement.
The formula: divide costs incurred to date by estimated total costs to get the percentage complete, then multiply by the total contract value for earned revenue.
Say a $500,000 contract will cost $400,000 and you have spent $200,000 by year-end: you are 50% complete, earned revenue to date is $250,000, and profit on the job is $50,000, whether you have billed $150,000 or $350,000. Billings and earned revenue are different numbers, and the difference is the whole point of the WIP schedule.
Compare earned revenue to billings on every open job:
- Billed more than earned? Overbilled, a liability (Billings in Excess of Costs): cash collected for work not yet performed. A little early on a job is normal mobilization; persistent overbilling means you are borrowing from future work to fund today.
- Billed less than earned? Underbilled, an asset (Costs in Excess of Billings), and a persistent pattern warns of unbilled change orders, costs racing ahead, or stale estimates.
At each month-end, post adjusting entries: debit the underbilling asset and credit construction revenue for underbilled jobs; debit revenue and credit the overbilling liability for overbilled jobs. Contractors who skip this run cash-basis books and get blindsided at year-end when a “profitable” year evaporates. A monthly WIP schedule, even a simple spreadsheet, prevents that surprise.
Update your estimated total costs every month: a stale estimate means a stale profit number. When the estimate at completion rises without a matching change in contract value, your margin is falling, and the WIP schedule shows it first.
A practical month-end routine
- Post all job costs to the right project and cost code, subs gross of holdbacks.
- Update the WIP schedule on every open job: costs to date, revised cost to complete, percentage complete, earned revenue, billed to date, over/under position.
- Post the WIP adjusting entries so the books reflect earned revenue, not just billings.
- Reconcile holdback receivable and payable; chase releases that are overdue.
- Review AR aging and confirm HST follows the holdback rules above.
For a small contractor this is an hour or two a month, and saves days at year-end.
The bottom line
Construction bookkeeping rewards contractors who track three things others ignore: holdbacks owed to them, holdbacks they owe, and where every job really stands between billed and earned. A monthly WIP schedule plus a clean holdback ledger is the difference between running on facts and running on the bank balance.
If the bookkeeping is falling behind or the year-end adjustments are getting ugly, that is what we do. OptiVal offers bookkeeping plans from $199/month (CAD, HST extra) for project-based businesses, and catch-up bookkeeping from $45/hour if months of jobs need reconstructing. Book a free consultation and bring your current job list; we will show you what your WIP schedule should look like.
