
How to Price Plumbing Services: A Guide to Profitable Pricing
If you're a plumber who struggles with pricing, you're not alone. Most plumbers either underprice their work (leaving thousands on the table every year) or feel uncomfortable talking about money with customers. Both problems are fixable.
This guide walks through the math, the strategy, and the presentation of pricing your plumbing services.
Why Most Plumbers Underprice
Before we get into numbers, understand why pricing matters so much:
- A plumber charging $75/hour instead of $100/hour on a 5-hour job loses $125 on that single job
- Over 250 jobs per year, that's $31,250 in lost revenue
- That money could cover a new work van, a helper, or just a much better life for your family
Most plumbers set prices by copying the competition or using the same rates they charged five years ago. Neither approach accounts for your actual costs.
Step 1: Calculate Your True Costs
You can't price profitably without knowing what it costs to run your business.
Fixed Costs (Monthly)
Add up everything you pay regardless of how many jobs you do:
- Vehicle payment and gas: $800-$1,500
- Insurance (all types): $300-$600
- Phone and software subscriptions: $100-$300
- Tools and equipment (amortized): $100-$300
- Marketing: $200-$500
- Office or storage: $0-$500
- Licenses and training: $50-$100
- Accounting/bookkeeping: $100-$300
Typical monthly overhead for a solo plumber: $2,000-$4,000
Variable Costs (Per Job)
- Materials and parts
- Permits
- Dump fees
- Subcontractor costs
- Credit card processing fees (typically 2.5-3%)
Your Salary
Don't forget to pay yourself. What do you need to earn? What do you want to earn? Be honest and include benefits (health insurance, retirement) that a W-2 job would provide.
The Hourly Cost Formula
(Annual overhead + annual salary + profit target) / billable hours per year
Example:
- Annual overhead: $36,000
- Desired salary: $80,000
- Profit margin (15%): $17,400
- Billable hours: 1,500/year
Minimum hourly rate: $89/hour
That's your break-even-plus-profit rate. Anything less and you're subsidizing your customers.
Step 2: Choose Your Pricing Model
Hourly Pricing (Time and Materials)
How it works: Charge by the hour plus materials with markup.
Best for:
- Diagnostic work where you don't know the scope
- Commercial contracts
- Ongoing maintenance agreements
Typical plumbing hourly rates (2025):
- Apprentice/helper: $45-$65/hour
- Journeyman plumber: $75-$120/hour
- Master plumber: $100-$150/hour
Drawback: Customers hate uncertainty. "It depends" is the least reassuring thing you can say.
Flat-Rate Pricing (Recommended)
How it works: Set prices for specific jobs. The customer knows exactly what they'll pay before you start.
Best for:
- Residential service calls
- Common repairs and installations
- Any job you've done enough times to estimate accurately
Advantages:
- Customers feel confident approving work
- You're rewarded for being fast and efficient
- Average tickets tend to be 15-25% higher than T&M
- Easier for your team to sell
Common flat-rate plumbing prices (2025):
| Service | Price Range | |---|---| | Service/diagnostic fee | $79-$149 | | Faucet replacement | $200-$400 | | Toilet replacement | $300-$500 | | Water heater replacement (tank) | $1,200-$2,500 | | Water heater replacement (tankless) | $2,500-$5,000 | | Drain cleaning (main line) | $200-$450 | | Drain cleaning (secondary line) | $150-$300 | | Garbage disposal replacement | $250-$450 | | Sump pump replacement | $400-$800 | | Water line repair | $500-$2,000+ | | Sewer line repair | $1,500-$5,000+ |
These ranges vary significantly by market. Adjust based on your area's cost of living and competition.
Hybrid Approach
Many plumbers use flat rates for common jobs and switch to T&M for unusual or complex work. This gives you the best of both worlds.
Step 3: Build Your Pricebook
A pricebook is a standardized list of every service you offer with set pricing.
How to Build One
- List every job type you commonly perform
- Time each one (average across multiple instances)
- Calculate labor: Time x your hourly rate
- Add materials: Typical parts needed with markup
- Add profit margin: 15-25% depending on the job
- Round to professional numbers: $397 feels better than $412
Sample Pricebook Entry
Standard Water Heater Replacement (40-50 gallon tank)
- Labor: 3 hours x $100 = $300
- Water heater (cost): $400 x 1.3 markup = $520
- Fittings and supplies: $40 x 1.5 markup = $60
- Haul-away old unit: $50
- Subtotal: $930
- Profit margin (15%): $140
- Customer price: $1,070
Round to $1,099 for a clean presentation.
Material Markup Guidelines
Material markup is standard in plumbing. It covers your time sourcing parts, warranty risk, and inventory management.
- Small parts (fittings, valves): 50-100% markup
- Fixtures (faucets, toilets): 30-50% markup
- Equipment (water heaters, sump pumps): 25-40% markup
- Pipe and fittings (per job): 40-60% markup
Don't feel guilty about markup. Supply houses mark up materials before selling them to you, and you're adding value by selecting, transporting, and installing them.
Step 4: Present Pricing Like a Professional
How you present pricing matters as much as the numbers themselves.
The Good-Better-Best Method
Always offer three options when possible:
Example: Leaking Water Heater
- Good ($1,099): Standard 40-gallon tank water heater with 6-year warranty
- Better ($1,499): High-efficiency 50-gallon tank with 10-year warranty and expansion tank
- Best ($3,499): Tankless water heater with endless hot water and 15-year warranty
Most customers choose the middle option. Your most profitable option should be "Better."
How to Talk About Price
Don't say: "It's gonna run you about fifteen hundred bucks, give or take."
Do say: "The investment for a new water heater installation is $1,499. That includes the unit, all labor, permits, hauling away the old one, and a 10-year manufacturer warranty. We can have it done today."
Key principles:
- Use specific numbers (not "about" or "around")
- Bundle everything into the price
- Emphasize what's included
- Use "investment" instead of "cost"
- Close with timing
Handling Objections
When a customer says it's too expensive:
- Acknowledge: "I understand. It's an important decision."
- Explain value: "The price includes [list everything]. You're covered for 10 years."
- Offer options: "If budget is a concern, the standard option at $1,099 is a solid choice."
- Never discount without removing scope
Step 5: Raise Your Prices Regularly
Costs go up every year. Your prices should too.
- Review annually: At minimum, adjust for inflation (3-5%)
- Give notice: 30 days for existing maintenance customers
- Adjust your pricebook: Update material costs from your suppliers
- Don't apologize: Professional businesses raise prices. It's expected.
If you haven't raised prices in two or more years, you're effectively giving yourself a pay cut.
Tracking Your Profitability
Price setting is just the start. You need to track whether your pricing actually produces profit.
Key Metrics
- Gross margin per job: Target 50% or higher
- Average ticket: Track monthly and aim to increase it
- Close rate on estimates: 50-65% is healthy
- Revenue per billable hour: Should exceed your calculated hourly rate
- Material costs as % of revenue: Track for creep
Software like Business Genie can track these metrics automatically, so you can see which jobs are profitable and which need a price adjustment.
Key Takeaways
- Calculate your actual costs before setting any prices
- Flat-rate pricing is better for residential service in almost every case
- Build a pricebook and update it annually
- Always present Good-Better-Best options
- Mark up materials -- it's standard and expected
- Raise your prices at least once a year
- Track profitability, not just revenue
Price with Confidence
Your expertise keeps people's homes running. You've invested years in your trade, carry insurance to protect your customers, and show up when they need help. Your pricing should reflect that value.
Business Genie makes professional pricing easy with instant estimates, branded invoices, and payment tracking. Try it free for 3 months.