How to Price a Job in the Trades Without Losing Money
Looking for a tool?
To quote a price for a job, add up its true cost — materials, burdened labour, a share of your overhead, and anything you pass through — then divide by one minus your target margin:
Price = (materials + burdened labour + allocated overhead + pass-throughs) ÷ (1 − target margin)
Two of those four terms are the ones that go missing. Labour burden — employer payroll taxes, workers' compensation, insurance, paid time off — commonly adds a quarter to a third on top of wages. Overhead — the truck, the phone, the insurance, the hours you spend quoting jobs you never win — is not free just because no single job invoices it. Leave both out and you can lose money on a job you were delighted to win. Below, the same arithmetic is worked three times on three different trades, and every figure is recomputed rather than quoted. Check your own numbers as you go in the free job estimate calculator.
Step one: what does one of your hours actually cost?
Everything downstream depends on one number, and it is not your wage. Your cost per billable hour is everything the business must produce in a year divided by the hours a customer will actually pay for.
Cost per billable hour = (annual overhead + what you must pay yourself) ÷ billable hours a year
The denominator is where people go wrong. A solo trade working a forty-hour week does not bill forty hours. Driving, quoting, supply runs, callbacks, invoicing and warranty visits eat a third or more of the day, so a realistic figure is 1,100–1,300 billable hours out of a 2,000-hour year, not 2,000. Take a set of numbers and run them: $28,000 of annual overhead plus $65,000 you need to pay yourself is $93,000 the business must produce. Over 1,100 billable hours that is $93,000 ÷ 1,100 = $84.55 an hour — and that is the break-even, the number at which you have paid yourself and the truck and made nothing. To keep a 15% margin on top you charge $84.55 ÷ 0.85 = $99.47, so you post a $100 rate.
Now watch what the denominator does. The same $93,000 over 1,500 optimistically-assumed billable hours gives $62 an hour, and you would post a $73 rate — then bill 1,100 hours like everyone else and come up roughly $29,700 short across the year. Most underpricing is not a pricing decision. It is an arithmetic error in the hours.
Step two: markup is not margin, and the gap is bigger than it sounds
This is the single most expensive confusion in the trades. Markup is added on top of your cost. Margin is the share of the final price you keep. They are different numbers describing the same dollar of profit, and the difference widens as the percentage grows:
| You add this markup… | …and keep this margin | To hit that margin you needed |
|---|---|---|
| 10% | 9.1% | 11.1% markup |
| 20% | 16.7% | 25.0% markup |
| 25% | 20.0% | 33.3% markup |
| 30% | 23.1% | 42.9% markup |
| 50% | 33.3% | 100% markup |
Read the middle row twice. A contractor who marks cost up 25% and believes they are running a 25% margin is actually running 20%. On $100,000 of annual job cost that is $5,000 of profit that was never in the price. The two formulas are worth memorising: markup = margin ÷ (1 − margin), and margin = markup ÷ (1 + markup). The margin-to-markup calculator converts either way.
Three jobs, worked all the way through
Job one — a handyman's half-day punch list
Start with the rate. Take a handyman who needs $55,000 of take-home pay, owes roughly $7,771 of self-employment tax on that level of net profit, and carries $16,100 of yearly overhead (truck, insurance, tools, phone, marketing, fuel). The business must produce $78,871; at 1,200 billable hours that is $65.73 an hour of pure cost recovery, so the posted rate is $70. Full workings are in how much handyman services charge.
A customer wants four small jobs done in one visit. You estimate four billable hours and $95 of materials, marked up 20% to $114.
| Line | Working | Amount |
|---|---|---|
| Labour | 4 hrs × $70 | $280.00 |
| Materials | $95 × 1.20 | $114.00 |
| Quote | 280 + 114 | $394.00 |
| True cost | 4 hrs × $65.73 + $95 | $357.90 |
| Profit | 394.00 − 357.90 | $36.10 (9.2% margin) |
Nine per cent looks thin, and it is — but read what it is nine per cent of. The $65.73 cost line already contains the $55,000 salary and the truck. The $36.10 is genuine surplus above a fully paid owner. That is what a solo trade's margin actually looks like, and it is also why the job has almost no room to go wrong. Push the same visit to five hours and the cost becomes $423.63 — the flat $394 quote now loses $29.63. At six hours it loses $95.36. Quoting the same work hourly would have billed $534.
The lesson is not "never quote flat." It is that a flat price is a bet on your own time estimate, so only make it on work you have done enough times to estimate honestly — and price the trip, not just the task. The wider trade-off is in flat-rate vs hourly pricing.
Job two — an electrician's 200-amp panel upgrade
A journeyman at $38 an hour and an apprentice at $22, ten hours each, against $1,000 of materials at cost and a $150 permit. Burden the wages at 1.30 and allocate overhead at $65 per billable hour (this contractor's $130,000 of annual overhead over 2,000 sold hours). Full derivation in how to price electrical work.
| Line | Working | Amount |
|---|---|---|
| Materials at cost | panel, breakers, cable, sundries | $1,000 |
| Burdened labour | (10 × $38 + 10 × $22) × 1.30 | $780 |
| Permit | passed through at cost | $150 |
| Allocated overhead | 20 hrs × $65 | $1,300 |
| Total job cost | 1,000 + 780 + 150 + 1,300 | $3,230 |
| Price at a 20% margin | $3,230 ÷ 0.80 | $4,037.50 → quote $4,050 |
That leaves $820 of profit, a 20.2% margin, with the truck and the insurance already paid for inside the overhead line. Now price the identical job the lazy way — materials and labour plus 20%, overhead forgotten: $1,780 × 1.20 + $150 = $2,286. You would win that job against almost anyone, and lose about $944 doing it. Even the respectable-sounding $3,800 a competitor quotes leaves $570, a 15% margin, which is a decision you can make deliberately — but only if you know the cost is $3,230.
Job three — an HVAC service call
A condenser fan motor and capacitor, two and a half hours on site, $185 of parts at cost. The tech is paid $40 an hour but bills 28 hours of a 40-hour week, so the labour cost of a billable hour is $40 ÷ 0.70 = $57.14, and overhead runs $30 per billable hour. Rate build-up in how much an HVAC contractor should charge per hour.
| Line | Working | Amount |
|---|---|---|
| Labour at cost | 2.5 hrs × $57.14 | $142.86 |
| Overhead | 2.5 hrs × $30 | $75.00 |
| Parts at cost | motor + capacitor | $185.00 |
| Total job cost | 142.86 + 75 + 185 | $402.86 |
| Price at a 20% margin | $402.86 ÷ 0.80 | $503.57 → quote $505 |
Cross-check it the way the shop actually quotes: 2.5 hours at a $118 billed rate is $295, plus parts at a 30% markup, $240.50 — $535.50, a 24.8% margin. The two methods land within about $30 of each other, which is exactly what you want to see. When the cost build-up and the rate card disagree by hundreds, one of the inputs is wrong, and it is nearly always the billable ratio or the overhead rate. And the cost-plus-20%-with-no-overhead version? $327.86 × 1.20 = $393.43 — $9.43 below what the call actually cost you.
What it looks like in a sheet
Here is the same arithmetic living in a workbook — the Job Cost & Markup Calculator from our Trades Job & Money Toolkit, rendered straight from the file so every figure below is what the sheet computes:
Notice the thing the sheet catches. Section A says this business must charge $99.47 an hour to hit its 15% target. The job in section B is priced with a labour rate of $95 — $4.47 light — and the margin that comes out the bottom is 13.0%, not 15%. Nothing dramatic happened: one rounded-down rate, one job, two points of margin. Do that across a year of jobs and it is the difference between a business that reinvests and one that treads water. That is the entire argument for pricing from a sheet rather than from memory: the sheet tells you when the two halves disagree.
Gross margin, net margin, and the target you are aiming at
Two different numbers get called "margin" and they answer different questions. Gross margin is per job: what is left after that job's direct costs — materials and job labour. Net margin is the whole business: what is left after direct costs and overhead and your own admin time. The gap between them is overhead, which is why a trade can post healthy job margins all year and still finish it flat.
The figures repeated across trades-business books and coaching programmes are roughly 40–50% gross and 8–15% net. Treat those as orientation, not as a benchmark we have verified against a published industry survey — they vary widely by trade, market, job mix and how much work you sub out, and the only number that governs your business is the one your own books produce. What matters more than hitting someone else's target is that you chose a target, priced every job to it, and then checked afterwards whether you got it. The profit margin calculator checks a quote in seconds; the break-even calculator tells you the revenue that covers overhead at the margin you chose.
Estimate, quote, and who pays for the surprise
An estimate is your best guess and can move. A quote is a fixed price you are committing to. Say which one you are giving, in writing, because the customer will assume whichever suits them. For a fixed quote, write down the assumptions it rests on — what is behind the wall, what the existing wiring looks like, who moves the furniture — and state how change orders are priced before you find the surprise. A change-order clause agreed at quote time is a conversation; the same clause raised mid-job is a dispute. How to write a contractor estimate covers the document itself.
The mistakes that actually cost money
- Billing your wage as your rate. A $40 wage needs a $90–$130 billed rate before there is profit in it. The gap is non-billable time, overhead and margin — not greed.
- Guessing billable hours high. The single largest error in the whole build-up, because it sits in a denominator. Count last year's invoiced hours; do not estimate this year's.
- Confusing markup with margin. 25% markup is a 20% margin. Every job, all year.
- Forgetting overhead on small jobs. A half-day still consumes half a day of truck, insurance and phone. The electrician job above loses $944 the moment overhead leaves the sheet.
- Marking up a subcontractor's price without knowing they marked up too. Fine if you know you are stacking margins and the market bears it; expensive if you find out when you lose the bid.
- Never checking the job afterwards. Quoted margin and delivered margin are different numbers. Only the second one pays you.
- Discounting to win, then wondering why a busy year made nothing. A 10% discount on a 20% margin job halves the profit. Work out what a discount costs before you offer it.
Close the loop: quote, do, measure
Pricing is not a one-way calculation, it is a loop. Quote from cost, do the work, then put the actual materials and the actual hours back against that job and see what it really made. After a dozen jobs you stop guessing which work pays — you know, and you can quote the good work confidently and price the bad work away. Then make sure the money arrives: a profitable job paid sixty days late still leaves you short this week, which is what cash-flow tracking and clean invoicing are for.
Quick FAQ
How do you quote a price for a job?
Add the job's true cost — materials, burdened labour, an allocated share of overhead, and any permits or pass-throughs — then divide by one minus your target margin. Dividing, not multiplying: to keep a 20% margin you divide cost by 0.80, which is a 25% markup, not a 20% one.
What hourly rate should I charge?
Take your annual overhead plus the pay you need, divide by the hours you can honestly bill in a year (1,100–1,300 for a solo trade, not 2,000), then divide by one minus your target margin. On $28,000 of overhead, $65,000 of pay and 1,100 billable hours that is $84.55 of cost and a $99.47 charge rate.
Is a 25% markup the same as a 25% margin?
No. A 25% markup leaves a 20% margin. To keep a 25% margin you need a 33.3% markup. Markup = margin ÷ (1 − margin); margin = markup ÷ (1 + markup).
What profit margin should a contractor aim for?
Trades-business guidance commonly points at 40–50% gross margin per job and 8–15% net margin for the business — useful orientation rather than a verified industry benchmark. Your own target depends on trade, market, risk and how much you sub out; what matters is choosing one, pricing to it, and measuring whether you hit it.
Should I quote flat-rate or hourly?
Flat-rate on work you have done enough times to estimate honestly — the customer gets certainty and you keep the upside of being fast. Hourly on discovery work, old buildings, and anything where the scope can double once you open it up. Either way you build the number from cost first.
How do I know whether a job was actually profitable?
Log the real revenue against the real costs, including your own hours and the drive, not just the parts. A job can feel busy and still lose money if the labour was underquoted — which is why per-job tracking, and getting paid on time, both matter more than the quote itself.
General guidance on pricing your work, not accounting or tax advice. Rates, burden percentages and margins vary by trade, market and your own cost structure — the arithmetic here is reusable, the numbers in it are examples.
More trades guides: how to price electrical work · handyman rates · HVAC hourly rate · flat-rate vs hourly · writing the estimate.