Vol. I · No. 31Wednesday, September 16, 2026
AdvertiseSign in
The Plumbing Brief
Independent plumbing intelligence
Subscribe · Free
Business

How to Estimate a Plumbing Job

By The Plumbing Brief Editorial Team · August 31, 2026 · Last reviewed: August 2026

The estimate formula, start to finish

Every plumbing estimate is the same equation: cost plus profit. Cost has three parts, labor, materials, and overhead. Profit is the margin you add so the job funds the business, not just breaks even. Write it as Price equals Cost divided by (1 minus margin). That single line keeps you from marking up when you mean margin.

Job-by-job estimating is different from working off a set list. A published flat-rate price list gives you one number for a common task. Estimating rebuilds that number from parts when the job is bigger, custom, or unknown. Whether you bill the result as flat rate vs hourly is a separate decision; the math below feeds either model.

Markup and margin are not the same thing, and mixing them is the fastest way to underprice. Markup is a percentage added to your cost. Margin is profit as a share of the final price. A 50 percent markup on a $100 cost gives $150, which is only a 33 percent margin. Decide which one each line uses before you total anything.

Build your loaded labor rate

Your loaded labor rate is not the wage. Start with the base wage, add labor burden (taxes, workers comp, insurance, benefits) of roughly 30 to 40 percent, then divide by billable hours. Techs bill only 30 to 50 percent of a paid day, so the rate you must recover per billable hour runs far above the hourly wage.

This is the step most estimating guides skip. They stop at wage plus a burden percentage and call it the labor rate. But you pay a tech for drive time, warehouse time, and slow afternoons, and none of that is billable. If you price labor at the paid-hour cost, every non-billable hour comes straight out of profit.

Step Figure
Base hourly wage $40.00
Labor burden at 35% (taxes, comp, insurance, benefits) +$14.00
Fully burdened cost per paid hour $54.00
Billable ratio (billable hours divided by paid hours) 45%
True cost per billable hour ($54.00 divided by 0.45) $120.00

That $120 is a cost, not a price. It is what one hour of billable labor actually costs you to deliver. Profit comes later, from the margin. Run your own wage and burden through the same five rows and you will likely land somewhere between $90 and $160 per billable hour depending on your metro and how tightly you dispatch.

Price the materials and markup

Price materials at what you pay today, not last quarter’s invoice, then mark them up. Small parts (supply lines, valves, escutcheons) carry 60 to 100 percent markup because handling cost is fixed and the line value is low. Big-ticket items like a water heater usually get 20 to 40 percent. Include your true landed cost, freight and pickup time counted, before you apply the markup.

Use tiered markup so a $2 part and a $650 heater are not treated the same way. Cross-check your job totals against a repair cost reference so your estimate lands in the range customers see elsewhere.

Material type Typical markup Why
Small parts (supply lines, valves, escutcheons) 60 to 100% Fixed handling cost, low line value
Mid parts (fittings, pan, flex connectors) 50 to 75% Moderate value, still real stocking cost
Big-ticket (water heater, pump, softener) 20 to 40% High markup would price the job out
Permits and third-party fees Pass-through at cost Customers can verify these

Worked example: a water heater swap

Take a standard 50-gallon gas water heater swap: about 4 billable hours, a $650 heater, $120 in fittings and pan, and a $75 permit. Run it through the formula with a labor cost of $120 per billable hour, a 45 percent margin on the service, and materials markup on parts. The customer price lands near $2,135. Here is every step.

  1. Labor cost: 4 billable hours times $120 equals $480.
  2. Overhead: 4 hours times $18 per billable hour equals $72.
  3. Service cost so far: $480 plus $72 equals $552.
  4. Apply 45 percent margin: $552 divided by 0.55 equals $1,004.
  5. Heater: $650 landed cost, marked up 30 percent, equals $845.
  6. Fittings and pan: $120 landed cost, marked up 75 percent, equals $210.
  7. Permit: $75, passed through at cost.
  8. Customer price: $1,004 plus $845 plus $210 plus $75 equals $2,134.

Notice the labor and materials use different methods on purpose. The service (labor plus overhead) carries the 45 percent margin. The heater carries a modest 30 percent markup instead. Stack a full 45 percent margin on top of a marked-up $650 heater and the price jumps past $2,700, which is why shops that blur the two either lose the bid or lose the job.

The estimate line-item checklist

