Most shops can name their top three services by volume: replacement, repair, maintenance agreements. Almost none can name their top three by margin.

That second list is the one that changes decisions, because it says which categories of work are quietly subsidising the others.

Why the answer is missing

Not lack of interest — the software that could answer it is either absent or idle. Adoption splits sharply by fleet size, 83% at ten or more vehicles against 31% under five S-ACCA-04, and 56% of contractors who own such software use it mainly for invoicing S-ACCA-01.

So pricing decisions get made on which jobs feel busy rather than which are profitable. Net profit tracks the same line: 6% on average, 5% at four trucks or fewer, 8% at ten or more S-ACCA-03.

What not knowing costs

1 / 5

of annual profit removed when 20% of jobs are priced below cost — the same order of magnitude as the entire gap between small and large shops S-ACCA-03

The mechanism is what you would expect once nothing is tracked by category. One job type — a particular repair on ageing equipment, a maintenance visit at the far edge of the service area — can be systematically underpriced against its real loaded cost, and nobody notices, because the loss is absorbed into a monthly number that is still positive.

The same shape shows up in pricing method: 7% net profit for shops pricing from a flat-rate book against 4% on an alternative method S-ACCA-01. Different mechanism, identical pattern — decisions taken without category-level visibility cost several points of margin, consistently.

The narrow version that actually gets done

You do not need a cost-accounting system, and trying to do this for every job is the mistake that makes shops abandon job costing altogether.

  1. Take your true hourly rate from the calculator.
  2. Pull the last 20 to 30 jobs and tag each one: install, repair, maintenance agreement, callback.
  3. Per category: billed revenue, minus (hours × true hourly rate), minus material cost.
  4. Rank the categories by that number rather than by volume.

A few hours, once, for a question that otherwise stays unanswered permanently. What the bottom of the ranking means is then your call — but it is a call you can only make after you have seen the number.