Plumbing Job Pricing Calculator

Build a defensible plumbing job quote from labor, parts markup, and a trip fee. Model emergency surcharges to price after-hours calls and protect your margin.

Labor
Parts & Materials

Typical plumbing range: 20–50%. Regional spread is large — adjust for your market.

Trip & Overhead

Flat charge to dispatch, separate from hourly. Typical range: $50–$150 (varies widely by market).

Overhead method
Pricing Basis
Mode

Optional buffer applied to total cost before pricing.

Recommended price

Labor
Parts & materials (with markup)
Overhead
Contingency
Total job cost
Gross profit
Margin / Markup
Export
How this is calculated

Each labor row is hours × loaded rate. When emergency mode is on, the loaded rate is multiplied by the emergency multiplier before the cost build-up, so the surcharge flows through overhead-on-labor too. Parts and trip fee are summed and multiplied by 1 + parts markup %. Overhead is allocated per your chosen method; contingency is a flat % on total cost.

adjustedRate  = loadedRate × emergencyMultiplier (if emergency)
laborCost     = Σ hours × adjustedRate
materialsCost = (Σ qty × unitCost + tripFee) × (1 + partsMarkup%)
overhead      = per method (fixed | %labor | %total)
directCost    = labor + materials + overhead
totalCost     = directCost × (1 + contingency%)
price (margin)= totalCost / (1 − margin)
price (markup)= totalCost × (1 + markup)

Note: the trip fee is included inside materialsCost(), so it also receives the parts markup. If you want no markup on the trip fee, set parts markup to 0% and add your markup to the Pricing Basis instead.

Sources

  1. Occupational Employment and Wage Statistics — Plumbers, Pipefitters, and Steamfitters (SOC 47-2152). U.S. Bureau of Labor Statistics. Retrieved .

Get early access

Fieldwynn is the field-first app we are building for small crews — simple in the truck, powerful in the back office. It is not out yet; join the early-access list and be first when it launches for your trade.