← Back to blog

What a Truck Costs Per Job at a Plumbing Contractor

July 17, 2026

The problem: A truck's cost is tracked as fuel and maintenance totals for the year, so the largest part of what it costs you, the paid hours spent driving it, is not in the number at all.

The solution: Build a cost per job that includes drive time alongside the invoiced fleet costs, so dispatch and pricing decisions are made against what a stop actually costs to reach.

The math

At an $8M plumbing contractor, drive time runs roughly $280k a year across twelve trucks, close to what the entire fleet costs in fuel, maintenance, insurance, and payments combined.

Ask a plumbing contractor what a truck costs and you will usually get a decent answer, because most of it comes with paperwork. The payment or the depreciation is known. The fuel card produces a monthly total. The shop invoices for brakes and tires. Insurance renews once a year with a number on it. Add them up and a service van costs somewhere in the range of $25,000 a year to keep on the road, and most owners are within a few thousand of that figure off the top of their heads.

Then ask what a truck costs per job, and the conversation stops. Not because the arithmetic is hard, but because the second half of the answer, the part that is not fuel or steel, was never counted. A truck does not only cost money to own. It costs money to move, and the cost of moving it is paid in technician wages that look exactly like every other technician wage on the payroll.

What the fuel card does not know

Take a normal day. A tech leaves the shop, drives 25 minutes to the first call, works, drives 35 minutes across town to the second, works, drives 20 minutes to a supply house because the first job needed a part nobody stocked, drives 30 minutes to the third call, and drives home. Somewhere between an hour and a half and three hours of that day was spent behind the wheel.

Every one of those minutes is paid. The tech is on the clock. The company is buying that time at a fully loaded rate that includes wages, payroll taxes, insurance, and benefits. And unlike the fuel, which at least produces a receipt, the drive time produces nothing. It flows into payroll, where it is indistinguishable from the hours spent actually fixing a water heater.

This is why the invoiced costs feel like the whole picture. They are the only part of the truck that anyone bills you for. The larger part, the labor consumed getting the truck where it needs to be, arrives as a payroll number that would have looked the same regardless of how the routes were built.

Why routing decisions get made blind

Here is the practical consequence. Dispatch is a decision made dozens of times a day, and it is almost always made on the wrong inputs: who is free, who is closest on a map, who did this customer last time, and who the customer likes. Those are reasonable inputs. What is missing is cost.

Without a cost per job that includes drive time, nobody can see that:

  • The emergency call 40 minutes out consumed the tech's entire afternoon capacity, not just the 50 minutes on site.
  • A day built as four stops in one part of town and a day built as four stops scattered across the service area produce roughly the same revenue and very different profit.
  • The supply house run in the middle of a route is a paid hour that stocking the truck properly would have avoided.
  • Certain job types, small repairs at a distance, cost more to reach than they generate, and the business is doing more of them every year because they are easy to book.

None of these are visible on a profit and loss statement. They are all visible the moment drive time is attached to a job.

A look at a plumbing contractor

Consider a plumbing contractor doing about $8 million a year, twelve service trucks, mostly residential service and repair with a light commercial book, a dispatcher who has been there nine years and holds the whole service area in her head, and an owner who tracks revenue per truck and average ticket.

Start with the invoiced costs for one van. Fuel at roughly $9,600 a year. Maintenance and tires around $4,800. Its share of commercial auto insurance about $2,400. Payment or depreciation near $9,000. Total: about $25,800 a year, and this is the figure the owner already knows.

Now the jobs. At three and a half completed calls a day across 230 working days, that van serves about 805 jobs a year. So the invoiced vehicle cost is about $32 per job.

Then the part that is not invoiced. If a tech averages 2.2 hours a day driving, including the supply runs, at a fully loaded cost of $46 an hour, that is about $101 a day, or roughly $23,300 a year per truck. Per job, that is about $29.

Two things fall out of that. First, the true cost of getting a truck to a job is around $61, nearly double the number in the owner's head. Second, and more striking, across twelve trucks the drive time is on the order of $280,000 a year in paid technician hours, which is roughly what the entire fleet costs in fuel, maintenance, insurance, and payments combined. The company has been carefully managing one of those two numbers and has never seen the other.

What you would expect once drive time is attached to jobs is that it is not spread evenly. A plausible finding is that one truck's average drive time per job runs well above the rest, not because that tech is slow but because that truck is the one dispatch sends to the edges of the service area. Another is that a category of small repair calls at distance consistently costs more to reach than it contributes. And a third, usually the easiest to fix, is that supply house runs account for a meaningful share of all drive hours, which is a stocking problem rather than a routing problem.

Trimming even 20 minutes a day per truck is roughly $15 a day, about $3,500 a year per truck, or $42,000 a year across twelve. That is not from anyone working harder. It is from routing and stocking decisions made against a number that did not previously exist.

How the answer becomes available

The change required is narrow: the time a truck spends moving has to land against the job it was moving toward, rather than dissolving into a weekly payroll total.

Most of the raw material is already there. Techs already clock in and out. Dispatch already knows the sequence of stops and the times. Many trucks already carry GPS that nobody looks at except after a complaint. What is missing is that these are three separate records that never meet, so no one can put drive minutes next to a job number, a job type, or a customer.

Once they sit together in one connected picture, cost per job including travel becomes something the business simply knows, per truck, per job type, per zone, per customer. The dispatcher's judgment is not replaced by it. It is armed with it.

Then the repetitive part comes off people. Nobody builds a routing analysis. The exceptions surface as they form: the day that ran 40 percent above normal drive time, the recurring customer whose location makes every visit unprofitable at the current price, the truck making three supply runs a week for the same part. The owner stops asking for a report and starts getting a flag.

The pricing consequence matters as much as the routing one. Once you know a distant small repair costs $61 in vehicle and drive cost before a wrench is turned, a trip charge, a zone-based minimum, or a decision to bundle those calls into one day a week stops being a guess about what the market will bear and becomes a straightforward comparison.

How to start

You can get a usable version of this in a couple of weeks with what you already have.

  1. Build one loaded hourly cost. Wages plus taxes plus insurance plus benefits, divided by actual working hours. This single figure powers everything else.
  2. Time the driving for two weeks. Two trucks is enough. Clock the movement between stops, including supply runs, and record it against the job it preceded.
  3. Compute cost per job both ways. Invoiced vehicle cost per job, then drive time cost per job. The gap between them is the point.
  4. Sort by job type and by zone. Rank where the drive cost per job is worst. That ranking is what changes dispatch and pricing.
  5. Let the capture run itself. Connect the time clock, the dispatch sequence, and the job record so travel attaches automatically, instead of being a two-week study you do once and never repeat.

The takeaway

A plumbing contractor at this size knows what a truck costs to own and does not know what it costs to use, because ownership comes with invoices and use comes with payroll. The paid hours spent driving are close to the largest fleet cost in the business, and they are invisible for exactly one reason: nobody bills you for them. Put a loaded cost on those hours, attach them to the jobs they served, and the cost of reaching a customer becomes a number you can price against and dispatch against. The routing you have been doing by geography and habit is likely to look different once the cost of each decision is finally sitting next to it.

Every business has a number like that hiding in it.

Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.