OdinTask field-service app OdinTask ODINTASK · GUIDE
margin

Gross Margin Per Job: The Formula That Finds Lost Money

23 June 2026 · 8 min · marginpricingjob costingfield servicebusiness finance

Gross margin per job is what a single job left behind after every cost that only existed because you took that job: invoiced revenue (ex VAT) minus material at cost, minus loaded labour hours, minus travel time and van running, minus consumables and waste, minus any subcontract or card fee. Written as a formula: Gross margin = revenue − direct costs. Then divide it by the chargeable hours you spent to get contribution per chargeable hour, which is the number that actually tells you whether the job paid. It is not profit. Overheads still have to come out of it. For most 1–10 person trades firms the honest target is roughly your overhead per chargeable hour plus your profit target — commonly somewhere in the £40–£55 per hour range for a small firm with a yard and vans, but you must calculate your own line rather than borrow anyone else's.

Why the annual accounts hide the losing jobs

Your year-end P&L nets everything together. A month with four excellent jobs and three bad ones looks like a decent month. The bad ones are invisible, so you keep quoting them the same way, and they keep coming.

Job-level margin breaks that averaging. It is the same idea Swedish firms call täckningsbidrag per jobb — contribution per job — and it is worth doing in 2026 specifically because the inputs have moved. Cable, switchgear, timber, insulation and copper have all repriced since 2023, and wage costs have moved with them. Any rule of thumb you set before 2024 — "materials plus 20%", "£55 an hour is fine", "double the material" — was calibrated against costs that no longer exist. Owners are re-checking job-level margin instead of trusting the annual result, and they are finding that the pricing rule survived while the maths under it did not.

The formula, with nothing left out

The whole thing turns on one distinction: direct costs exist only because the job exists. If you had not taken the job, you would not have spent the money. Overheads would have been spent anyway — office rent, insurance, your accountant, software, the phone, your own admin time on a Sunday.

Work strictly ex VAT on both sides, or the ratios lie.

Revenue side (ex VAT)

Direct cost side

CostWhat people get wrong
Material at costUse the supplier invoice price after rebates, not the price-list price. Rebate-adjusted cost is often 8–20% below list.
Labour, loadedNot the hourly wage. Wage plus employer contributions, holiday, sick, pension, PPE, training. Loaded cost is typically 1.35–1.5× the gross wage.
Travel timePaid hours that produce nothing chargeable. On short service work this is the single biggest silent cost.
Van runningFuel, tyres, servicing, depreciation. A per-mile or per-kilometre rate is close enough.
Wholesaler tripsThe mid-job run for the part you forgot. Half an hour, twice, is an hour of paid labour.
Waste and shrinkageOffcuts, damaged goods, wrong parts never returned, drums that walk. Real and rarely recorded.
SubcontractTheir invoice, in full, on the job it belongs to.
Card or finance fees1–2% of the invoice if the customer pays by card or on finance.

A worked example: the service call that felt like a good day

A two-man electrical firm's job: fault-find plus a consumer unit replacement in a 1970s semi. Booked as a day. Ran long. The invoice looked healthy.

Invoiced (ex VAT)

Direct costs

Gross margin = £1,239 − £867.25 = £371.75, or 30.0% of revenue. On paper that sounds fine. Most owners would take 30% and move on.

Now divide by the chargeable hours. £371.75 ÷ 10.0 chargeable hours = £37.18 of contribution per chargeable hour. Divide instead by the 12.0 hours the technician was actually away from home and it is £30.98. That is the number that matters, and it is the number nobody looks at.

The line you have to clear: overhead per chargeable hour

£37.18 is only good or bad relative to what an hour of your firm costs to keep on the road. Work it out once a year, in four steps.

  1. Count real chargeable hours per technician. Start at 2,080 (52 × 40). Take out statutory holiday (about 224 h in the UK), plus sick and training (say 60 h) → roughly 1,796 paid hours. Then apply honest utilisation. Small trades firms land around 65–72% once travel, quoting, tidying and waiting for materials are counted. At 68% that is about 1,220 chargeable hours per technician per year. Four technicians = 4,880 hours.
  2. Total your annual overheads. Everything not already counted as a direct cost: owner's and admin salary plus their on-costs, yard or office, insurance, software, accountant, marketing, tooling, phones, bad debt. Say £195,000.
  3. Divide. £195,000 ÷ 4,880 = £39.96 ≈ £40 of overhead per chargeable hour. That is your break-even line.
  4. Add your profit target. Want 10% net on a £68 charge-out rate? Add £6.80. Your real target is about £47 of contribution per chargeable hour.

