Search “plumbing contractor software” and you’ll find Jobber. Service Fusion. Housecall Pro. Tools built for the residential plumbing company that dispatches a technician to a burst pipe call, invoices the homeowner the same afternoon, and follows up for a five-star review.
That’s a real business. It’s not yours.
A commercial plumbing sub on a 12-month school job doesn’t have service tickets. He has an underground phase, an above-slab rough-in phase, and a fixtures-and-trim phase, each with a different crew size, a different production metric, and a different cost profile. The GC is holding him to a slab-pour date. The inspector is coming for the rough-in before the walls close. The trim crew is waiting for the GC to hand off spaces.
The deeper problem: the underground phase doesn’t announce its overruns. A plumbing rough-in running 12% over is a cost problem. A plumbing underground running 12% over — discovered after the slab has poured — is a structural problem. The cost of the overrun is now the cost of the overrun plus whatever it takes to saw-cut into a concrete slab and redo the work.
The PM who catches an underground overrun in week three can make decisions: accelerate the crew, revise the production rate, flag it for a change order if there’s a scope reason for it. The PM who finds out at closeout has none of those options. All he has is a final number that doesn’t explain itself.
That’s a time tracking problem. Specifically, it’s a phase-based time tracking problem. Here’s what it looks like for commercial plumbing.
Why “Plumbing Contractor Software” Returns the Wrong Results
The plumbing industry has two business models that share a name and almost nothing else.
The first is field service: residential and light commercial plumbing, service calls, tenant work, maintenance contracts. The job opens and closes the same day or the same week. The tools built for this model — Jobber, Housecall Pro, Service Fusion — are scheduling, dispatching, and invoicing tools built around the service ticket.
The second is commercial construction: a plumbing subcontractor roughing in a 200,000-square-foot school, a multi-floor medical office building, a hotel. The customer is a GC. The job runs 8–18 months. The crew is 10–35 workers. Labor is tracked against a bid assembled from phase-based productivity estimates.
These two businesses have almost nothing in common operationally. The tools that dominate “plumbing contractor software” results were built for the first. If you’re running the second, you’re looking in the wrong category.
What commercial plumbing subs need is the same thing electrical and mechanical subs need: phase-based time tracking, cost code-based job costing, and actual labor hours by phase that can be compared to the estimate — at mid-job, not at closeout.
The Three Phases of Commercial Plumbing Work
Commercial plumbing labor breaks into three phases. Each has a different risk profile. Each needs its own cost code.
Phase 1: Underground
Below-slab rough-in — drain, waste, and vent piping installed in the earth before the concrete slab pours. The crew trenches, lays pipe to grade, sets floor drains, sleeves for above-slab connections. Production is measured in lineal feet of pipe per day for a given pipe size and trench condition.
Underground is the most consequential phase on a commercial plumbing job, for one reason: it’s the only phase that becomes irreversible. Once the slab pours, nothing about the underground changes without a saw-cut, a permit, and a rework crew.
If the underground phase runs 15% over the estimated hours, the PM needs to know before the pour — not after. Before the pour, the options are: investigate why (soil conditions? rework from design changes? a crew productivity problem?), decide whether to flag a change order, and determine whether the estimate for the above-slab rough-in needs to be revised. After the pour, the overage is baked in and the only question is whether anyone explains it.
What to track: Hours by crew, by building area or zone, against lineal footage. The cost code — PLMB-UNDERGROUND or PLMB-UG — gives the PM a weekly actual vs. estimated comparison while the slab date is still ahead of him.
Phase 2: Above-Slab Rough-In
Supply, waste, and vent piping above the slab — horizontal runs, risers, connections to above-ceiling mains, sleeve penetrations. The inspection gate at the end of this phase (the rough-in inspection, before walls close) is the PM’s hard deadline.
Above-slab rough-in on a commercial plumbing job is the highest-visibility phase. The work is open, the inspector is coming, and the drywall sub is waiting. A rough-in that passes on the first inspection keeps the schedule. A rough-in with deficiencies means a correction cycle before the walls close, which means the drywall crew waits, which means the GC is calling.
Rough-in labor is predictable on a well-documented job. The PM has a linear footage estimate and a crew productivity range. If the above-slab rough-in is tracking to the estimate, the inspection will likely pass on time. If it’s running over, there’s a reason — either the scope changed (RFIs, field conditions), the crew is running behind, or the estimate was wrong. The PM who sees the weekly actual vs. estimated has a reason to ask the foreman the right question.
What to track: Hours by floor or zone, against rough-in footage. The cost code — PLMB-ROUGHIN — separates above-slab labor from underground labor. Without the separation, a smooth rough-in phase can mask an underground that ran over, and vice versa.
Phase 3: Fixtures and Trim
Setting fixtures, making final connections, installing trim items — faucets, flush valves, water heaters, access panels. This is the variable phase.
Trim labor is the phase that reveals whether the rough-in was clean. A well-run rough-in — stub-outs in the right locations, at the right heights, with the right pipe size — produces a trim phase that runs close to the estimate. A rough-in with field corrections, relocated stub-outs, or code deficiencies produces a trim phase that expands to accommodate all the adjustments the crew couldn’t make earlier.
Trim is also where the GC’s schedule fragmentation shows up. The drywall isn’t finished in all spaces. The tile isn’t in in some bathrooms. The GC is turning over floors piecemeal. The plumbing trim crew chases the GC’s handoff schedule instead of moving through the building systematically. Labor hours scatter across partial spaces, return visits, and coordination waits.
What to track: Hours by floor or zone, against fixture count. The cost code — PLMB-TRIM — gives the PM a trim labor number that can be compared to the estimate and, eventually, to the rough-in labor quality that preceded it.
What Happens Without Phase-Based Tracking
The failure mode: the job closes and the final labor number is $35,000 over the bid. Nobody knows where it went.
Was it the underground phase? The soil conditions on the east wing were worse than the drawings showed, and the crew spent two weeks on rework that never got flagged as a change order. Was it rough-in? One floor had the toilet stub-outs at the wrong elevation and the correction happened quietly without anyone noting it. Was it trim? The GC handed off spaces in five-day increments instead of one floor at a time, and the crew made seventeen return visits.
Without phase codes, the PM has a payroll total and a bid total and a gap he can’t explain. The next bid gets a 10% contingency added across the board. But if the overage was entirely in underground due to a one-time soil condition, that 10% is pricing the trim and rough-in phases wrong on the next job.
Phase-based cost codes turn payroll data into bidding data. For plumbing, three phases — underground, rough-in, and trim — is the right granularity. Enough detail to diagnose a problem. Simple enough that the foreman assigns the code at clock-in without consulting a reference sheet.
Five Codes for a Commercial Plumbing Job
Five codes cover most commercial plumbing work:
PLMB-UG— underground, below slabPLMB-ROUGHIN— above-slab rough-in, horizontal and verticalPLMB-TRIM— fixtures, final connections, trimPLMB-MECH— mechanical room piping (where it’s a distinct scope)PLMB-SERVICE— warranty callbacks and post-closeout service work
The first three are the primary job-cost codes. The fourth separates mechanical room piping — booster pump connections, water heater manifolds, backflow assemblies — when that scope is large enough to track separately. The fifth isolates warranty labor so callbacks don’t inflate the rough-in or trim cost codes on the closed job.
That time tracking by cost code gives the PM the weekly actual vs. estimated comparison by phase — the one number that tells him, in week four of a 16-week job, whether the underground estimate was right before the slab pours.
What to Look For in a Time Tracking Tool for Plumbing Subs
The residential dispatch tools aren’t the right category. The right category is construction time tracking with cost code support. What that means in practice:
Cost code assignment at clock-in. The foreman clocks in his crew and assigns the phase code in one step. If the code is a separate entry — a separate screen, a separate field, a separate workflow — it won’t happen consistently. The code has to be part of the clock-in.
Weekly actual vs. estimated by phase, visible to the PM. The PM needs to see hours by phase as they accumulate. Not a Friday report that arrives Monday. If PLMB-UG is tracking 18% over the estimate in week two and the slab pours in week five, the PM has three weeks to act. If he finds out at closeout, he has nothing.
Export to payroll and accounting. Time tracking data needs to flow to payroll by employee and to job costing in QuickBooks or Sage by cost code. A system that tracks hours but requires re-entry into the accounting system has created a second data-entry problem, not solved the first one.
Mobile, works offline. Commercial plumbing crews work in crawl spaces, utility tunnels, and below-grade mechanical rooms where signal is unreliable. The tool has to work offline and sync when the phone reconnects. A tablet-required or WiFi-required system is a system the crew won’t use.
LogLoon’s time tracking for plumbing contractors handles all four: cost code at clock-in, real-time phase tracking visible to the PM, export to QuickBooks and Sage, and a mobile-first design that works in the crawl space.
Running a Plumbing Job Where the Underground Doesn’t Surprise You
Three phases. Five codes. Weekly actual vs. estimated by phase, with the slab-pour date on the calendar.
That’s the tracking structure that tells the PM, in week three of a 16-week school job, whether the underground is tracking to the estimate — while there’s still time to do something about it. And at closeout, it’s the data that goes into the next bid with a real underground productivity rate, not a total that doesn’t explain why it ran over.
For the same phase-based framework applied to mechanical work, see mechanical contractor time tracking. The phases are different; the tracking logic is the same.
See how LogLoon handles time tracking and cost codes for commercial plumbing subs, or check the pricing — it’s on the website.