Almost every service business owner can tell you their revenue. Considerably fewer can tell you which jobs made money, and a good number of those are wrong, because the calculation stops at materials and labour and ignores the two costs that actually separate a good job from a bad one.
The exercise is worth doing once properly. It usually changes something — a service line that gets dropped, a minimum charge that gets introduced, or a type of customer that stops being chased.
The four costs, in the order people forget them
- Materials. Everyone counts this. It is usually the smallest of the four.
- Labour on site. Everyone counts this too, though often at wage rather than true cost. Add payroll taxes, insurance, and paid time off, and the real hourly figure is meaningfully higher than the wage.
- Drive time and vehicle cost. Rarely counted, frequently decisive. Ninety minutes of round-trip driving on a two-hour job is close to half the labour cost of the job itself.
- Rework and callbacks. Almost never counted, and the single biggest destroyer of margin on the jobs that look fine on paper.
A job that looks 40% profitable on materials and on-site labour can be barely breaking even once drive time is included, and losing money if it generated a callback.
Start with a sample, not a system
You do not need to cost every job to learn something useful. Take thirty jobs from the last quarter, spread across your service types, and cost them properly. Thirty is enough to see a pattern and few enough to finish in an afternoon.
Track, for each: revenue, materials, on-site hours, travel time, and whether it required a return visit. That is five columns. The insight almost always comes from the fourth and fifth.
TARGETS
What the pattern usually looks like
| Pattern | What is usually happening | What to do about it |
|---|---|---|
| Small jobs lose money | Drive time is fixed but revenue is not | Minimum charge, or cluster them geographically |
| One service line drags | Priced years ago, costs have moved | Reprice or stop offering it |
| Certain customers cost more | Access, complexity, or repeated callbacks | Price to the customer, not just the job |
| Emergency work looks great | Premium pricing, but check the rework rate | Verify callbacks before scaling it |
| Big jobs are less profitable than expected | Estimating error compounds over more hours | Compare quoted hours against actual on the last ten |
The comparison that matters most
Quoted hours against actual hours. If you are systematically under-estimating by twenty percent, every quote you produce is twenty percent less profitable than you think, and no amount of pricing work fixes it because the error is in the estimate rather than the rate.
This is measurable the moment you record both numbers, and most businesses have never compared them. It is the highest-value thing on this page.
Your labour rate is probably wrong
The most common job-costing error is not forgetting a cost. It is costing labour at what you pay the technician, which understates it by a wide and consistent margin.
The person on site costs you their wage plus payroll taxes, insurance, vehicle, fuel, phone, tools, and the hours they are paid for but not on a job — training, travel between stops, the morning the van would not start. Divide the fully loaded annual cost by the hours that are actually billable and you get a number that is usually somewhere between fifty and a hundred percent higher than the hourly wage.
Use the wage and every job looks profitable. Use the loaded rate and you find out which ones are, which is the entire point of doing this.
What to do with the answer
Job costing is only worth the effort if it changes a decision. There are really only four available, and knowing which one applies is most of the value.
- Raise the price. The work is good and the market will bear it. Most common outcome, most often deferred.
- Change how it is delivered. Same price, less cost — better routing, a second person, the right part on the van the first time.
- Change who you sell it to. The job type is fine; a particular customer segment makes it unprofitable.
- Stop selling it. Rare, and worth the nerve when the numbers are clear. Every hour of unprofitable work is an hour not spent on the work that pays.
Making it ongoing without making it a burden
- 01Capture arrival and departure
If technicians already log time on site, add travel. Two timestamps is the whole ask.
- 02Tag every job with a service type
Without this you can compare individual jobs but not categories, and categories are where decisions get made.
- 03Flag return visits as return visits
Not as new jobs. A callback recorded as a separate job hides the cost of the original.
- 04Review quarterly, not monthly
Monthly is noise for most service businesses. A quarter gives enough jobs to see a real pattern.
Common questions
What is job costing?
Working out the full cost of delivering a specific job — materials, labour, travel, and any rework — so you can see the actual margin rather than assuming it from the invoice.
Do I need accounting software to do job costing?
No. Thirty jobs in a spreadsheet will tell you most of what you need. Software helps make it continuous rather than a one-off exercise, which is where the value compounds.
Should I include overhead in job costing?
For deciding which work to take more of, direct costs are enough and are simpler to get right. Overhead allocation matters for setting overall pricing, but it can obscure the comparison between job types.
How often should I review job profitability?
Quarterly for most service businesses. Monthly tends to produce noise rather than signal unless you are doing high volume.