Go back to the consumer unit job. It produced £37.18 an hour against a £40 break-even. Ten hours × the £2.82 shortfall means the job lost about £28 before anyone thought about profit — and it was £98 an hour short of the £47 target, roughly £980 of missing profit across the day. It felt busy. It felt like 30% margin. It was a loss.

What the numbers say to change

Once you can see per-hour contribution by job, the fixes are obvious and specific rather than vague resolutions to charge more.

Making this happen every week, not once a year

None of this survives if it needs a spreadsheet evening. The margin calculation is easy; the data capture is the hard part. It only works if four things land on the job automatically:

That is exactly what a field-service system is for. In OdinTask the geofenced time clock puts hours on the job, supplier price-file import and job-card invoice capture put real material cost on the job, and variations and the invoice come off the same record — so the margin per job is a by-product of running the work rather than a monthly exercise. Whatever you use, the rule is the same: if a cost is not captured against the job, it is not in your margin, and you will price the next one exactly as wrong.

Three checks worth doing this month

  1. Take your last ten completed jobs. Calculate contribution per chargeable hour for each. Do not average them — rank them.
  2. Look at the bottom three. They will share a pattern: a customer type, a job type, a distance, or one estimator.
  3. Re-price that pattern, or stop selling it. A job below your overhead line is not a small win. It is capacity you paid for and gave away.

The uncomfortable part of measuring gross margin per job is that busy and profitable turn out to be different things. The useful part is that once you know which is which, you can fix it in a fortnight. Try OdinTask free for 14 days and see what your last ten jobs actually left behind.

FAQ

What is the formula for gross margin per job?

Gross margin per job = invoiced revenue ex VAT minus all direct costs of that job. Direct costs are material at supplier cost after rebates, labour hours at loaded cost (wage times roughly 1.35 to 1.5), travel time, van running, wholesaler trips, waste and uncredited returns, subcontract invoices and card fees. Then divide the result by the chargeable hours you spent to get contribution per chargeable hour, which is the figure that tells you whether the job cleared your overheads.

What is the difference between gross margin and profit on a job?

Gross margin is revenue minus the costs that only existed because you took the job. Profit is what remains after overheads, and overheads belong to the whole firm, not to one job. A job can show 30% gross margin and still lose money if it produced less contribution per hour than your overhead costs per hour. That is why a percentage on its own is misleading and the per-hour figure is not.

What gross margin per chargeable hour does a small trades firm need?

Calculate your own line rather than copy a benchmark. Divide annual overheads by realistic annual chargeable hours: for four technicians at about 1,220 chargeable hours each and 195,000 pounds of overhead, break-even is about 40 pounds per chargeable hour. Add your profit target on top, typically bringing the number to roughly 45 to 55 pounds. Anything below break-even is capacity you paid for and gave away.

How do I count labour cost properly in job margin?

Never use the hourly wage. Use loaded cost: gross wage plus employer contributions, holiday, sick pay, pension, PPE, tools and training. For most trades firms that lands between 1.35 and 1.5 times the wage, so a 24 pound wage costs roughly 32 to 36 pounds an hour. Also count paid travel and mid-job wholesaler runs. They are paid hours that produce no chargeable output.

Why do pre-2024 pricing rules of thumb no longer work?

Because the inputs moved. Material prices for cable, switchgear, timber and copper repriced sharply from 2023 onward, and wage costs moved with them. A rule such as materials plus 20 percent or 55 pounds an hour was calibrated against a cost base that no longer exists, but the rule survives in people's heads. Recalculating margin at job level shows immediately which quoting habits have quietly become loss-makers.

Is this the same as the Swedish idea of täckningsbidrag per jobb?

Yes. Täckningsbidrag is contribution margin: revenue minus variable or direct costs, before overheads. Swedish trades firms track it per job, and per debiterad timme, meaning per chargeable hour, for exactly the reason described here. The concept and the maths are identical to UK, Australian or New Zealand contribution margin. Only the vocabulary and the tax treatment on the invoice side differ.

One system for your field-service business

Booking, quotes with ROT, scheduling, an offline app, time tracking and invoicing — in your own brand.

Try OdinTask free