Toolbeltby CrewcraftStart free
All guides
Pricing·Aug 31, 2026·6 min read

Markup vs margin: the math that quietly eats contractor profit

By Stefan · founder, Toolbelt by Crewcraft

Two contractors quote the same job. Both say they work on “twenty percent.” One ends the year with money in the account and one doesn’t. The difference is almost never effort — it’s that one of them is using markup and thinks it’s margin.

The two numbers, defined once

Markup is what you add on top of your cost. Margin is what’s left out of what the customer pays. Same job, same dollars, two different denominators — and that’s the whole trap.

Take a job that costs you $1,000 in labor and materials. Add 20% markup and you charge $1,200. Your profit is $200. But $200 out of $1,200 is a 16.7% margin, not 20%. You just worked the job for a sixth less than you thought.

The conversion worth memorising

To hit a target margin, divide your cost by (1 − margin). For a 30% margin on $1,000 of cost: 1,000 ÷ 0.70 = $1,429. That’s a 42.9% markup. Not 30%.

  • 20% margin needs 25% markup
  • 25% margin needs 33% markup
  • 30% margin needs 43% markup
  • 40% margin needs 67% markup

If you have been marking up 30% and calling it a 30% margin, you have been running a 23% margin. On $400,000 of annual revenue that gap is roughly $28,000 — about what a decent used service van costs.

Where it bites hardest

Material-heavy jobs. A panel upgrade or a full re-roof carries a lot of cost, so a small error in the multiplier compounds fast. Labor-only service calls hide the problem because the dollar amounts are small enough that nobody checks.

It also bites when you discount. Knocking $200 off a $1,200 quote doesn’t cost you a sixth of your revenue — it costs you your entire $200 of profit. The job is now free labour. Discounts come out of margin, never out of cost, and that is why a “small” discount so often turns a decent week into a break-even one.

What to actually do about it

Price from a target margin, not a habit

Decide the margin the business needs to survive — overhead, slow months, a truck that will need replacing — then work backwards to the multiplier. The multiplier is output, not input.

Separate labour and material markups

Most trades carry different margins on each. Materials you buy and resell often support a different number than the hours you can never get back. Blending them into one percentage hides which half of the job is actually paying you.

Check the total, not the lines

Line-item math is where errors hide. The number worth looking at before you send is the bottom one: what percentage of this total is profit, and is that the number you decided on?

Make the math stop being your job

Toolbelt prices drafts from the rates you set and computes every total in code — the multiplier is applied the same way on every estimate, whether you write it at 7am or after dinner. Three free estimates, no card, to check the numbers against a job you have already priced.

Next, make the rates themselves right: how to build a price book and how much to charge per hour. Or see a job priced in about a minute.

Toolbelt does the paperwork this guide describes.

Describe the job in plain English — get an itemized, branded estimate the customer can e-sign and pay a deposit on, in about a minute. Built for HVAC, plumbing, electrical and roofing.

No credit card · 3 free estimates · Built for the trades