Why a Full Schedule of Plumbing Calls Can Still Leave a Thin Margin

The calendar lies

A plumber looking at a week with five calls a day, every day, assumes the business is healthy. The truck is moving, the phone is ringing, invoices are going out. But a full calendar measures activity, not profitability. It counts jobs, not hours. And for a service business that charges flat rates per job, the gap between those two numbers is where margin quietly disappears.

The mechanism is simple once it's named: not every hour a plumber works is an hour a customer pays for. Drive time between jobs, diagnostic time before the repair starts, time spent tracking down a part that turns out not to be needed, and the ten or fifteen minutes writing up an invoice at the kitchen table all cost real hours. None of them show up as a line item on the bill. The customer pays for the fix. The business absorbs everything around it.

What counts as billable, and what doesn't

Billable time is the portion of a job the customer's payment is actually meant to cover: diagnosing the problem when that's built into the flat rate, doing the repair, testing it, cleaning up. Non-billable time is everything the business has to pay for out of its own margin because there's no invoice line for it. For a plumbing business, that usually breaks down into a few recurring categories:

  • Drive time between calls. Not the commute to the first job, but the twenty to forty minutes between one address and the next, several times a day.
  • Unbilled diagnostic time. A callout that turns out to be a five-minute fix still took thirty minutes to find and explain, but if the flat rate assumed a quick job, that extra time is unpaid.
  • Parts sourcing that goes nowhere. A trip to the supply house for a part that turns out to be the wrong size, or a part the truck stock should have had, eats an hour that never appears on any invoice.
  • Admin time. Writing up the invoice, taking a payment, updating the schedule, texting the next customer an ETA. Five to ten minutes per job, which adds up to close to an hour a day for a five-job schedule.

This isn't a matter of the plumber being inefficient. It's simply what runs a route-based service business, and it exists whether or not the pricing accounts for it. The U.S. Department of Labor has clear rules about when travel time between job sites legally counts as compensable hours worked for employees, which is worth knowing if you've taken on your first hire, but the deeper business problem exists even for a solo owner-operator with no payroll to think about: that drive time is real cost to the business regardless of whether it's legally compensable to anyone.

A generic day, worked out

Take a plumber running flat-rate pricing: $150 per standard call, five calls booked in a day. That looks like $750 in revenue for the day, which sounds like a solid hourly rate for an eight-hour day, roughly $94 an hour.

But look at where the actual hours go. Say each job takes 45 minutes of hands-on work, plus 15 minutes of diagnostic time already built into the flat rate. That's five hours of billable-ish work. Add 30 minutes of drive time between each of the five stops (two hours), 10 minutes of invoicing per job (about 50 minutes), and one wasted trip to the supply house for a part that didn't fit (45 minutes). That's roughly three and a half hours of time the $750 has to cover but that no single invoice line represents.

Total hours worked: 8.5. Revenue: $750. True hourly rate: about $88, before subtracting fuel, vehicle wear, insurance, tools, and the owner's own overhead. Compare that to the median hourly wage benchmarks the Bureau of Labor Statistics publishes for plumbers, pipefitters, and steamfitters nationally, and against regional wage percentile data by area, and it becomes clear pretty fast whether $88 an hour is actually covering what the business needs it to cover once a truck payment, insurance, and any employee wages are layered in.

The math gets worse, not better, the moment one job runs long, one drive is longer than expected, or one part has to be special-ordered. A single bad day among five isn't unusual; it's the default shape of the work.

Calculating true hourly cost

The fix isn't complicated arithmetic, it's just arithmetic most owner-operators never sit down to do. Track a representative week: total hours actually worked, from leaving the shop in the morning to closing out the last invoice at night, against total revenue billed that week. Divide revenue by real hours, not scheduled jobs. That number, not the flat rate on the price sheet, is the business's actual hourly rate.

Some trade associations, including the PHCC's labor-unit database referenced in industry pricing guides, exist specifically to help contractors standardize how many hours a given job type should take, which is a useful check against gut-feel estimating. But the number that matters most is the one specific to a given truck, route, and owner, because drive times and admin habits vary business to business.

Once that true hourly number is visible, two adjustments usually follow. First, minimum call charges often need to rise, because a $150 flat rate that assumed a 45-minute job doesn't survive contact with a job that actually eats ninety minutes once travel and admin are counted. Second, a standalone trip or travel fee, separate from the diagnostic charge, makes the drive time visible to the customer instead of silently absorbed by the business. Businesses that never write down a repair order until the invoice stage often can't even see this gap, which is part of why some repair orders never really close in any useful accounting sense.

A fuller calendar isn't the same thing as a healthier business. The number worth checking isn't how many calls got booked this week. It's how many hours it actually took to earn what got billed.

Comments

Popular posts from this blog

When a Cleaning Route Becomes a Business Worth Registering

The Repair Order That Never Closes