A plumbing business makes money by converting licensed technician hours into billed revenue at high utilization, controlling parts markup, and running dispatch tight enough that trucks spend more time on jobs than on roads.
Labor eats 40% to 60% of every job’s cost, and materials take another 20% to 30%. What’s left depends almost entirely on how well you manage time, pricing, and scheduling.
The economics favor operators who get this right. Licensing requirements, code compliance, and emergency demand create real pricing power that most service trades cannot match. The challenge is converting that structural advantage into consistent, repeatable profit.
Asset Configuration
You don’t need a warehouse or heavy machinery. What you need is trucks, tools, parts inventory, and software to keep everything moving. A two-truck setup can handle 6 to 8 jobs per day depending on job mix and drive distances.
| Asset Category | Cost Range (USD) | What Drives It |
| Service vans (1 to 2 used or leased) | 40,000 to 60,000 | Must be stocked with pipe, fittings, diagnostics |
| Professional tooling (cameras, augers, threaders) | 10,000 to 15,000 | Inspection cameras alone run $3,000 to $5,000 |
| Dispatch and billing software | 3,000 to 6,000 | Route optimization, invoicing, work orders |
| Parts inventory starter kit | 4,000 to 6,000 | Common fittings, valves, joints, seals |
| Licensing, bonding, uniforms, website | 3,000 to 5,000 | Non-negotiable for compliance and trust |
| Total CapEx | 60,000 to 92,000 | Fully operational two-truck setup |
Here’s the number to watch when you think about adding trucks:
- Annual vehicle cost per truck = (Purchase price / useful life) + fuel + maintenance + insurance
- Example: ($30,000 / 5) + $6,000 + $3,000 + $2,500 = $17,500 per truck per year
That truck needs to generate enough margin to justify $17,500 before it contributes a dollar to profit.
Revenue Model
Plumbing revenue comes from four places: emergency repairs, fixture and appliance installations, large repiping or remodel projects, and recurring maintenance contracts. A single service call might bill $150. A full repipe can hit $7,000+. Emergency after-hours work carries the fattest margins (60% to 70% gross) because customers pay for speed, not comparison shopping.
Core Formulas
- Gross Revenue = Total Jobs x Average Ticket Size
- Revenue per Billable Tech Hour = Total Revenue / Total Billable Hours
- Net Revenue = Gross Revenue x (1 – Callback/Warranty Rate)
Worked Example: 2-Truck Residential Operation
Two trucks, two lead technicians, one apprentice. Running 250 days a year, averaging 3.5 billable jobs per truck per day.
| Revenue Stream | Volume Assumption | Annual Revenue (USD) |
| Residential service calls (avg. $450) | 500 jobs/year | 225,000 |
| Water heater, fixture, drain installs (avg. $1,500) | 150 installs/year | 225,000 |
| Emergency and after-hours work (avg. $650) | 100 jobs/year | 65,000 |
| Repiping and remodel projects (avg. $4,500) | 30 projects/year | 135,000 |
| Maintenance contracts (HOAs, multi-family) | 60 clients at $1,200/year | 72,000 |
| Total Gross Revenue | 722,000 |
Factor in a 2.5% callback and warranty allowance (because callbacks happen, and pretending they don’t is how you lose money quietly):
Net Revenue = 722,000 x (1 – 0.025) = 703,950
Urban operators with commercial accounts regularly scale past $1M with just 3 to 4 trucks. Solo owner-operators typically land between $250,000 and $400,000.
Revenue per Technician
This is the number that tells you whether your operation is actually working. Top-performing plumbing companies generate $200,000 to $300,000 per technician per year.
- Revenue per tech = 722,000 / 3 = $240,667
- Revenue per billable hour = 722,000 / (3 x 1,500 billable hours) = $160.44
If you’re below $150 per billable hour, something is off. Either pricing is too low, drive time is too high, or your techs are spending too many hours on non-billable work.
Operating Costs
The cost structure is straightforward but unforgiving: labor dominates, parts are second, and everything else is overhead. Where most plumbing businesses bleed margin is in the invisible stuff: non-billable hours spent driving, handling callbacks, and doing paperwork; parts that walk off trucks untracked; and jobs priced too low for their actual complexity.
Staffing Math
- Lead technicians: 2 x $80,000 = 160,000
- Apprentice: 1 x $45,000 = 45,000
- Part-time dispatcher/admin: 1 x $35,000 = 35,000
- Total labor = 240,000
Full Cost Structure
| Cost Category | Annual Cost (USD) | Notes |
| Technician and admin wages | 240,000 | The big one |
| Parts, fittings, supplies | 100,000 | ~14% of revenue; markup is a profit lever |
| Vehicle fuel, maintenance, insurance | 22,000 | Two trucks, commercial auto |
| Business insurance, licensing, bonding | 10,000 | General liability, surety bond |
| Marketing and lead generation | 14,000 | Google Ads, SEO, referral program |
| Software (CRM, dispatch, invoicing) | 6,000 | Worth every dollar if it reduces idle time |
| Equipment replacement | 4,000 | Camera repairs, tool wear |
| Owner compensation | 80,000 | Baseline draw before profit share |
| Total Operating Costs | 476,000 |
Profit Math
- Operating Profit = 703,950 – 476,000 = 227,950
- Operating Margin = 227,950 / 703,950 = 32.4%
Strip out the owner draw and pre-owner EBITDA is $307,950 (43.7%). That matters because many industry benchmarks exclude owner compensation. Healthy plumbing businesses target 15% to 25% net margin after full owner pay, with gross margins of 60% to 70%.
Break-Even Analysis
This is the number most plumbing business owners never calculate, and it’s the one that matters most early on.
Contribution per Job = Average Ticket – Variable Cost per Job
Total jobs: 840 per year. Average ticket across all types: $860.
- Variable cost per job: parts ($119) + tech labor ($244) + vehicle ($26) = $389
- Contribution per job = 860 – 389 = $471
- Fixed costs (admin, owner comp, insurance, marketing, software, equipment) = $149,000
- Break-even = 149,000 / 471 = 316 jobs per year
That’s roughly 1.3 jobs per working day. A 2-truck operation averaging 3.5 jobs per truck runs at 2.7x break-even. That’s a strong cushion, but it disappears fast if you add trucks or staff without the job volume to back them up.
Sensitivity: What Moves Profit Most
| Variable | Change | Profit Impact (USD) |
| Average ticket size | +$100 per job | +84,000 |
| Jobs per day (combined) | +1 job/day | +117,750 |
| Parts markup | +10% on materials | +10,000 |
| Technician wage inflation | +10% | -20,500 |
| Callback rate | +2% (2.5% to 4.5%) | -14,440 |
The pattern is clear. Pricing and volume move profit 4x to 8x more than cost reductions. You cannot cut your way to a great plumbing business. You have to price and schedule your way there.
Profitability Strategies
The math above shows where the money is. These strategies target the levers that actually move it.
1. Protect Billable Hours Like They’re Cash (Because They Are)
Every billable hour should yield $150 to $200+ in revenue. Non-billable time (driving, admin, callbacks) should stay below 25% of total paid hours. Here’s what it costs when it doesn’t:
Annual cost of 15% non-billable time: 3 techs x 2,000 hours x 0.15 x $175 = $157,500 in unrealized revenue
That’s not a rounding error. That’s a technician’s salary vanishing into windshield time and paperwork.
2. Flat-Rate Price 80% of Your Jobs
Build a price book for every common service (“Toilet Install: $389 including materials”). Flat-rate pricing eliminates quoting delays, removes pricing friction with customers, and protects your margin. Save time-and-materials quotes for genuinely complex or custom work only.
3. Stock Vans Smart, Track Parts Tight
Pre-stock each van with the top 80% of parts your techs need on a typical day. Then track what gets used versus what gets invoiced.
In undisciplined operations, material leakage and overuse erode 5% to 10% of margin annually. That’s $35,000 to $70,000 on a $700K business. Renegotiate supplier terms quarterly based on actual volume.
4. Charge What Emergencies Are Worth
After-hours and emergency calls should carry a 30% to 50% premium. Customers calling at 10 PM with a burst pipe are not shopping around. These jobs run 60% to 70% gross margins.
Make rapid dispatch a core differentiator, then upsell follow-on work (valve replacements, water filtration, fixture upgrades) while you’re already on site.
5. Build a Base with Maintenance Contracts
Annual maintenance contracts (drain cleaning, water heater flushes, leak inspections) for homeowners and HOAs are the closest thing plumbing has to recurring SaaS revenue.
They carry 70% to 80% gross margins, smooth out seasonal dips, and create a pipeline of high-ticket replacement leads.
Target: 100 contracts x $1,200/year = $120,000 in base revenue at 75% margin = $90,000 gross profit
That’s $90,000 in profit before your techs even pick up a wrench on a new service call.
So what?
A plumbing business prints money when it’s run like a dispatch operation, not a trade shop. The profit doesn’t come from turning wrenches. It comes from filling schedules, pricing accurately, and keeping trucks productive.
A 2-truck operation running 840 jobs a year generates $227,950 in operating profit on $703,950 in net revenue, a 32.4% margin, with less than $92,000 in startup capital.
Break even at 316 jobs, bill $160+ per tech hour, flat-rate everything you can, and build recurring contracts that fund the base. That’s the model.

To run your own numbers with real inputs, use this template: Get the Plumbing Business Financial Model



