Service Command HQ logo Service Command HQBeyond the Badge Digital Tools

See The Business

Do You Actually Know Which Jobs Make You Money?

Revenue tells you which jobs are big. Only job costing tells you which are good. A lightweight way for small shops to see profit per job — without hiring an accountant.

Every shop has a favorite kind of job — usually the big-ticket ones. And every shop that starts tracking profit per job discovers, within a month, that at least one beloved category of work barely breaks even while some unglamorous workhorse quietly funds the business. Revenue is visible; profit hides. Getting it out of hiding does not require an accountant — just a lightweight habit.

Why gut feel gets this wrong

Owners estimate job profitability by remembering the invoice total and the hours on site. That misses the costs that actually decide the margin:

  • Drive time — a $350 job an hour away is a very different job than the same ticket ten minutes out
  • The second visit — the return trip for the part, which memory files under "part of the job" and math files under "doubled labor"
  • True labor cost — wages plus payroll taxes, insurance, PTO, and the unbillable hours between jobs; most owners' real cost per tech-hour is 1.5 to 1.8 times the wage
  • Callbacks — the free repair that erases the margin on the original job
  • Quoting time — estimates that did not close still cost hours, and those hours belong to the jobs that did

None of this shows up on the invoice, which is why the invoice is a terrible profitability report.

The lightweight version: five fields per job

Skip full-blown accounting job costing. Capture five things per completed job, most of which your job records should already hold:

  1. Revenue collected
  2. Parts and materials at your actual cost
  3. Total tech-hours, including drive and return visits
  4. Job type (repair, maintenance, install, diagnostic-only)
  5. Which tech(s)

Then compute one number per job: revenue minus parts minus (hours times your loaded hourly cost). That is contribution — what the job actually threw off toward overhead and profit.

Getting your loaded hourly cost right matters more than any other input. Take a tech's full annual cost (wage, taxes, benefits, truck share, insurance) and divide by their billable hours — not their paid hours. For a typical shop that lands between $55 and $85 per hour. Yes, that number will alarm you. It is supposed to.

What the data always reveals

Run ninety days of jobs through this and the same patterns surface at nearly every shop:

Maintenance visits look bad and are secretly great. Thin margin per visit — but they cluster geographically, never generate callbacks, sell memberships and repairs, and fill shoulder seasons. Judge them as a system, not per ticket.

Small repairs on far-away one-time customers are the real losers. A $220 ticket with 90 minutes of driving contributes almost nothing. The fix is not refusing the work; it is zone scheduling, minimum trip charges, and steering those customers toward maintenance plans that make the relationship worth the drive.

Install margin lives and dies on the estimate. Repairs have small variance; installs swing thousands based on hours guessed at quote time. Comparing estimated versus actual hours per install, per estimator, is the single highest-value report an install-heavy shop can run.

The tech spread is bigger than anyone admits. Same job types, same prices — and one tech consistently contributes 20 to 30 percent more per hour, through speed, fewer callbacks, and options presented at the door. You cannot coach a gap you have not measured, and you certainly cannot pay for it fairly.

Making it stick without a spreadsheet slog

The reason job costing dies at small shops is manual assembly: the hours live on timesheets, parts on supplier invoices, revenue in the invoicing tool, and nobody has a Saturday to marry them. The escape is capturing the data where the work already happens — the job record. When techs log hours and parts against the job as they close it, and the invoice already lives on the same record, profitability becomes a report instead of a project. That is the design behind keeping jobs, estimates, invoices, and technician records in one system like Service Command HQ: the fields exist at the moment the truth is fresh.

Start crude, stay consistent

Do not wait for perfect data. Start with this month's jobs, your best guess at loaded hourly cost, and honest hours. Crude-but-consistent beats precise-but-abandoned, and the big findings — the job types and customers that drain you, the ones that carry you — are visible even through noisy data. Within a quarter you will price differently, route differently, and coach differently — a trip-charge minimum here, a zone rule there, a training plan for the tech whose numbers lag. None of those decisions require perfect data; they require any data. That is the whole point of job costing at a small shop: not prettier reports, but different decisions, made a quarter earlier than your competitors make them.

profitabilityjob costingmargins

Ready to run your business from one command center?

Start your 30-day free trial, or book a short walkthrough and we'll set it up around how you already work.

Start Your Free Trial Book a Demo