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.
Setting that trip fee deliberately, rather than copying what the shop down the road charges, is what the trip charge and service call calculator is for, and the parts markup itself can be tiered by cost bracket in the parts and material markup calculator. The same build-up for a mechanical trade is the HVAC job pricing calculator.
A quote the customer accepts becomes a plumbing work order template for the van and a plumbing invoice template at the end of the call. A year of these jobs is what the plumbing business plan template asks you to forecast.
Sources
- Occupational Employment and Wage Statistics — Plumbers, Pipefitters, and Steamfitters (SOC 47-2152). U.S. Bureau of Labor Statistics. Retrieved .