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.
This is the part that goes stale. The arithmetic above is only true for the year you did it. Wages move, WSIB reclassifies you, insurance renews, a truck goes. Most contractors work it out once, write it on the wall, and quote off that number for three years while their real cost climbs underneath them.
Contrax keeps the two halves connected: your rate book prices the estimate, your crew’s clocked hours and receipts land against the same job, and the job costing tells you what the hour actually cost when it closed. If your $165 is really $190, you find out on job three — not at year end.
Try it free for 7 days → No card. $150/mo for the whole company after.
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.
Doing this with software
You can run the arithmetic on this page in a spreadsheet, and plenty of good contractors do. What a spreadsheet cannot do is tell you whether the rate held once the job was built. That needs the estimate, the hours and the receipts in one place.
Is Contrax estimating software? Yes. Contrax builds a priced, scoped estimate from a walkthrough video or a written scope, using your own labour rates and material costs rather than generic pricing.
Is Contrax job costing software? Yes. Clocked crew hours, supplier invoices and receipts post against the job they belong to, so you can see estimated against actual while the job is still open.
Is Contrax bookkeeping and financial software for contractors? Yes. Contrax handles invoicing, payables, receivables, a bank feed and HST-ready books, so job costing and accounting come from the same numbers.
Is Contrax budgeting software for a construction business? Yes. Each job carries a live budget against its estimate, and the finance side rolls those up into company-wide cash flow, payables and receivables.
Is Contrax time tracking and payroll software? Yes. The crew clocks in from a phone, hours are approved by the office, and approved time feeds both job costing and payroll.
Who is it for? Renovation and trades contractors with 1–25 people, mainly in Ontario and across Canada. It is $150 CAD a month flat for the whole company — unlimited users, every module, AI included — and December is free every year. It was built in Oshawa by a contractor who still runs jobs with it.
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.

Contrax