
A customer calls you about a leaking mixer tap. You plan 1.5 hours on site, a few fittings, a call-out and a small part. A few weeks later you carry out the annual service of a boiler under a maintenance contract. The revenue looks comparable, yet the profitability can be very different.
So how do you calculate the margin of a plumbing and heating business in 2026? You need to separate the one-off repair, the equipment replacement and the maintenance contract, then bring in copper, spare parts, productive labour, the van and the fixed costs of your company.
To test your pricing assumptions quickly, you can use ProCalc.app, a financial calculation app sold as a one-time purchase: you pay once and keep the app, with no subscription and no recurring fee. It collects absolutely no user data.
Every amount in the examples below is a teaching assumption, in euros excluding VAT. Wages and employer contributions are shown without any VAT mention. They are not market averages.
How do you calculate the profitability of a plumbing and heating repair?
Take a hypothetical job: replacing a mixer tap after tracing a leak.
Invoiced revenue
| Invoiced line | Calculation | Amount |
|---|---|---|
| Call-out | Flat fee | 65 EUR excl. VAT |
| Labour | 1.5 h × 78 EUR excl. VAT | 117 EUR excl. VAT |
| Mixer tap | Supply | 95 EUR excl. VAT |
| Copper and fittings | Supply | 22 EUR excl. VAT |
| Seals, solder and flux | Consumables | 8 EUR excl. VAT |
| Total revenue | 307 EUR excl. VAT |
The time actually used is 2 hours: 30 minutes of travel and 1.5 hours on site. Invoiced labour must therefore not be confused with the total time spent on the job.
Variable costs of the job
| Variable cost | Calculation | Amount |
|---|---|---|
| Productive labour wage | 2 h × 24 EUR | 48 EUR |
| Employer contributions on that labour | 2 h × 12 EUR | 24 EUR |
| Fuel and van wear | Allocated to the job | 28 EUR excl. VAT |
| Purchase of the mixer tap | Supplier cost | 62 EUR excl. VAT |
| Purchase of copper and fittings | Supplier cost | 14 EUR excl. VAT |
| Consumables used | Seals, solder, flux | 5 EUR excl. VAT |
| Payment processing fees | 1.5% × 307 EUR | 4.61 EUR excl. VAT |
| Total variable costs | 185.61 EUR |
The contribution margin is therefore: 307 EUR – 185.61 EUR = 121.39 EUR
The gross margin percentage measures margin against revenue: 121.39 EUR ÷ 307 EUR = 39.54%
The markup percentage measures margin against variable costs: 121.39 EUR ÷ 185.61 EUR = 65.40%
This job therefore contributes 121.39 EUR towards fixed costs, before the final result of the business.

How profitable is an annual boiler maintenance contract?
An annual maintenance contract brings recurring work, but the flat fee has to cover preparation time, travel, the service itself, small parts and any return visits.
Teaching assumption: you invoice an annual contract that includes one service visit on a gas boiler.
Contract revenue
| Invoiced line | Amount |
|---|---|
| Annual service fee | 150 EUR excl. VAT |
| Travel included in the contract | 30 EUR excl. VAT |
| Annual revenue | 180 EUR excl. VAT |
The time actually spent is 1 hour 45: 1 hour 15 on site and 30 minutes of travel. Time on site is covered by the flat fee; travel is identified separately so you can check how much it weighs.
Direct costs of the contract
| Direct cost | Calculation | Amount |
|---|---|---|
| Productive labour wage | 1.75 h × 24 EUR | 42 EUR |
| Employer contributions | 1.75 h × 12 EUR | 21 EUR |
| Fuel and van wear | Travel | 20 EUR excl. VAT |
| Service consumables | Cleaning, seals, product | 12 EUR excl. VAT |
| Small spare part | Assumption | 8 EUR excl. VAT |
| Payment processing fees | 1.5% × 180 EUR | 2.70 EUR excl. VAT |
| Total direct costs | 105.70 EUR |
The contribution margin is: 180 EUR – 105.70 EUR = 74.30 EUR
The gross margin percentage is: 74.30 EUR ÷ 180 EUR = 41.28%
The markup percentage is: 74.30 EUR ÷ 105.70 EUR = 70.29%
Here the contract shows a higher markup than the repair, but a smaller contribution in euros: 74.30 EUR against 121.39 EUR. A portfolio of contracts must therefore be analysed by number of visits, time actually used and the work included after the annual service.

Quick tip: do not judge a maintenance contract on its annual price alone. Record travel time, time on site, consumables, small parts and unbilled return visits. A contract sold at 180 EUR excl. VAT can become barely profitable if several extra call-outs are included with no clear limit.
What revenue do you need to break even?
Here is a monthly assumption for a small plumbing and heating business with one productive employee and part of the admin handled in-house.
Monthly fixed costs
| Fixed cost | Monthly amount |
|---|---|
| Workshop rent | 650 EUR excl. VAT |
| Van lease or financing | 540 EUR excl. VAT |
| Professional and vehicle insurance | 180 EUR excl. VAT |
| Phone and software | 110 EUR excl. VAT |
| Accounting | 180 EUR excl. VAT |
| Tool depreciation | 250 EUR excl. VAT |
| Workshop gas and energy | 160 EUR excl. VAT |
| Van servicing | 120 EUR excl. VAT |
| Local advertising | 150 EUR excl. VAT |
| Admin salary or fixed pay | 2,200 EUR |
| Matching employer contributions | 900 EUR |
| Interest on financing | 180 EUR excl. VAT |
| Total fixed costs | 5,620 EUR |
These amounts are teaching assumptions. Financing a van, a copper stock or a working capital need can cost more when banking conditions move. On 10 September 2026 the European Central Bank raised its three key rates by 25 basis points, effective 16 September: deposit facility at 2.50%, main refinancing operations at 2.65% and marginal lending facility at 2.90%. These are not the rates your own bank offers you, but they influence the cost of credit.
Using the contribution rate of the repair job: 121.39 EUR ÷ 307 EUR = 39.54%
Break-even revenue is: 5,620 EUR ÷ 39.54% = 14,213 EUR excl. VAT per month
With average revenue of 307 EUR excl. VAT per repair: 14,213 EUR ÷ 307 EUR = 46.3
You would therefore need roughly 47 similar jobs per month to cover fixed costs under this assumption.
Each job includes 1.5 hours of invoiced labour: 47 × 1.5 h = 70.5 billable hours per month
This does not mean 70.5 hours are enough to run the business. You still have travel, purchasing, quotes, invoicing, cancelled appointments and stock management. The figure is there to check whether your average price and your organisation can absorb the existing structure.

