Flat Rate Pricing in Plumbing: How It Actually Works on the Job
I've been running jobs for over fifteen years, and flat rate pricing is about as common as tape measures now. Most shops use some version of it. The idea is simple: you tell the customer a price before you start work instead of running a timer and hoping for the best. But putting one together right? That's where most people mess up. Flat rate pricing breaks down into a few components: labor time built from your own historical data, materials marked up at whatever your margin is, and trip fees or minimums that keep small calls from losing money. A guide should map each common job to a set time and price so your techs aren't guessing on the spot. I keep mine organized by category — drain work, water heater service, fixture install, valve replacements — and cross-reference with part costs from my two main supply houses. The trick is building your labor times from your own numbers, not from published book times. Book times come from parts manufacturers and they assume a perfectly accessible installation. Real jobs rarely look like that. I pulled my actual job tickets for the past year and calculated the average time for each common service call. Then I added a fudge factor of about 15 percent for things like old fixtures that don't come apart nicely or bathroom cabinets that are closer than the specs suggest. That 15 percent saved me from underpricing at least three jobs a week that would have eaten my margin.
One thing nobody warns you about: your flat rate prices need to shift when your supply costs shift. I learned this the hard way when copper fittings jumped about 40 percent in early 2023. I had three prices locked in that included copper assemblies and I was eating the difference on every job until someone pointed out what was happening. That takes about two days to notice if you're tracking per-job material costs. Go with PEX or stainless line sets where code allows and you sidestep this problem entirely. Most residential work in my area doesn't require copper anyway.
How to Build Your Own Price List
Start by listing every job you do more than twice a month. Put them in a spreadsheet with columns for part cost, labor time estimate, markup percentage, and final price. Do not skip the first step. If you haven't logged what you actually charge per call, you are flying blind. Next, decide your labor rate. Multiply your target hourly wage by your billable ratio. If your techs are only billable 60 percent of the time, which is normal, you need to charge enough to cover the other 40 percent plus overhead. I use roughly 2.2 times the tech's hourly wage as my base labor rate before markup. That covers benefits, truck costs, insurance, tool depreciation, and the administrative hours that nobody thinks about until the end of the month. For materials, mark up based on category. Fast-moving items like toilets and faucets get a smaller percentage because customers comparison shop on those. Specialty parts and hard-to-find items get a higher percentage since you're taking the risk on inventory. I typically run 30 to 40 percent on fixtures and 45 to 55 percent on specialized valves and assemblies.
Get the Full Details

The trip charge is its own thing. Set it high enough that a five-minute diagnostic call doesn't lose you money. My trip charge covers the first 30 minutes of labor. After that, you bill in 30-minute increments at your full labor rate. This is where a lot of shops bleed. If your trip charge is too low, customers will call you for things that aren't emergencies and wonder why you're not eager to come out.
A Problem I Hit That Isn't in Any Guide
I had a job where the customer wanted a water heater replacement but the existing unit was in a closet with maybe 18 inches of clearance on one side and a finished wall directly behind it. The published time for a standard water heater swap was 90 minutes. It took me four hours because I couldn't get the new unit positioned without disassembling part of the closet framing and removing the access panel. The flat rate price I quoted upfront didn't cover this. I ate the difference on that job, which ran about $400 out of my pocket. The workaround was adding a line item to my pricing guide for "constrained access scenarios" with a clear definition: if the technician cannot roll the replacement unit within two feet of the disconnect point without partial demolition or disassembly, the job gets re-priced at time and materials with a documented photo of the constraint before work begins. That single change eliminated that type of surprise on roughly half the tough installs I run into. It also made customers respect the quote more because they could see exactly what triggered the change.
Where Flat Rate Pricing Falls Apart
It doesn't work well for complex whole-house repipes or commercial work where the scope changes once the walls open. I still quote those as time and materials with a detailed line-item estimate upfront. Flat rate is for repetitive, definable jobs. If you try to force it onto custom or exploratory work, you'll either price yourself out of the job or lose money guessing wrong. Be honest about which category a job falls into before you commit to a number. Another limitation: flat rate pricing can make you uncompetitive on price-sensitive markets. In some neighborhoods, customers will take the lowest bid every time. If your prices are 20 percent above the guy who works off a timer and hopes nothing goes wrong, you'll lose those jobs. That's fine. Not every job is for you. The customers who value a firm price and show up on time tend to stick around and refer you.

Pitfalls to Avoid
Don't let your price list go stale. I review mine every quarter and adjust for supply cost changes and seasonal demand shifts. Prices in the summer are different from winter because emergency call volume changes and so does the type of work people need. Gas water heaters get more calls in fall. Ice buildup on outside lines creates bursts in late winter. Your pricing guide should reflect that rhythm. Also don't give your flat rate schedule to your customers as a document. They'll pick through it and negotiate line items. The price list is an internal tool for consistency. What the customer sees is a single number for the job. Keep it that way. I keep my current pricing guide in a shared Google Sheet that updates automatically when I change part costs. Each job type has a tab with the labor time, material markup, and final price. When supply costs change, I adjust one cell and the whole column recalculates. Takes maybe ten minutes to update everything each quarter. It's not fancy but it works.