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.
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
- Occupational Employment and Wage Statistics — Plumbers, Pipefitters, and Steamfitters (SOC 47-2152). U.S. Bureau of Labor Statistics. Retrieved .