Invoicing ToolsGuidesComparePricingSupportLoginRegister

Invoicing for Contractors and Trades

Guide • Canada • last updated October 2026

How contractors invoice for labour, materials, deposits and progress billing in Canada, with tax handled and a free calculator.

Contractors and trades invoice differently from service freelancers: there is labour, materials, deposits and often progress billing. This guide covers all of it, with the Canadian tax handled. Use the contractor invoice calculator and the invoice generator.

Labour, materials and tax

List labour and materials as separate line items so the client sees the breakdown. Sales tax generally applies to both, at the client's provincial rate. Keep material receipts for your records and any input tax credits.

Deposits and progress billing

For larger jobs, bill a deposit up front to fund materials and protect your cash flow, then invoice at agreed milestones. Progress billing keeps money coming in through a long project instead of waiting until the end.

Estimates and change orders

Start with a clear estimate or quote, and use change orders when the scope grows so there are no surprises at the final invoice. Document every change in writing.

Getting paid on time

State terms clearly, hold back final payment until sign-off, and offer online payment. A stated late fee keeps slow payers moving.

A worked example

A renovation in Alberta has $6,000 labour and $4,000 materials. A 30% deposit ($3,000) is billed first. The final invoice covers the balance plus 5% GST on the full $10,000, for $500 of tax.

Common mistakes to avoid

Holdbacks and final payment

On construction and renovation work it is common to hold back a percentage until the job is signed off, and in some provinces construction holdbacks are governed by legislation. Build any holdback into your schedule so your final invoice reflects it, and release it only when the work is accepted. This protects both sides and keeps the last payment moving.

Tax on labour and materials

Sales tax generally applies to both labour and materials at the client's provincial rate, but the treatment of supplied versus client-provided materials can differ. Keep material invoices so you can claim input tax credits on the tax you paid, and show labour and materials as separate lines so the client sees the breakdown.

Change orders that prevent disputes

Scope changes are the top cause of contractor payment fights. The fix is a written change order for every addition, stating the new work and its price, approved before you do it. Then your final invoice is simply the quote plus documented change orders, with nothing to argue about.

A contractor billing checklist

Protecting cash flow on long jobs

The biggest financial risk in trades work is carrying a client's costs for weeks while you wait to be paid at the end. Deposits and progress invoicing solve this: the deposit funds materials, and each milestone invoice keeps money arriving as the work advances. Structure the schedule so you are never far ahead of what you have been paid for.

On larger projects, be aware of provincial construction holdback rules, which can require a portion to be held until the job is certified complete. Build that into your schedule so the final invoice is no surprise.

Contractor cash-flow checklist

Frequently asked questions

How do contractors invoice for labour and materials?

List labour and materials as separate line items so the client sees the breakdown, and apply the client's provincial sales tax to the total. Keep material receipts for your records and any input tax credits. Billing a deposit first protects your cash flow.

Should I take a deposit before starting a contracting job?

Yes, on anything substantial. A deposit of 20% to 50% funds materials, confirms the client is committed, and means you are never fully exposed. State clearly how the deposit applies to the final total.

What is a holdback on a construction invoice?

A holdback is a percentage the client retains until the work is certified complete, and in several provinces construction holdbacks are set by legislation. Build it into your billing schedule so your final invoice reflects it and the last payment is released on sign-off.

Related tools and pages