Ontario / Practical guides

Find out what an hour of your crew actually costs before you quote another job

The wage is roughly half what a worker costs. Add the employer side, the truck, the tools and the insurance, divide it across the hours you can actually invoice, and get a floor under your rate before the quote goes out.

Browse all Ontario guides
OntarioUpdated 5 August 20267 minute read

Put this into practice

Build the offer

Connect the scope, price, assumptions, and client response in one working proposal.

Build the offer

Ask a contractor what a worker costs and you get the wage. It is the number on the cheque, it is the number in their head, and it is the number that ends up multiplied by hours in a quote. It is also nowhere near what that person costs, and the gap is where a busy year turns into no money at the end of it.

This page works out the real number: wage plus everything you pay on top of it, plus the truck and the tools and the insurance, divided across the hours you can actually invoice rather than the hours you pay for. By the end you will have a floor under your labour rate, and you will know whether the rate on your current quote clears it.

How contractors describe the problem

The clearest statement of it, from a plumber with 194 upvotes agreeing:

"If you think charging $40 an hour means you pocket $40 an hour, you’re already losing money."

a plumber on r/Construction

What it looks like from the inside, before anyone has worked out why:

"I’ve never ran a job on my own but I have bid jobs and I always seem to underbid. Typically what we charge is $500 a day ($250/day for me and my dad) plus material. No overhead no deposits no nothing but we always seem to get screwed."

a contractor on r/Construction

And the arithmetic done after the fact, which is the worst time to do it:

"We built a roofed pergola and I think we severely underbid it. The materials were about $1000$ and for the labor and trips out to the job we charged another $1000. It took us two days worth of work and after gas and materials the total profit was $900 to split between the two of us (so only $225)."

a contractor on r/Construction

Notice that none of them are bad at their trade. They are all doing the same piece of arithmetic wrong, in the same direction, every time.

Open it from the quote you are already writing

In the quote builder, next to the line items, there is a Cost of an hour button. It sits there rather than in a settings screen somewhere because the rate gets typed here, and a floor you have to go and look up in another tab is a floor nobody checks.

The cost-of-an-hour calculator filled in for a $38 an hour worker: wage plus employer costs $44.64 per paid hour at 17.47% on top of wage, overhead $15.50 per billable hour from $24,800 a year over 1,600 hours, and one billable hour costing $73.53, which is 1.94 times the wageA $38 an hour worker costs $73.53 for every hour you can actually invoice. That gap is the whole problem.

Work through what happened to $38.

Employer costs put it at $44.64. WSIB, the employer side of CPP and EI, vacation pay, EHT if your payroll clears the exemption. In the example that is 17.47% on top of the wage, and it is the part most people know about even if they do not add it up.

Overhead adds $15.50. The truck, the tools, their share of your insurance, the phone and the software. In the example that is $24,800 a year, spread across the hours you can invoice.

One billable hour costs $73.53. That is 1.94 times the wage, which is the number worth remembering: your people cost you roughly double what you pay them, and rules of thumb that double the material cost do not touch this at all.

Skip this step and you land about 20% low

Burden is usually taught as a percentage on the wage, and that is true as far as it goes. The part that gets skipped is the second division.

You pay for 2,080 hours a year. You invoice maybe 1,600 of them. The other 480 are travel, shop time, weather, quoting, chasing materials, and the day the supplier sent the wrong panel. Those hours still cost you exactly what they cost you. They just cannot be billed to anybody.

So the whole year's wage bill has to be recovered across the hours that can be billed. In the example the calculator says you bill 76.92% of the hours you pay for, and that alone moves $44.64 to $58.03 before overhead is even added. A contractor who does the first division and not the second lands about 20% low and cannot see why the year did not work.

Now set the rate

Tell it the margin you want to keep and it works backwards to the rate.

The lower half of the calculator: a target margin of 45 percent giving a charge out rate of $133.69 an hour, a button reading Use $133.69 on labour lines, and a line reading that the quote currently charges $145.00 an hour, a 49.29 percent margin against a $73.53 costSet the margin you want to keep and it gives you the rate, then grades the rate already on your quote against it.

At 45% the rate is $133.69 an hour. One button puts that on every labour line in the quote.

The line underneath is the one to read carefully. It has taken the rate already sitting on this quote, $145.00, and graded it: a 49.29% margin against a $73.53 cost. That is the question you actually wanted answered, and it is answered against your numbers rather than against what someone in a forum says they charge.

It works in margin, not markup, and the difference is not pedantry. Markup is what you add on top of cost. Margin is the share of the final price you keep. A 50% markup is a 33% margin. Contractors who set a 50% markup believing they are keeping half are keeping a third, and that mistake compounds across every job in a year.

Why it asks for your numbers instead of filling them in

Four of the fields could have been pre-filled with something plausible. They are not, deliberately.

Your WSIB premium rate belongs to your class and subclass. Roofing is not priced like electrical, so any rate we picked would be right for one class and wrong for the rest. The CPP and EI employer percentages change every January. The only figure suggested is 4% vacation pay, because that is the Ontario ESA minimum under five years of service, and even that is editable.

Read the rates off your own WSIB statement and this year's CRA payroll tables and the answer is yours. A number we invented would be confidently wrong for someone about to price a year of work, which is worse than an empty box.

What it costs

Commercial terms depend on the workflow. Review the relevant AEC Stack product page before you start.

It is not accounting advice and it is not a substitute for knowing your own books. It does arithmetic on figures you supply: if your billable hours estimate is optimistic, the answer will be too. Nothing is saved, so it is a working tool rather than a record.

And a cost floor is not a price. What the market will pay, what the job is worth, and what you are willing to walk away from are all still yours to decide. What this removes is the possibility of deciding those things without knowing which side of the line you are on.

Quote and win

On AEC Stack: the same quote screen handles the rest of the pricing arithmetic, markup by line, Ontario HST, and the holdback split between what you bill now and what waits. That is the pricing guide.

Open the quote builder on a job you are pricing now, and put your own wage, WSIB rate and truck costs in. If the rate you were about to send is under the floor, better to find out on this side of the quote than in the pergola arithmetic afterwards.

Take this guide with you

The full write-up, every screenshot and clip, captions, and a machine-readable manifest in one zip. Share it with your office or hand it to whoever runs your socials.

Download the kit

Continue reading

Explore every Ontario guide