Pricing jobs for profit: the tradesperson’s margin guide
The single biggest reason good tradespeople go bust isn’t bad work — it’s bad pricing. Undercharging feels like customer service. It’s not. It’s slow financial suicide.
The three components
Every job has three cost lines:
- Materials — what you physically buy for the job
- Labour — your time (and any subbies)
- Overhead share — your portion of the fixed costs of running the business
Most tradespeople price 1 and 2 and forget 3. That’s where the profit disappears.
Working out your real hourly rate
Start with what you want to take home per year after tax, say £40,000.
Now add everything that has to be paid before you see that money:
- Income tax and NI: ~£10,000 on £60k self-employment profit
- Van costs: £4,000 (fuel, insurance, tax, repairs, depreciation)
- Tools and replacements: £2,000
- Public liability insurance: £250
- Trade association fees (Gas Safe, NICEIC): £200
- Accountant: £500
- Phone, internet, Holdfort subscription: £500
- Training and CPD: £500
- Marketing (van signage, Google, Facebook): £1,000
Your gross turnover target: £58,950 just to take home £40k.
If you bill 6 hours of labour per working day × 220 working days (allowing for holidays, illness, quote visits, admin) = 1,320 billable hours/year.
Real minimum hourly rate: £44.66.
Round up to £50 for a cushion. Less than that, you’re losing money — you just don’t know yet.
Pricing materials
You pay trade price, the customer pays retail. The gap is your materials markup, typically 10–20% on your cost.
Example: Worcester Bosch boiler, trade price £900. Retail markup of 15% = £1,035 on the invoice. Customer can’t reasonably complain — they’d pay more at B&Q — and the £135 covers your time sourcing, collecting, storing, transporting and warrantying the part.
Don’t hide markup. Itemise: "Boiler: £1,035 (incl. sourcing)". Transparency beats getting caught pretending.
Pricing labour
Multiply estimated hours by your real hourly rate. Then:
- Add a buffer. 15–20% for the unknowns that always appear.
- Round up, never down. £475 becomes £500.
- Quote fixed prices, not hourly. "8 hours at £50 = £400" gets argued. "£500 for the job" doesn’t.
A worked example: bathroom refit
- Materials: suite £1,200 + tiles £400 + plumbing bits £350 = £1,950. With 15% markup: £2,242.
- Labour: 40 hours × £50 = £2,000. Add 20% buffer: £2,400.
- Removal/disposal: £150.
- Round up: £4,800.
That’s not expensive. It’s what a bathroom refit properly priced actually costs.
Saying the number with confidence
The moment that kills tradespeople: the customer winces, and you say "well, I could do it for £4,200." Don’t. Say the number once. Shut up. Wait. If they can’t afford it, that’s fine — you’ll find another job at the proper price.
What Holdfort does
Holdfort doesn’t set your prices, but it stops you from losing track of what you’ve earned. Every invoice, every paid-vs-outstanding, every tax summary — in WhatsApp, automatic. See how →
A full quote template — copy and adjust
A proper tradesperson quote has these sections. You can draft this template once and re-use it for every quote.
Quote: [Job description]
Customer: [Name + address]
Issued: [Date] | Valid until: [Date + 30 days]
Quote reference: Q-[sequential number]
Scope of work (what’s included)
• Item 1 detail
• Item 2 detail
• Item 3 detail
Not included
• Decorating / making-good after works
• Disposal beyond one small skip
• Structural alterations beyond those specified
Labour: £X,XXX (X days at £XXX/day)
Materials (15% sourcing mark-up): £X,XXX
Disposal / skip: £XXX
Subtotal: £X,XXX
VAT (20% if registered): £X,XXX
TOTAL: £X,XXX
Payment schedule
• Deposit on acceptance: 20%
• Stage 1 (at [milestone]): 30%
• Stage 2 (at [milestone]): 30%
• Final on completion: 20%
Timeline: [estimated days], starting [date]. Weather/access delays may extend.
Guarantee: 12 months on labour, manufacturer warranties on parts.
Variations: any changes to scope will be priced separately and signed off before work continues.
Hourly vs day rate — which to quote
Most trades should switch to fixed-price quotes rather than day/hourly rates for planned work. Reasons:
- Customer anxiety. An hourly rate means the customer watches the clock. A fixed price means they focus on the outcome, not your pace. You get paid for efficiency; they get predictability.
- You capture efficiency gains. If you’ve done 50 bathroom refits, the 51st takes you a day less than the first — but you still bill the same. Hourly rates throw this away.
- Disputes disappear. "You took 6 hours, not 5" arguments stop. You either did the job for the agreed price, or you didn’t.
Keep hourly/day rates for: emergency callouts, "we don’t know how bad it is until we open it up" jobs, and T&M (time and materials) sessions for ongoing maintenance clients.
The real overhead — what to build into every price
Beyond the big-six overheads (van, insurance, tools, subscriptions, marketing, accountant) that we covered earlier, quietly factor in:
- Dead time between jobs: quoting visits, travel time, materials collection. Assume 25-30% of your working hours aren’t directly billable.
- Sick and holiday days: 4 weeks off + 10 sick days = 6 weeks you’re not earning. That’s 12% of the year.
- Admin: invoicing, chasing, record-keeping, tax filing — call it 5 hours a week if you don’t use Holdfort, 1 hour a week if you do.
When you work through the math, a £50/hour rate isn’t really £50/hour. It’s more like £3 0/hour once you factor in unbillable time. That’s why so many tradespeople who think they’re earning £100,000 gross end up with £30,000 in the bank at year-end — the overheads and unbillable time eat the rest.
Try Holdfort free for 7 days. Voice note → branded PDF invoice in 15 seconds. Just WhatsApp.
Start Free on WhatsApp →More from the Holdfort blog
- MTD for self-employed: what sole traders actually need to do (April 2026)
- How to invoice as a plumber: template, VAT, and late payment rules
- CIS explained for subcontractors in 5 minutes
- Sole trader vs limited company: which is right for a tradesperson in 2026?
- How to chase a late invoice without losing the customer