What a Plumbing Shop Should Actually Net
Most plumbing businesses net between 10% and 18% on revenue. According to IBISWorld's 2024 Plumbing Services industry report (NAICS 23822), the average net profit margin for U.S. plumbing firms is approximately 11.2%. That number includes everything from solo operators to mid-size shops with 30 trucks. Shops that actively manage job costing and keep receivables under 25 days tend to push past 15%. Shops that quote from the gut and invoice a week after the job finishes hover around 8% or slide below it.
Compare that to HVAC shops, which report similar gross margins but often net slightly higher because of recurring maintenance contracts. Plumbing shops rarely have that annuity-style revenue, which makes per-job profitability even more critical.
Gross Margin vs. Net Margin: Where the Money Goes
Gross margin is what you keep after direct costs (materials, labor hours on the job, subcontractors). For service and repair plumbing, gross margins typically run 45% to 55%. For new-construction rough-in and finish work, expect 25% to 35%. The difference is material intensity: a repipe or ground-up rough-in has a materials-to-labor ratio of roughly 40/60, while a service call to replace a garbage disposal might be 15/85.
Net margin is what's left after overhead: rent, insurance, vehicle costs, office staff, marketing, software, fuel, warranty callbacks, and that pile of unbilled drive time you've been ignoring. For a typical shop doing $1.5M in annual revenue, overhead eats $450K to $600K per year, or 30% to 40% of gross revenue.
Here's a rough breakdown for a $1.5M plumbing shop with a 48% blended gross margin:
- Gross profit: $720,000
- Vehicle and fuel: $90,000 to $120,000 (6% to 8%)
- Insurance (GL, workers' comp, auto): $75,000 to $105,000 (5% to 7%)
- Office and admin payroll: $60,000 to $90,000 (4% to 6%)
- Marketing and lead gen: $30,000 to $60,000 (2% to 4%)
- Rent, utilities, shop costs: $36,000 to $60,000 (2.5% to 4%)
- Software, tools, misc: $24,000 to $36,000 (1.5% to 2.5%)
- Callbacks and warranty work: $15,000 to $45,000 (1% to 3%)
Total overhead: roughly $330,000 to $516,000. That leaves net profit of $204,000 to $390,000, or 13.6% to 26%. The wide range is the point. Two shops with identical revenue and identical gross margins can have wildly different net margins based on how tightly they manage overhead.
Why Most Plumbing Shops Underperform the Benchmark
The biggest profit leaks in a plumbing shop are not dramatic. They're small, chronic, and mostly invisible on a quarterly P&L.
Unbilled drive time
A two-tech shop running four service calls per day loses roughly 90 to 120 minutes to windshield time. If your loaded labor cost is $65/hour and you're not recovering drive time in your service call price, that's $97 to $130 per day per truck walking out the door. Over 250 working days, that's $48,750 to $65,000 for just two trucks.
Material markups that don't hold
Industry standard for plumbing parts markup is 35% to 50% on cost. Plenty of shop owners quote 40% but actually realize 22% to 28% because techs grab parts from the supply house at list price, not contract price, or because they don't bill every fitting, coupling, and roll of Teflon tape. PHCC (Plumbing-Heating-Cooling Contractors Association) has consistently noted that material leakage is one of the top three profit drains for member shops.
Slow invoicing
If you invoice 3 to 5 days after the job closes and your terms are Net 30, you're actually at Net 33 to 35. That delay costs real cash. For a shop billing $125,000 per month, every extra day of receivables outstanding ties up roughly $4,100 in working capital. Multiply that by 5 days of invoicing lag and you've got $20,500 permanently stuck in limbo. Cutting invoicing lag to same-day closes that gap fast and reduces the odds of disputes or forgotten line items.
Callbacks
According to a 2023 ServiceTitan industry benchmark report, the average callback rate for plumbing service work is 3% to 5%. Each callback costs the shop $250 to $500 in labor and truck time with zero revenue attached. A shop running 2,000 service calls a year at a 4% callback rate absorbs $20,000 to $40,000 in dead cost annually.
These four leaks alone can account for 7 to 12 margin points. For a deeper look at the pattern, read why contractors lose money on jobs even when they think they're pricing correctly.
Profit Margin by Service Type
Not all plumbing work pays the same. Here's what the ranges look like for common job types, based on PHCC benchmarking data and industry surveys:
- Emergency/after-hours service calls: 55% to 65% gross margin. High labor leverage, minimal materials. This is where per-call pricing (flat rate) dramatically outperforms time-and-materials.
- Drain cleaning and jetting: 60% to 70% gross margin. Equipment amortization is the main cost. Once the jetter is paid off, margins jump further.
- Water heater replacements: 40% to 50% gross margin. Tank water heaters have tight material margins; tankless installs are higher because of labor complexity and fewer price-shoppers.
- Bathroom/kitchen remodel plumbing: 35% to 45% gross margin. Change orders are common and often underbilled, which compresses realized margin.
- New-construction rough-in: 25% to 35% gross margin. Competitive bidding, GC pressure, and long payment cycles all push margins down.
- Commercial service contracts: 30% to 40% gross margin. Volume offsets lower per-call profit, but only if you manage scheduling density.
The takeaway: shops that tilt their mix toward service and repair work almost always net higher overall. A shop doing 70% service / 30% install at $1.2M will often net more dollars than a shop doing 40% service / 60% new construction at $1.8M.
[ADD FIRST-HAND DETAIL: If you track margin by service type in your own shop, your actual numbers here would be more useful than any benchmark.]
How to Actually Improve Your Margins
Raising prices is the obvious answer, but it's not the only one. Here are five moves that reliably add 3 to 8 net margin points without repricing your entire book.
1. Track profit per job, not per month
A monthly P&L tells you that you made or lost money. It doesn't tell you which jobs caused it. You need job-level cost tracking: actual labor hours (including drive time), actual materials used (not quoted), and any warranty/callback costs. This is the single highest-impact change a shop owner can make. BLS data shows that trade businesses using job costing software report 10% to 15% higher profitability than those relying on manual tracking or monthly financials alone.
2. Invoice from the truck
Same-day invoicing improves cash flow and catches every billable item while the tech still remembers the job. A clipboard estimate turned into an invoice three days later almost always has missing line items. Invoicing from the field, ideally pulling items straight from your QuickBooks item list on a mobile device, eliminates that gap.
3. Set and enforce payment terms
For residential service, collect at completion. For commercial, Net 15 beats Net 30 by a wide margin in actual collection speed. Most plumbing shops that switch from Net 30 to Net 15 with automatic reminders see average days outstanding drop from 38 to 19. That frees up significant working capital. For specifics on structuring terms, see contract invoice payment terms for trade contractors.
4. Audit your material costs quarterly
Supply house pricing drifts. Your quoted prices may have been built on 2023 costs that are now 8% to 12% higher. Pull your last 30 invoices, compare quoted material totals to actual purchase receipts, and see if you're actually hitting your target markup. Most shop owners who do this for the first time find a 5 to 10 point markup gap.
5. Reduce callbacks with a punch-list close-out
A 60-second walkthrough with the customer before leaving the job catches 80% of the issues that turn into callbacks. It's free, it protects margin, and it builds the kind of trust that generates referrals.
Benchmarks Worth Tracking Monthly
If you only track five numbers, make them these:
- Blended gross margin: target 45% or above for a service-heavy shop.
- Net margin: target 12% minimum, 18%+ for a well-run operation.
- Revenue per truck per month: $25,000 to $40,000 is the healthy range for residential service, according to PHCC benchmarking data.
- Average days outstanding (receivables): under 25 days. Every day over 30 costs you real money.
- Callback rate: under 3%. Track it per tech, not just shop-wide.
Shops that review these five numbers monthly and adjust catch problems in weeks instead of quarters. The ones that don't find out they had a bad year sometime around February when the tax return comes back.
If you want to stop guessing at your margins, try Fieldpaid free for 7 days. No credit card required. It pulls prices straight from your QuickBooks item list and tracks real job profit automatically so you know exactly what every call, every truck, and every tech is actually earning.
Related reading: Why Contractors Lose Money on Jobs · Average HVAC Profit Margin: Real Numbers for 2024 · How to Get Paid Faster as a Contractor