Job Costing for Plumbing Contractors: QBO + JobTread Setup

Plumbing is one of the trades where the day-to-day math gets you in trouble fast. A service tech rolls a $185 ticket at 7am, a remodel crew is roughing in 12 fixtures across three bathrooms, and your on-call guy just got pulled out of bed at 2am for a slab leak charging a $295 trip fee. Three different jobs, three different cost structures, all hitting the same QuickBooks file.

I’m Erin Andrews, owner of Level Accounting & Advisory. We’re a construction-only firm and we work with plumbing contractors across the country. This post covers what makes job costing for plumbing contractors different from every other trade — and how to set it up in QuickBooks Online and JobTread without losing your mind.

For the framework underneath all of this, start with our pillar guide on job costing for contractors.

Job costing for plumbing

What’s different about job costing for plumbing contractors?

Plumbing job costing is hard because most shops run three product lines through one P&L: service tickets, project work (new construction or remodel rough-ins), and after-hours emergency calls. Each one has a different labor cost, a different material profile, and a different margin target. Tracked together as one big “plumbing revenue” number, you can’t see which side of the business is actually carrying the others.

Service tickets vs. project work — two different cost models

Here’s how the split usually breaks down inside one plumbing shop:

  • Service ticket: 1–2 hour visit. $89 trip charge. Repair a disposal, swap a wax ring, snake a line. $30–$120 in parts. Labor and the truck roll are 70%+ of revenue.
  • Project work: 3-bath remodel rough-in. 4 days on site, two-man crew. $4,800 in fixtures, $1,400 in copper / PEX / fittings, $400 in glue and supplies. Labor is dominant but materials are real.
  • New construction: Track home rough-in. Bid as a unit price per house. You only know if you made money when you compare actual hours and actual material to your estimate.

You need separate cost code sets for each. Service gets a slim 8–10 code list. Project work gets a 30–40 code structure that maps to the rough-in / trim-out phases. New construction gets its own template tied to plan revisions.

On-call labor burden — the after-hours premium math

This is the cost most plumbers don’t burden correctly. Your on-call rotation isn’t free. The tech on call is getting:

  • Stand-by pay (often $50–$150 per night just to carry the phone)
  • Overtime rate (1.5x) for the call itself, minimum 2 hours regardless of how long the call took
  • Vehicle wear, fuel, and the personal cost that shows up in retention later

If your service ticket cost code uses the same labor burden rate as your day crew, you’re underwater on every after-hours call. Build a separate “Labor — On-Call Premium” cost code with the OT-loaded burden baked in. A daytime tech at $32/hour with 45% burden is $46.40 fully loaded. The same tech at 2am on call: closer to $72/hour fully loaded once you stack stand-by pay, OT, and the 2-hour minimum.

If the after-hours job didn’t bill at $295 minimum, you lost money even if it looked like you made it.

Materials staging — fixtures, copper, fittings, brass

Plumbing materials are where the leak happens (no pun intended). Three issues we see:

  • Fixtures bought to spec for one job, used on another. Customer A picked the Kohler Memoirs toilet. Customer A canceled. Tech grabbed it for Customer B’s job. Now Customer B’s job carries a fixture cost that wasn’t in the estimate, and Customer A’s job is missing a credit.
  • Copper price swings. Copper moved 30%+ in some recent stretches. If you bid a project in March and aren’t tracking material to the actual invoice, you’re eating that swing without seeing it.
  • Truck stock that never gets job-coded. The bag of fittings, brass nipples, escutcheons, and Teflon tape that lives on the truck — most shops dump those purchases to “Shop Supplies” and never tie them to a job. That’s hiding $15K–$40K of material cost a year for a typical $2M plumbing shop.

The fix: a real-time receipt workflow at the supply house. Photo the receipt before it leaves your hand, tag it to a job and cost code in JobTread. Truck-stock purchases get coded to a default “Truck Stock” cost code, then allocated to jobs monthly based on usage.

Cost code structure for plumbing

Three parallel structures inside one JobTread file. Here’s what we set up for plumbing clients in the $1M–$15M range:

Job Costing for Plumbing Contractors: QBO + JobTread Setup

Service ticket cost codes:

  • 10-100 Service — Diagnostic / Trip
  • 10-110 Service — Repair Labor
  • 10-120 Service — Drain Cleaning Labor
  • 10-130 Service — On-Call Premium Labor
  • 10-200 Service — Parts (faucets, valves, traps)
  • 10-210 Service — Drain Equipment Use (camera, jetter)
  • 10-300 Service — Sub-Contracted Repair (excavation, etc.)

