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 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:
- Trucks, fuel, insurance, maintenance
- Tools, replacement, small equipment
- Liability insurance and bonding
- Phone, software, accountant, bookkeeping
- Advertising, website, vehicle lettering
- Your own time quoting, ordering, scheduling, answering the phone
- Shop or storage, if you have it
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 year | Typical |
|---|---|
| Paid hours | 2,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.
| Step | Example |
|---|---|
| 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 |
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:
- Total revenue last year
- Minus material costs and subcontractors
- Divided by the labour hours you actually worked
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.
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.