Material Markup for Trades: What It Covers, How to Set It
Material markup for trades is the percentage you add to the wholesaler price, and it is not free money. It pays for six real costs that never appear on the supplier invoice: sourcing and ordering time, transport and collection, storing the kit until fit day, the cash tied up between paying the supplier and getting paid, the risk of replacing a faulty item free two years later, and waste — the 22 metres left on the drum after a 78 metre run. One blunt percentage across everything is the mistake. Set it per product group: high on cable and consumables where waste and handling dominate (30-40%), low on big-ticket units where a percentage wildly over-recovers (8-12%, or a flat handling fee). And know the difference between markup and margin before you quote, because mixing them up is the quietest way to lose a fifth of your profit.
The six costs a material markup actually covers
Customers think the line is cost plus greed. It is cost plus work. Name the work and the conversation changes.
- Sourcing and ordering time. Checking the price file, confirming it is the right item, raising the order, chasing when it does not arrive. Fifteen to forty minutes per order line is normal, and none of it bills as labour.
- Transport and collection. Either you drive to the trade counter or you pay for delivery. The counter run costs an engineer's hour, not just diesel.
- Storage. Kit that arrives three weeks before fit day sits in your unit. You pay rent on that shelf and carry the risk it gets damaged, dropped or walks.
- Capital tied up. You pay the supplier on 30 days, invoice two weeks after install, get paid 30 days later. You financed that material for six to ten weeks out of your own working capital.
- Warranty and returns exposure. When a fitting fails inside the guarantee you go back, swap it, and eat the visit. The manufacturer replaces the part. Nobody replaces your afternoon.
- Waste and offcuts. Cable, trunking, conduit, flex, tape, glands, fixings. You buy in drum and box quantities and use what the job needs. The remainder is dead stock or a straight loss.
Why the percentage lies at both ends of the scale
Take twelve junction boxes at 22 each: 264 of material. Ordering, collecting and checking them takes about half an hour. At an internal cost of 60 an hour that is 30 of handling — 11% of the material value, before waste, before financing, before a single fixing goes missing.
Now take one distribution board at 6,000. One phone call to order, twenty minutes to receive and check. Total handling, call it 45 — 0.75% of the material value. Financing it for 40 days on a 9% facility costs about 59, another 1%.
Same firm, same week. Applying 30% to both undercharges the small stuff and adds 1,800 to a purchase that took a phone call. One of those loses you money. The other loses you the job, and deserves to, because it is not defensible.
Margin vs markup: the confusion that quietly costs money
These are two different numbers and trades people use them interchangeably every day. In Swedish costing the distinction is explicit: pålägg is calculated on your cost, marginal is calculated on your selling price. English does the same thing with markup and margin, but nobody says it out loud, so it gets lost.
- Markup = added to cost. Buy at 1,000, add 25% markup, sell at 1,250.
- Margin = kept out of price. Sell at 1,250, keep 250, margin = 250 / 1,250 = 20%.
So a 25% markup is a 20% margin. If your accountant asks for 30% margin on materials and you add 30% to cost, you deliver 23.1% and wonder where the money went.
| Markup on cost | Margin on price | Markup needed for that margin |
|---|---|---|
| 10% | 9.1% | For 10% margin: 11.1% |
| 15% | 13.0% | For 15% margin: 17.6% |
| 20% | 16.7% | For 20% margin: 25.0% |
| 25% | 20.0% | For 25% margin: 33.3% |
| 30% | 23.1% | For 30% margin: 42.9% |
| 40% | 28.6% | For 35% margin: 53.8% |
| 50% | 33.3% | For 40% margin: 66.7% |
| 100% | 50.0% | For 50% margin: 100% |
The two formulas, once, so you never have to guess:
- Margin = markup / (1 + markup). 0.25 / 1.25 = 0.20.
- Markup = margin / (1 - margin). 0.30 / 0.70 = 0.429.
Set markup per product group, not one blunt percentage
Group your material by what drives the cost of handling it: waste, handling time per unit of value, return exposure, and how long you finance it. Then set a rate per group. These are worked starting points for a small electrical or plumbing firm — the shape matters more than the digits.
| Product group | Markup | What is driving it |
|---|---|---|
| Cable, flex, conduit, trunking (cut goods) | 30-40% | Offcuts and drum-quantity waste dominate |
| Consumables: fixings, glands, tape, clips | 40-60% | Handling time is enormous relative to value; shrinkage is real |
| Standard accessories: sockets, switches, luminaires | 25-30% | Predictable, stocked, some return traffic |
| Boards, controls, protective devices | 15-20% | High value, low handling, price-checkable |
| Big-ticket units: heat pumps, EV chargers, inverters, boilers | 8-12% or a flat fee | One phone call; a percentage over-recovers absurdly |
| Special order, non-stocked, made-to-order | 20-25% | Restocking fees of 10-20% if it goes back, if it can go back at all |
| Hire and plant rehire | 10-15% | You carry the damage risk and the return deadline |
| Customer-supplied material | 0% + attendance | No markup, but no warranty from you, and your time to collect or return is chargeable |
Build your own groups in one afternoon
- Export twelve months of purchases from your accounts or your price file. Sort by supplier line value.
- Bucket them into six to eight groups. More than eight and nobody will maintain it.
- For each group, estimate two things honestly: waste percentage, and handling minutes per order line.
- Convert handling minutes to money at your internal cost per hour, then express it as a percentage of the group's typical line value.
- Add waste, add roughly 1-2% for financing, add 1-3% for warranty exposure. That is your floor.
- Set the group rate at or above the floor. If a group's floor comes out above 40%, the honest answer is usually a flat handling fee per line instead of a percentage.
Then cap it: markup applies as a percentage up to a line value ceiling, and above that becomes a fixed handling charge. It stops the 1,800 line item that ends the conversation, and it is easier to defend than any percentage.
Doing this by hand on every quote is where it dies. It survives only if the rate lives on the product group in your price list and lands on the quote automatically. OdinTask imports supplier price files and holds the markup on the group rather than in your head, so an article registered on a job card comes out priced the way you decided in that afternoon.
How to answer the customer who Googles the wholesaler price
This is 2026. The customer had your part number in a search bar before you finished writing the quote, and found it for less than your line shows. Pretending otherwise is not a strategy. Here is what works.
Agree the number. Never dispute it. "Yes, that is roughly what it costs at the counter. My price is not the part."
Name the work. "My line covers sourcing it, collecting it, storing it until we fit, financing it until you pay me, and replacing it free if it fails inside the guarantee. That last one is the expensive part. If it goes wrong in two years, you ring me and I come back — that visit is already in the price you are looking at."
Offer the alternative, honestly. "You are welcome to supply it yourself. Then it is your warranty, your delivery date and your problem if it is the wrong one — and my time to go back for the right one is chargeable at my day rate. Most people would rather I owned it."
Most of what a customer is testing at that moment is whether you will flinch. Some will still supply their own, which is fine, as long as it is written down.
Get it in writing before the job, not during the argument
Price-checking becomes a fight only when the line is a surprise. Put the policy on the quote in one line: "Materials are charged at cost plus a handling and warranty charge by product group. Customer-supplied materials carry no guarantee from us, and attendance to source replacements is charged at our hourly rate."
In Sweden this matters legally as well as commercially. Under konsumenttjänstlagen, if you never agreed a price the consumer owes a reasonable price (skäligt pris) — the argument then happens after the work, on your worst day. An approximate price must not be exceeded significantly, and the standard Hantverkarformuläret contract published with Konsumentverket pins that at 15%; check the current wording before relying on it. A fixed price for a defined scope sidesteps the line-item conversation entirely, because you are selling a working installation, not a shopping list.
Outside Sweden the mechanics differ but the exposure does not. In the UK, goods supplied as part of a service must be of satisfactory quality under the Consumer Rights Act 2015 — the customer's remedy is against you, not the manufacturer. That liability is the strongest argument for your markup, and the one nobody makes.
Should you just show materials at cost plus a fee?
Some firms go fully transparent: materials at true cost, then an explicit "procurement and warranty charge" line. It is a real option with a real trade-off.
- It works on time-and-materials and commercial work, and with any customer who was going to price-check anyway. It turns a hidden number into a named service, which is far harder to argue with.
- It hurts on small domestic jobs, where an itemised 90 fee on 300 of parts reads worse than an invisible 30% would have. It also puts every supplier discount you negotiated on public display.
Most firms land in the middle: fixed price domestically with materials inside the total, transparent cost-plus-fee for commercial and time-and-materials.
One thing markup does not do: earn a tax deduction
If you work in Sweden, note the split. The ROT deduction is 30% of the labour cost, within an annual per-person ceiling shared with RUT — check the current amount at Skatteverket. Material is not deductible, and neither is travel. So every krona shifted from material into labour raises the customer's deduction. Do not let that tempt you: inflating labour to shrink material is a false claim on a state subsidy, checked against the payout request you file. Price both honestly.
Review it once a year, and after any supplier change
- Recalculate annually from real purchase data, not from last year's percentages plus a nudge.
- Recalculate on any rebate agreement change. If your net buying price drops and your markup stays, your margin quietly rises — good, until a competitor on the same agreement undercuts you and you never noticed you had the room.
- Measure waste for one quarter per group. Guessed waste is always low. Measured waste is the only number worth defending.
- Track callbacks. If warranty returns run at 3% of material value and your markup carries 1%, the gap comes out of your labour.
- Never carry a supplier price rise silently. A price file nine months old prices last year's job. Reimport it.
All of it collapses without accurate purchase data landing against the job while the van is still on the drive: a photographed supplier invoice on the job card, articles registered as they are used, current price files, and a markup that lives on the product group instead of in somebody's memory. If you would rather your material lines priced themselves the way you decided, start a free trial and let one month of real purchases tell you what your markup should have been.
FAQ
What is a normal material markup for trades?
There is no single normal figure, because it depends on the product group. Cut goods like cable typically carry 30-40% because of offcut waste. Small consumables can justify 40-60% because handling time dwarfs their value. Standard accessories sit around 25-30%. Big-ticket units such as heat pumps or EV chargers rarely support more than 8-12%, and are often better priced with a flat handling fee instead.
What is the difference between markup and margin?
Markup is calculated on your cost; margin is calculated on your selling price. Buy at 1,000, add 25% markup, sell at 1,250 — that is a 20% margin, not 25%. The formulas are margin = markup / (1 + markup), and markup = margin / (1 - margin). To achieve a 30% margin you need a 42.9% markup. Confusing the two is a common and expensive mistake.
How do I justify material markup when the customer finds the part cheaper online?
Agree the price rather than disputing it, then name what your line covers: sourcing, collection, storage, financing the purchase until you are paid, waste, and free replacement if the item fails inside the guarantee. Then offer the alternative honestly — they can supply it themselves, but the warranty, delivery date and any wrong-item collection time become theirs. Put that policy on the quote before the job starts.
Can a customer supply their own materials?
Yes, and sometimes it is the right answer. Write down what changes: you charge no markup, you give no guarantee on the item, and your time to collect, return or wait for a replacement is chargeable at your hourly rate. Consumer law generally makes you responsible for goods you supply, so material you did not supply sits outside that. Agree it in writing before you order anything.
Should I show materials at cost and add a separate procurement fee?
It suits time-and-materials and commercial work, where the customer will price-check regardless. Naming the service is easier to defend than a hidden percentage. It works badly on small domestic jobs, where an itemised fee reads worse than an invisible markup, and it exposes the supplier discounts your buying effort earned. Many firms use fixed prices domestically and cost-plus-fee commercially.
Does the ROT deduction apply to material markup?
No. ROT covers 30% of the labour cost only, within an annual per-person ceiling shared with RUT — check the current amount at skatteverket.se. Material and travel are excluded. That creates an obvious temptation to shift value from material into labour, which is a false claim against the payout request you file. Price both honestly and let the deduction fall where it should.
One system for your field-service business
Booking, quotes with ROT, scheduling, an offline app, time tracking and invoicing — in your own brand.
Try OdinTask free