Project / remodel cost codes:

  • 30-100 Rough-In — Labor
  • 30-110 Trim-Out — Labor
  • 30-120 Final Connections — Labor
  • 40-100 Materials — Copper / PEX
  • 40-110 Materials — DWV (drain, waste, vent)
  • 40-120 Materials — Fittings & Brass
  • 40-200 Fixtures — Toilets
  • 40-210 Fixtures — Sinks / Faucets
  • 40-220 Fixtures — Tubs / Showers
  • 40-230 Fixtures — Water Heater
  • 50-100 Permits & Inspection Fees
  • 60-100 Sub — Excavation

Three things that matter: labor and materials are always separated, fixtures get their own bucket (because customers change selections constantly and you need to track that variance), and on-call labor lives in its own line so it doesn’t get blended with day-crew labor. For the full breakdown, read our guide to construction cost codes.

Workers comp class 5183 — the labor burden math

Plumbing falls under workers comp class 5183 in most states. Premium typically runs $5–$11 per $100 of payroll. Add up the rest of the burden — FICA, FUTA, SUTA, GL allocation, health, vehicle, fuel, phone, training — and plumbing labor burden lands around 35–50% on top of base wage.

A plumber paid $30/hour is closer to $42–$45/hour fully burdened. On-call premium pushes that higher.

The full math, with worked examples, is in our labor burden calculation guide.

Plumbing-specific QBO + JobTread setup notes

Three things to set up differently if you’re a plumber:

  1. Three job templates in JobTread. Service Ticket, Remodel Project, New Construction. Each one with the right cost code list pre-loaded so techs aren’t picking from a 60-item dropdown they don’t need.
  2. Fixture variance tracking. Build a “Fixture Variance” cost code that captures the dollar difference between the fixture you bid and the fixture the customer actually picked. This is where 4–8 points of margin goes on remodels.
  3. Tech utilization report weekly. Service plumbers should be 70–80% billable hour-to-revenue. If a tech is below 60%, that’s a $30K–$50K/year leak you’re absorbing because you didn’t know to look.

Frequently asked questions

Should I run new construction plumbing through the same QBO file as service?

Yes. Same QBO file, different cost code structure, different job template. Splitting them creates more accounting work than it solves and makes payroll, tax filing, and consolidated P&L messy. The right move is one file with disciplined cost code segregation.

How do I handle truck stock without coding every $4 fitting to a job?

Bulk purchases of truck stock go to a “Truck Stock” cost code. At month-end, allocate truck stock cost to jobs based on usage — either by tech hours per job (proxy) or by fittings list per job if your techs log them. Most plumbing shops we set up use the hours proxy because logging individual fittings doesn’t survive contact with a busy day.

What’s the right gross margin target for a plumbing contractor?

Service: 50–60% gross is healthy. Remodel project work: 30–40% is realistic. New construction: typically 15–25% — lower because you’re competing on bid. If your blended margin is below 30%, the cleanup is almost always in the cost-coding discipline.

Do I need to separately track drain cleaning and water heater work?

If they’re more than 10% of revenue each, yes. Drain cleaning has very different equipment costs (jetter, camera) and water heater work has very different labor profiles. Tracking them separately tells you whether your tech specializing in drains is the most profitable guy in the shop or just the busiest.

Job Costing for Plumbing Contractors: QBO + JobTread Setup

The bottom line for plumbing contractors

Plumbing is three businesses in one shop most days. Cost them the same way and the most profitable side carries the side that’s losing money — and you don’t see it until tax season. Separate service from project from new construction in your cost codes, burden on-call labor honestly, and tag every fixture and supply house run to a job. That’s what makes job costing actually work for plumbing.

If you’re running a $1M–$15M plumbing shop and you can’t tell me what your last 5 service tickets netted versus your last 3 remodels, that’s the cleanup we do.

Want us to set up your plumbing job costing in JobTread + QBO?

Book a Discovery Call

Run a different trade? Read our companion guide on job costing for HVAC contractors — same family of service-vs-install problems, slightly different cost structure.


Erin Andrews is the owner of Level Accounting & Advisory, a construction-only accounting firm based in Vero Beach, FL serving contractors nationwide. Level has 20 years of experience in construction accounting and serves specialty trades — including plumbing, HVAC, electrical, concrete, pool, and hardscape — doing $1M–$15M in annual revenue.

subcontractor packet for contractors. collect W9s, workman's comp insurance, general liability insurance

FREE RESOURCE

The Subcontractor Packet That Protects You From a $30K Audit Surprise

-> The complete done-for-you packet — setup form, W-9, and sample subcontractor agreement ready to hand to every sub before their first check

-> The one missing document that lets your insurance company add a sub’s entire payment to YOUR workers comp premium — and how this packet prevents it

-> The insurance minimums, COI requirements, and indemnification language most contractors don’t have in writing until it’s too late

Free Resource

Our “Subcontractor Checklist Packet” makes it easy. Inside, you’ll find exactly what you need for 1099s, workers’ comp, and liability audits.