Job Costing for Tradies: Did You Actually Make Money on That Job?
Here is an uncomfortable question: on the last job you finished, what was your margin? Not the margin you quoted - the margin that actually happened, after the second trip to the supplier, after the "while you're here" extras, after the afternoon that turned into a full day.
Most tradies cannot answer it. Not because they are bad at business, but because nothing they use tells them. The quote lives in one place, the hours live in memory, the material receipts live on the passenger seat, and the invoice went out at the quoted price regardless of what the job really cost. The result is a business where some jobs quietly subsidise others, and nobody knows which is which.
The three places margin leaks
1. Labour that was never counted. The quote said six hours. The job took eight and a half, because the substrate was worse than it looked and the customer talked for forty minutes. If those hours are not written down, the job still looks profitable - the extra time just silently came out of your life instead of the P&L. Multiply by every job in a year and you find businesses that are busy every day and mysteriously broke.
2. Materials at last year's prices. Your quote used the cost you remembered, which was the cost from when you last checked. Timber, copper, and consumables have moved. If your price list's cost column is stale, every quote you send starts with a margin that is already fiction.
3. Scope that crept without a variation. "Can you just also…" is where good margins go to die. Each individual favour is small; the habit of absorbing them is expensive. The fix is partly commercial (variations, even small ones) and partly informational - you cannot manage what you never measured.
Quoted vs actual: the only comparison that teaches you anything
A single number - "the business made $31k this quarter" - tells you nothing about what to change. The comparison that does is quoted margin vs actual margin, per job:
- Quoted: sell price minus expected labour cost and expected material cost, from your rate card.
- Actual: what you invoiced, minus real logged hours at each worker's real hourly cost, minus materials at the price you actually paid.
Put those side by side for a month of jobs and the patterns leap out. Splashbacks quote at 55% and deliver 54% - fine, price is right. Bathroom repairs quote at 50% and deliver 33% - you are underestimating labour on every one, and either the rate card or the estimating needs to change. One commercial client's jobs run 14 points under quote across the board - that client gets a price adjustment or a polite goodbye.
This is the difference between raising your prices from evidence versus raising them from vibes and hoping.
A worked example
Say you quote a job at $2,400 ex GST. Your rate card says materials should cost $700 and the two days of labour cost you $760 (a tech at $47.50/hour including super and on-costs). Quoted margin: $940, or 39%.
What happened: materials came to $815 because one item was substituted dearer, and the job took 19 hours instead of 16. Actual cost: $815 + $902 = $1,717. Actual margin: $683, or 28%.
Eleven points of margin - $257 - disappeared, and without job costing you would never have seen it go. See that pattern across ten similar jobs and you have found roughly $2,500 a quarter that a one-line change to your rate card gets back.
One more trap worth naming: your labour cost is not the wage. Super, leave loading, the ute, insurance, tools and the unbillable hours between jobs all ride on top of every paid hour. If your rate card costs a $38/hour employee at $38, every "profitable" job is quietly optimistic - most businesses land somewhere near $47 to $55 an hour all-in for that same person.
Capture without the admin burden
Job costing has a deserved reputation for being the thing everyone sets up and nobody maintains. The fix is to move capture to the moments where the information already exists:
- Cost on the price list. Every item on your rate card carries a cost next to the sell price. Do it once, refresh when suppliers reprice, and every quote automatically knows its expected margin the moment you build it.
- Hours at completion. The moment you mark a job complete is the moment you know how long it took. Software that asks right then - pre-filled with the scheduled duration so confirming takes one tap - gets real data. A timesheet form on Friday gets fiction.
- Materials as they're used. Logging a material against the job at the moment it comes off the van records the true cost at the true price, and keeps stock honest as a side effect.
What to do with the numbers
Monthly, not daily. Look at three things: which job types run under quote (fix the rate card), which clients run under quote (fix the pricing or the relationship), and how much logged labour has no cost rate against it (fix the setup - unpriced hours are invisible losses). Twenty minutes a month, and your quoting gets sharper every cycle because it is fed by what jobs really cost, not what you hoped.
Where ServicePilot fits
ServicePilot does the bookkeeping part of this automatically. Your price list carries cost beside sell, so every quote shows its expected margin while you build it - and warns you when a quote dips under your target. When a job is completed with no hours logged, it offers the scheduled duration for one-tap confirmation. The job screen then shows quoted vs actual side by side, labelled honestly - including when a number is an estimate because nothing was logged - and the profitability report names the clients and job types delivering under quote. The question this article opened with stops being unanswerable.
Quote it in seconds, not at 9pm
ServicePilot's AI drafts priced quotes from your own rates, then runs the job through to getting paid. 14 days free, no card.
Start your free trialFrequently asked questions
What margin should a tradie aim for?
Most established trade businesses target a gross margin of 40 to 60 per cent on labour-and-materials work - enough to cover the unbillable time, tools, vehicle, insurance and admin that hourly-rate maths ignores. The exact number matters less than knowing your real figure and whether jobs are hitting it.
What's the difference between quoted margin and actual margin?
Quoted margin is the plan: your sell price minus what you expected labour and materials to cost. Actual margin is what happened: invoiced amount minus real hours at real cost and real materials used. The gap between them is where profit leaks - and most tradies never measure it.
How do I track job costs without drowning in admin?
Capture at the moment of completion, not at month end. Log hours when you mark the job done (good software pre-fills the scheduled duration so it is one tap), record materials as you use them, and keep cost prices on your price list so quotes carry their expected cost automatically.