How to Price a Plumbing Job: Complete Markup & Margin Guide

If you’re a plumbing business owner, you’ve probably asked yourself: Am I charging enough?

The answer, for most plumbers, is no.

Not because you’re unaware of industry rates—but because the math most people use is fundamentally broken. They calculate material cost, add labor hours, slap on a markup, and hope for the best.

That approach leaves money on the table and creates razor-thin margins that disappear the moment anything goes wrong.

Here’s how to price plumbing work correctly.

The Two Pricing Models

Plumbing companies typically use one of two models:

Flat Rate Pricing

You charge a set price for each job type, regardless of how long it takes. Customer replaces a water heater? That’s $1,800. Toilet repair? $185.

Pros:

  • Customers know the price upfront (builds trust)
  • Faster techs earn better margins
  • Easier to quote and close jobs
  • Protects against scope creep

Cons:

  • Requires accurate job time data
  • Less flexible for unusual situations
  • Need to maintain and update price books

Time & Materials (T&M)

You charge hourly labor rates plus cost of materials with markup.

Pros:

  • Simple to explain
  • Works for unpredictable jobs
  • No need for detailed price books

Cons:

  • Customers don’t know final cost upfront
  • Penalizes efficiency (fast work = less revenue)
  • Harder to predict monthly revenue
  • Creates friction during invoicing

Which is better? Flat rate, for most residential and light commercial plumbers. Your best techs shouldn’t be penalized for working faster. But the key to making flat rate work is building your prices on real cost data.

The Real Cost of Labor (It’s Not Just Wages)

This is where most plumbers get pricing wrong.

If you pay a journeyman $30/hour, your actual cost is closer to $38-42/hour. That difference is called labor burden.

Labor burden includes:

  • Employer portion of FICA (7.65%)
  • Federal and state unemployment taxes (~3%)
  • Workers’ compensation insurance (varies, but often 8-15% for plumbers)
  • Health insurance contribution
  • Paid time off (vacation, sick days, holidays)
  • Training time
  • Truck time (non-billable drive time)

Here’s the formula:

Burdened Labor Cost = Hourly Wage × (1 + Burden Rate)

For most plumbing companies, burden rate is 25-40% above wages.

Hourly Wage25% Burden35% Burden40% Burden
$25/hr$31.25$33.75$35.00
$30/hr$37.50$40.50$42.00
$35/hr$43.75$47.25$49.00
$40/hr$50.00$54.00$56.00

Use the higher number for estimating. If your workers comp is on the high side (common in plumbing), 40% burden is realistic.

Calculating Your True Overhead Rate

Overhead is everything you pay to run the business that isn’t directly tied to a specific job: rent, insurance, office staff, phones, software, marketing, truck payments, etc.

Most plumbers never properly allocate overhead to jobs—which is why they think they’re making 25% margin when they’re really making 10%.

Step 1: Calculate monthly overhead

Add up all non-job-specific costs:

  • Rent/mortgage
  • Utilities
  • Office staff salaries
  • Vehicle payments and insurance
  • General liability insurance
  • Software subscriptions
  • Marketing costs
  • Phone and internet
  • Professional services (accounting, legal)
  • Loan payments

Example: $28,000/month in overhead

Step 2: Determine jobs per month

How many billable jobs does your company complete monthly? Not estimates—completed, invoiced jobs.

Example: 85 jobs/month

Step 3: Calculate overhead per job

Overhead per job = Monthly overhead ÷ Jobs per month
Overhead per job = $28,000 ÷ 85 = $329

That means every job needs to contribute at least $329 just to cover your overhead—before you make any profit.

The Complete Pricing Formula

Now we can build a proper price:

Job Price = (Materials + Burdened Labor + Overhead Allocation) × Markup Multiplier

Example: Water Heater Replacement