A complete estimate is a checklist, not a guess. Every job carries the same line items even when some come to zero: scope, labor by phase, materials by category, permits, disposal, overhead, margin, and a contingency for what you cannot see yet. Miss one line and it comes out of profit. Run the list below on every quote before you send it.

  1. Scope and access notes: what, where, and how reachable the work is.
  2. Labor hours by phase (demo, rough, set, test) at your loaded billable cost.
  3. Materials at landed cost with markup applied by category.
  4. Permit and inspection fees, passed through at cost.
  5. Disposal and haul-away for the old unit and debris.
  6. Overhead allocation per billable hour.
  7. Target margin on the service portion.
  8. Contingency line for surprises found on site.
  9. Warranty or guarantee terms and duration.
  10. Payment terms, deposit, and the estimate expiration date.

When the job is approved, carry every one of these lines straight onto the plumbing invoice. Matching the estimate to the invoice line for line cuts disputes and gets you paid faster.

DIY quote versus pro estimate

A homeowner’s DIY quote and a pro estimate price the same job at very different numbers, and the gap is not greed. The DIY figure counts parts and maybe a wage. The pro estimate counts burden, non-billable time, overhead, permits, disposal, warranty risk, and margin. That is why a $650 heater becomes a $2,000-plus installed price, and why the lowball bid down the street cannot last.

Line item DIY quote or lowball bid Pro estimate
Labor Wage only ($40/hr) Loaded cost per billable hour ($120)
Burden and non-billable time Ignored Built into the rate
Overhead (truck, software, admin) Ignored Allocated per hour
Materials At cost Landed cost plus markup
Permit and inspection Skipped Included, pass-through
Margin and profit None 40 to 55% target
Callback and warranty risk Unpriced Priced into margin

Where estimates leak money

Most underpriced estimates fail in the same three spots: labor billed at the wage instead of the loaded cost, materials passed through at cost with no markup, and no line for the surprise behind the wall. Each leak looks small on one job and erases a month of profit across fifty. Price the risk in, or the callback eats it.

Add a contingency line on any job where you cannot see the full scope, often 5 to 15 percent of the estimate, and tell the customer what it covers. Put an expiration date on the quote so a supplier price change does not come out of your margin. Estimate hours from your real average for that job, not your best-ever run, because the average is what your crew delivers on a normal Tuesday.

Re-run these numbers every quarter. Wages, burden rates, and material costs all move, and a rate you set last winter may already be under water. The formula stays the same; the inputs do not.

Frequently asked questions

How do you estimate a plumbing job?

Add four numbers: labor hours times your loaded cost per billable hour, materials at landed cost plus markup, a share of overhead, then your target margin on the service. Estimate hours from your real average for that job, not the fastest run. Write the total as Price equals Cost divided by one minus your margin so you price on margin, not markup.

What is a good profit margin for a plumbing job?

Most residential plumbing shops target a 40 to 55 percent gross margin on the service portion of a job, with service calls and drain work often higher and large equipment installs lower. Margin funds overhead, slow weeks, callbacks, and owner profit. Net profit after all overhead usually lands near 8 to 15 percent, so a healthy gross margin is not the same as take-home.

How much should I mark up plumbing materials?

It varies by line value. Small, low-cost parts like supply lines, escutcheons, and valves often carry 60 to 100 percent markup because handling and stocking cost the same whether the part is $2 or $20. Mid-range fittings run 50 to 75 percent. Big-ticket items like a water heater usually get 20 to 40 percent, since a high markup on a $650 unit would price you out.

How do you calculate a loaded labor rate for a plumber?

Start with the base hourly wage, add labor burden for payroll taxes, workers comp, insurance, and benefits (often 30 to 40 percent), which gives your fully burdened cost per paid hour. Then divide by your billable ratio. Techs bill only 30 to 50 percent of a paid day, so a $54 burdened cost at a 45 percent billable ratio is really about $120 per billable hour.

Should I charge flat rate or hourly for plumbing?

Both work; the estimating math underneath is the same. Flat-rate gives the customer one price up front and rewards your speed, while time-and-materials suits open-ended jobs where hidden damage is likely. Many shops use flat-rate for standard residential work and switch to hourly when they open a wall and cannot see the scope. Pick per job type, not per company.

How long should a plumbing estimate stay valid?

Put an expiration on every estimate, commonly 15 to 30 days. Material prices move, and copper, PEX, and water heaters have swung several times in recent years. A dated estimate protects your margin when a supplier raises prices between the quote and the job. State the window in writing and note that final material counts may adjust after you open up the work.

Last reviewed: August 2026.

← Back to the Brief