CONTRAX Start free trial
Pricing guide · Ontario · 2026

What should a contractor charge per hour?

The short answer for southern Ontario in 2026 is $150–$180 an hour as a blended shop rate for an established renovation company, with specialist trades higher.

The useful answer is the arithmetic underneath it, because that number is not a going rate you adopt — it is an output of your own costs. Two companies on the same street can honestly need rates $40 apart.

The mistake this page exists to fix: pricing labour off what you pay a carpenter. That number is roughly half of what an hour on site actually costs your business, and the gap is why crews can be booked solid all year and have nothing left at the end of it.

The four things a rate has to carry

1. The wage

What you actually pay the person. In Ontario in 2026, a competent renovation carpenter runs roughly $32–$45 an hour, a lead hand or foreman higher. This is the only part most people include, and it is the smallest.

2. Labour burden

Everything legally attached to that wage: CPP, EI, WSIB, vacation pay, statutory holidays, any benefits. In Ontario construction this commonly adds 20–35%. WSIB rates vary by classification, so use your own, not an average.

3. Overhead

The cost of existing whether or not anyone is on site:

4. Profit

Not your wage — that is already in overhead if you pay yourself. Profit is what the business earns for carrying the risk, and it is what funds a truck replacement, a slow February, or a job that goes wrong. 10–20% is a normal target in renovation work. A business running at zero profit is a job with extra paperwork and more liability.

Billable hours, not paid hours

This is the step almost everyone skips, and it is the one that changes the answer most.

A full-time tradesperson is paid about 2,080 hours a year. They do not bill 2,080 hours. Take out vacation and stats, travel between sites, supply runs, waiting on inspections, loading and unloading, cleanup, and the days there is nothing booked.

Hours in a yearTypical
Paid hours2,080
Less vacation and statutory holidays−120
Less travel, pickups, loading−250
Less downtime, weather, waiting on trades−180
Actually billable~1,530

Your overhead has to be recovered across 1,530 hours, not 2,080. Divide by the wrong number and you undercharge by about a quarter before you have made a single other mistake.

Working out your own number

An illustration, not a prescription. Put your own figures in.

StepExample
Base wage$38.00/hr
Plus burden at 28%$48.64/hr
Annual overhead$95,000
Billable hours across the crew (3 people)4,590
Overhead per billable hour$20.70/hr
Cost per billable hour$69.34/hr
Plus 15% profit$79.74/hr
Rate before markup on materials~$80/hr
So why is the market rate $150–$180? Because a shop rate is not one tradesperson's hour. It carries supervision, the estimator's time, the office, the warranty callbacks, and the reality that not every hour on a job is a productive one. The $80 above is the floor beneath which you are certainly losing money — not the number you charge.

Run the calculation anyway. What matters is not landing on a specific figure, it is knowing where your floor is, so when a client pushes back you know exactly how far you can move and when the honest answer is no.

Sanity-checking it against last year

The fastest reality check, if your books are in reasonable shape:

That is your real realised rate. If it comes out well below what you thought you were charging, the gap is unbilled extras, underestimated hours, and jobs that ran long — not your rate card. That is a different problem and no amount of raising your rate fixes it.

Charging it without losing every job

Quote the job, not the hour

Homeowners compare hourly rates and have no way to judge them. They can judge a total. Build the price from your rate, present it as a scope with a number.

Itemise

A quote broken into stages is easier to defend, easier to trim when they want it cheaper, and makes a change order feel normal rather than like a surprise bill. Show the lines; you do not have to show your margin.

Be able to say no

If you know your floor, you can turn down work below it without agonising. Taking a job at a loss to keep the crew busy is a decision you should make deliberately, if at all — not by accident because you never did the arithmetic.

Bill the extras

The best rate in the province cannot survive a habit of doing small extras for nothing. Every change gets written down and priced before it happens.

Where the time actually goes

Everything above assumes you know your hours — and most contractors do not, because hours live on paper, in texts, and in memory until payroll on Sunday night.

That is one of the things Contrax handles. Crew clock in from their phones, hours attach to the job they were worked on, and the job shows labour cost against budget while it is still open. When you go to check your realised rate at the end of the year, the number is already there instead of being reconstructed.

Know your numbers while the job is open

Estimating, clocked hours, job costing and HST-ready books in one place.

Start a free trial →

$150 CAD a month for your whole company, no per-user charge. Built in Oshawa, Ontario.

Figures reflect the southern Ontario market in 2026 and are illustrative. They are a starting point for working out your own rate, not financial or accounting advice. WSIB classifications, wage rates and overhead vary by company — use your own numbers and have your accountant check the result.