Should you raise your quotes when copper goes up?
Yes, but not by applying the copper increase to the whole quote.
Copper set successive records on the London Metal Exchange in early September 2026. The three-month contract passed 14,800 dollars a tonne on 9 September, then fell back to around 14,330 dollars on 11 September when the market started doubting that United States tariffs would be extended to refined copper. Two lessons: the level is historically high, and it moves by several hundred dollars in three sessions.
That quotation covers raw metal, not the price of a copper pipe bought from a wholesaler. Processed supply includes manufacturing, transport, storage, the supplier margin and your own buying terms. So check the supplier price on the date of the quote rather than indexing your price to a market quotation.
Back to the 307 EUR excl. VAT repair. Purchase costs of the supplies are:
- Mixer tap: 62 EUR excl. VAT;
- Copper and fittings: 14 EUR excl. VAT;
- Consumables: 5 EUR excl. VAT;
- Total supplies: 81 EUR excl. VAT.
Assumption: these supplies rise by 18%. 81 EUR × 18% = 14.58 EUR
The new variable cost becomes: 185.61 EUR + 14.58 EUR = 200.19 EUR
If you keep the price at 307 EUR excl. VAT, the margin falls to: 307 EUR – 200.19 EUR = 106.81 EUR
To keep the same margin in euros, the quote has to rise by 14.58 EUR: 307 EUR + 14.58 EUR = 321.58 EUR excl. VAT
That increase represents: 14.58 EUR ÷ 307 EUR = 4.75% of the original quote
If you want to keep the same 39.54% gross margin percentage, the required price is different: 200.19 EUR ÷ (1 – 39.54%) = 331.10 EUR excl. VAT
The increase then reaches 24.10 EUR, or 7.85% of the original quote. The difference comes from the goal: no longer only covering the extra cost, but preserving the same ratio between margin and revenue.
How do you factor in gas, inflation and other costs?
On 10 September 2026 the French energy regulator announced a 6.3% increase, including tax, in the gas reference sale price from 1 October 2026: 182.88 EUR per MWh including tax, against 172.05 EUR per MWh including tax on 1 September. That reference price applies to residential consumers and is not a business offer. Your workshop gas contract may therefore move differently.
Annual inflation published by Eurostat on 17 September 2026 reached 3.2% in the euro area in August, against 2.6% for France. That figure must not be applied mechanically to every cost line. Analyse fuel, workshop energy, wages, insurance, the van, tooling and supplies separately.
In practice, how do you steer the margin of a plumbing and heating business?
Every month, track at least:
- Revenue by repair, replacement and maintenance contract;
- The real cost of parts: boiler, heat pump, copper, fittings and consumables;
- Invoiced time against time actually used;
- Travel cost by geographical area;
- The billable hours needed to cover fixed costs;
- The cost of payments by payment method;
- Supplier price changes before you send your quotes.
With ProCalc.app you can recalculate your margins, your break-even point and your payment fees as soon as a price, a cost or a duration changes. The app keeps your data on your device and collects absolutely no data. You pay once and keep the app.
Frequently asked questions
How do you calculate the margin of a plumbing and heating business?
Subtract the variable costs of the job from revenue: productive labour, employer contributions, parts, copper, fittings, consumables, travel and payment processing fees. The difference is the contribution margin.
What hourly rate should a plumbing and heating engineer charge?
The hourly rate has to cover productive labour cost, unbilled travel, tooling, the van, insurance, the workshop, periods without work and the profit you want. It must be built from your own costs, not from an unverified average.
How do you calculate the break-even point of a plumbing business?
Divide your monthly fixed costs by your contribution rate on revenue. To get a number of jobs, then divide the required revenue by the average revenue of a comparable job.
Should you raise a quote when the copper price goes up?
Yes, if the rise changes the real cost of your supply. First recalculate the cost of pipe, fittings and parts at your supplier. You can then choose to preserve the margin in euros or the gross margin percentage.
How do you make a boiler maintenance contract profitable?
Define precisely what is included, measure travel time and time on site, value small parts and limit unbilled extra call-outs. Compare the contract margin with the margin of a repair on a regular basis.
How do you include payment processing fees in a quote?
Add them to variable costs. For example, with fees of 1.5% on a quote of 307 EUR excluding VAT, the cost is 4.61 EUR excluding VAT. Check the real terms of your payment provider before using that rate.
Sources consulted on 21 September 2026
- Copper on the London Metal Exchange, September 2026 records and pullback, MINING.COM — consulted on 21 September 2026.
- Official copper quotation, London Metal Exchange — consulted on 21 September 2026.
- Gas reference sale price from 1 October 2026, French energy regulator — press release of 10 September 2026.
- Monetary policy decisions, European Central Bank — press release of 10 September 2026.
- Annual inflation in the euro area and in France, Eurostat — published on 17 September 2026.


Leave a comment
Sign in to post your comment or sign-up if you don't have any account.