← All articles

Getting paid

Progress billing and holdback: how Canadian subcontractors actually get paid

A subcontractor filling in a progress billing template on a laptop, showing contract amount, previous billing, current billing and holdback columns.

Most subcontractors do not have a pricing problem. They have a billing problem. The work goes in, the invoice goes out, and six weeks later there is still a number sitting on the accounts receivable page that nobody can explain. Almost always it comes down to the same three things: how the draw was calculated, how much holdback came off it, and when the tax on that holdback was supposed to be paid.

None of this is complicated. It is just rarely written down anywhere a sub can read it.

What a progress draw actually is

On a fixed-price subcontract you do not invoice for hours or materials. You invoice for a percentage of a contract you have already agreed to. That is the whole idea of a progress draw: at the end of the billing period you state how complete your scope is, and you bill the difference between that number and everything you have billed before.

The arithmetic is worth spelling out because getting it backwards is the single most common reason a draw gets kicked back.

Take a $180,000 subcontract, including approved change orders. At the end of the month your scope is 45 per cent complete, and your previous draws total $54,000.

  • Work in place to date is 45 per cent of $180,000, or $81,000.
  • Less everything previously billed, $54,000.
  • This draw, before holdback, is $27,000.

Notice what you are not doing. You are not billing 45 per cent of the remaining balance, and you are not billing this month's labour and material cost. You are restating the cumulative value of the work and subtracting what has already gone out. Every change order that has been signed gets added to the contract value first — an unsigned change order is not part of the contract and does not belong in the percentage.

Holdback is not a discount

Then the general contractor holds back a slice of that draw. Every province with lien legislation requires it, and it is not a comment on your work, a negotiating position, or something a good relationship makes go away. The GC is legally required to retain it, and in most provinces they are personally on the hook if they release it early and a lien lands.

Here is where the rates sit across the provinces our calculator covers:

ProvinceHoldbackStatute
Alberta10%Prompt Payment and Construction Lien Act
British Columbia10%Builders Lien Act
Saskatchewan10%Builders' Lien Act
Manitoba7.5%Builders' Liens Act
Ontario10%Construction Act

So that $27,000 draw in Alberta comes back as $24,300. Fine. The part that catches people is what happens over the life of the job. Holdback accumulates. At 45 per cent complete on a $180,000 contract you are not owed $2,700 — you are owed $8,100, and by substantial performance you will be owed the full ten per cent of the contract. On a normal book of work, a sub running four or five jobs at once has a five-figure sum sitting in other people's bank accounts at all times, permanently.

That is working capital you have already earned and already paid your crew for. It is worth knowing the number.

The GST timing trap

This is the one that costs real money, and almost nobody gets told about it.

The instinct is to charge GST or HST on the full value of the work as you bill it, holdback included. That is usually wrong, and it is wrong in an expensive direction: it means you remit tax to the CRA on money you have not received and will not receive for months.

The CRA treats tax on a holdback as becoming payable on the earlier of the day the holdback is actually released to you and the day the lien period expires. Until one of those two things happens, the tax on that portion is not yet due. Practically, that means your progress invoice charges tax on the net amount you are actually being paid, and the tax on the holdback follows later, when the holdback does.

On our $27,000 Alberta draw that is $1,215 of GST now, on the $24,300 you are being paid, and $135 deferred on the $2,700 being held. One draw, small difference. Across a year of draws on several jobs, it is a meaningful amount of cash sitting in your account instead of the receiver general's, months earlier.

If your accounting software cannot express this, that is a software problem, not a tax problem.

When the holdback comes back

Holdback is released after the lien period expires, and the lien period starts running from substantial performance or completion, depending on the province and the wording of your contract. In Alberta the standard lien period runs 60 days; British Columbia is 45; Saskatchewan and Manitoba are 40; Ontario is 60. Some categories of work — concrete and oil and gas among them — run on their own clocks, so read your contract rather than assuming the general rule.

Two practical habits are worth more than knowing the exact statute:

  1. Diarise the date. The lien period does not start when you finish your scope. It starts when the project reaches substantial performance and, in most provinces, when that is certified and published. If nobody on your side is tracking that date, your holdback release is entirely dependent on someone at the GC remembering you exist.
  2. Invoice for it. Holdback release is not automatic in practice even where it is in law. Send an invoice for the accumulated holdback the day the lien period closes, with the tax on it, referencing the certificate. An unbilled holdback can sit for a year.

What to put on the invoice

A progress invoice that does not get questioned shows its own work. At a minimum:

  • Contract value including approved change orders, listed individually with their numbers
  • Percentage complete this period, and the value that represents
  • Less previously billed, so the running total is visible
  • This draw before holdback
  • Holdback withheld, shown as a percentage and a dollar figure
  • Tax, calculated on the net
  • Net payable this draw
  • Holdback accumulated to date

That last line is the one most subs leave off, and it is the one that quietly does the most work. It states, on every single invoice, exactly how much of your money the other party is sitting on. It makes the release conversation at the end of the job a formality instead of an argument, because the number has been on the page in front of them every month for a year.

Run your own numbers

We built a free construction holdback calculator that does all of the above — pick your province, enter the contract value, percentage complete and what you have billed before, and it works out the holdback, the tax timing and the net payable, then exports a one-page draw summary as a PDF you can take to the meeting. No signup, and nothing leaves your browser.

If you are working in the United States, the equivalent is retainage, and the rules are considerably messier — caps differ between public and private work, several states set no ceiling at all, and one prohibits retainage outright. That calculator covers all fifty states and DC.

The point

Holdback is not a fee, a penalty or a discount. It is your money, held on a schedule set by statute, and it comes back if you track it. The subs who lose it are not the ones who did bad work. They are the ones who never wrote the number down.

SubTrade handles progress billing with holdback built in, so the draw, the accumulation and the tax timing come off the job data instead of a spreadsheet somebody rebuilt from memory. Built in Calgary, Alberta, by people who have sent these invoices.

Built by a subcontractor, for subcontractors

SubTrade runs time tracking, change orders, daily logs and progress billing on one plan. 14-day trial, no credit card.

Start free trial