Cost ComponentCalculationAmount
Materials (tank, fittings, connectors)Wholesale cost$650
Labor (3 hours × 2 techs × $40 burdened)6 × $40$240
Overhead allocationFixed$329
Total Cost$1,219
Price at 40% gross margin$1,219 ÷ 0.60$2,032

For a 40% gross margin, you’d charge around $2,000-$2,100.

What Markup Should You Use?

The markup you need depends on your target margin. Here’s the conversion:

Target Gross MarginMarkup on Cost
30%43%
35%54%
40%67%
45%82%
50%100%

Industry benchmarks:

  • Service calls (repairs): 50-65% gross margin
  • Installations: 35-45% gross margin
  • New construction: 25-35% gross margin

Service work commands higher margins because it’s time-sensitive (emergency calls), requires diagnostic skill, and has less competition than bid work.

Common Pricing Mistakes

1. Pricing Based on Competitors

“The guy down the street charges $150 for drain cleaning, so I charge $155.”

You have no idea if that guy is profitable. Many plumbers are essentially buying jobs—working for barely above cost. Don’t compete on price with people who don’t know their numbers.

2. Not Accounting for Non-Billable Time

Your techs spend time driving, doing paperwork, attending meetings, and training. If you only charge for wrench-on-pipe time, you’re giving away 15-25% of your labor.

Build non-billable time into your rates or your overhead allocation.

3. Flat Markup on Materials

Marking up a $5 fitting the same percentage as a $5,000 water heater doesn’t make sense. Your handling cost is the same.

Better approach:

  • Small parts (<$25): 100-150% markup
  • Medium materials ($25-500): 50-75% markup
  • Large equipment (>$500): 25-40% markup

4. Ignoring Warranty and Callback Costs

If 5% of your jobs require callbacks, that’s real cost. Build it into your pricing.

Effective Price = Base Price × (1 + Callback Rate)

At 5% callbacks, a $1,000 job actually costs you $1,050 to deliver. Price accordingly.

How to Raise Your Prices

If you’ve been undercharging, raising prices feels scary. Here’s how to do it:

  1. Start with new customers. They have no baseline.

  2. Explain the value, not the price. “We include a 2-year warranty” matters more than the dollar amount.

  3. Upgrade your professionalism. Clean trucks, uniformed techs, and clear communication justify premium pricing.

  4. Use flat rate. Customers are more price-sensitive to hourly rates than total job prices.

  5. Test incrementally. Raise prices 10% and track close rates. If close rates stay the same, raise again.

The customers you lose by raising prices are often the ones you didn’t want anyway.

Track Every Job

None of this works if you don’t track actual job costs against estimates.

For every job, record:

  • Actual labor hours (all techs)
  • Actual material costs
  • Any callbacks or warranty work
  • Final invoiced amount

Compare actual margin to expected margin. Patterns will emerge—certain job types are more profitable, certain techs are more efficient, certain customers are more trouble.

Use this data to refine your pricing quarterly.

What Your Numbers Should Show

If your plumbing company is healthy:

  • Gross margin on service work: 50-60%
  • Gross margin on installations: 35-45%
  • Net profit margin (after all expenses): 12-20%
  • Labor cost as % of revenue: 25-35%
  • Revenue per tech per day: $1,500-$2,500 (service), $3,000-$5,000 (install)

If your numbers are significantly below these benchmarks, pricing is likely the issue.

Next Step: Get the Job Costing Template

Knowing the theory is one thing. Tracking it on real jobs is another.

We created a free job costing spreadsheet that does the math for you—input your costs, and it calculates your actual margins.

Download the Job Costing Template →


If you work with other trades or want to compare benchmark margins:


Or if you want help fixing margin problems in your plumbing business, book a free consultation. We work with trade businesses between $500K and $10M who need operational and financial clarity.

Free Framework

The $10M Operations Readiness Assessment

Score your business across 5 operational pillars. The same diagnostic we use with consulting clients paying $5K+.

Get the Free Assessment →