Say one of your engineers did a £450 boiler repair. The parts came to £120, and the engineer is paid 30% of every job they do. What did the job make?
The answer is £195, a 43% margin. Most owners could work that out on the back of the receipt, and few do it for every job. So they know their turnover, have a feel for which work pays, and find out at the year end whether the feel was right. A busy year can still be a thin one, and the difference usually comes down to a few kinds of job priced on habit.
We make Mucka, the job management app for heating, plumbing and HVAC firms, and it now does this sum on every finished job. We’ll say where it helps along the way, but every calculation here works on paper too.
The three numbers a job needs
The profit on a job is what it earned, less the materials, less the wages of whoever did it.
What it earned is the invoice. If you’re VAT registered, use the figure before VAT, because the VAT you charge belongs to HMRC. An accepted quote that hasn’t been invoiced yet is a promise, so treat any profit worked out from it as provisional.
The materials are everything that went into the job, including the second trip to the merchant for the fitting you didn’t have. The receipt lost in the van door is the usual reason a job looks better than it was.
The wages depend on how people are paid, which gets its own sections below. A subcontractor’s bill on the job counts as its labour.
Overheads stay out of this sum: the van, insurance, your phone, the accountant. They’re real costs, but they don’t belong to any one job, and spreading them across jobs muddies the question you’re asking, which is whether you priced this job right. They get their own sum further down.
Margin and markup are different numbers
Markup is what you add to your costs. Margin is the profit as a share of the price. People mix them up all the time, and the mix-up flatters you every time, because the markup is the bigger number.
Add 30% to £700 of costs and you charge £910. The £210 profit is 23% of the price, so a 30% markup gives a 23% margin.
| Markup on your costs | Margin on the price |
|---|---|
| 20% | 17% |
| 30% | 23% |
| 43% | 30% |
| 50% | 33% |
| 100% | 50% |
If you want 30% of every pound left after parts and wages, you need to mark your costs up by about 43%. The same rule applies to the markup you put on parts.
Engineers on a percentage
Paying engineers a share of each job is common across heating and plumbing. The share is either a percentage of the whole job or a percentage of what’s left after materials.
On a boiler service with no parts, the two come to the same thing. On an install they don’t. Take a £3,000 boiler swap with £1,400 of kit:
- At 30% of the whole job, the engineer gets £900 and the firm keeps £700, a 23% margin.
- At 30% after materials, the engineer gets £480 and the firm keeps £1,120, a 37% margin.
Neither basis is wrong. But on the first one, £420 of the engineer’s share is 30% of the boiler and the flue, and installs need pricing with that in mind.
Engineers on a wage: count the hours on jobs
The usual mistake with a salaried engineer is to divide what they cost by the hours you pay them for.
Say an engineer is on £38,000, which comes to about £44,000 once you add employer’s National Insurance and a pension. Over 37.5 hours a week for 52 weeks, that’s £22.56 an hour. If 28 of those hours a week are actually on jobs, and the rest go on driving, the merchant and loading the van, each hour on a job costs you about £30. A three-hour repair carries about £91 of wages, not £68.
Those other hours still get paid, and the jobs are the only thing that pays for them. Divide by the full week and every job looks about a quarter cheaper than it was. For an engineer paid by the hour, the same thinking applies: their rate plus what they cost you on top.
On your own, with no wage
If you work alone and take drawings rather than a wage, everything left after parts is yours, before overheads and tax. The margin percentage stops being much use: a service with no parts shows 100%.
The number to watch is what’s left per day. Three boiler services at £95 leave £285 for the day. A two-day boiler swap at £3,000 with £1,400 of kit leaves £800 a day, at a lower margin. A day lost to small repairs and merchant runs might leave less than either, and you won’t know which days those are unless you put the parts on as you buy them.
What each day has to cover
Now the overheads. Add up a year of the costs that don’t belong to a job: the van and its fuel, insurance, your phone, software, the accountant, tools, your Gas Safe registration. Divide by the days you work.
A one-van firm with £20,000 of overheads working 230 days a year needs about £87 of job profit every day before the business has made anything. That’s why a small job that eats half a day, travel included, can cost you money even when its own margin looks healthy.
Is 30% good?
Measured after parts and wages, before overheads, we treat 30% as the floor. Thirty pence of every pound you charge is left, and the van and the insurance still come out of that. Most service and repair work should do better. Installs heavy on kit often run lower as a percentage and still make more money per day, which is why it’s worth looking at both.
Where the money goes
When a job comes in under, the cause is usually one of these:
- Merchant prices moved and the price list didn’t. Log what each merchant charges and Mucka keeps who charged what and when, and tells you if you paid less elsewhere in the last three months.
- The second and third trip to the merchant, which costs fuel and an hour of a paid engineer.
- Recalls. A breakdown back at the same address a fortnight later is a second visit with no second invoice. Mucka’s reports show each engineer’s recall rate alongside what their jobs earned, cost and made.
- Discounts. Take £100 off a £1,000 job running at a 30% margin and you’ve given away a third of the profit.
- Evening and same-day work priced like a Tuesday morning. Mucka can price by time band, add a surcharge to same-day call-outs, and charge more for the postcodes that take an hour to reach.
- Hourly work that overruns. Mucka adds up the hours against the labour you priced and has an email to the customer ready when a job reaches 80%, so you warn them before it goes over.
Finding the jobs that lose money
The habit that fixes most of this takes ten minutes a week: sort your finished jobs by margin, look at the bottom few, and look for what they share. It’s usually one job type priced too low, or one customer who always wants extras. A sorted list shows that faster than a spreadsheet at the weekend.
In Mucka, job costing comes built in, and every finished job on the Jobs list carries one of three things under its status:
- A profit and margin, like £195 · 43%, when the materials and the wages are in. It’s green at 30% or better, amber under it, and red if the job lost money.
- £330 · materials only, when the wages aren’t in yet. You get what’s left after materials and no percentage, because a margin that leaves out the wages would be wrong.
- Costs not in, when the job earned money and nothing has been put against it. Tap it and the job opens with the cost form ready.
We built it that way on purpose. Software that shows a 100% margin on a job nobody costed flatters you until the year end. If a job can’t show its margin because someone on it has no pay set, Mucka names them and takes you to where to set it.
Filter to Losing money and the list shows only the jobs that lost money. Sort by Lowest margin and the worst sit at the top. Both work on a phone.
Getting the costs in is the part that usually stops people. You can photograph the merchant receipt on the job, or send Mucka a WhatsApp: “been to Toolstation, got a shower for 249 and valves for 84, that’s the Hendersons.” Mucka reads the shop, the total and the VAT and puts the cost on the right job. A callout where you used nothing takes one tap: No parts used.
For wages, open each person once in Settings, Team and say how they’re paid: a share of each job, a salary with the hours they spend on jobs, an hourly rate, or Owner, no wage on jobs if it’s you on drawings. If you use Mucka’s Timesheets, logged hours take over on any job that has them. Only people allowed to see job costs, the owner and managers unless you change it, see what a job made. Engineers never see it, or anyone’s pay, their own included.
Start with last month
Pick last month’s jobs, put the parts and wages against each, and sort by margin. Whether you do it in Mucka, a spreadsheet or the back of a diary, the bottom five will tell you more about your pricing than the year’s turnover. If you want Mucka to keep that list for you, try Mucka free for 14 days and set how each person is paid in Settings, Team. The profit fills in on every job they finish from then on.