Ask ten contractors what they mark parts up and you'll get ten confident numbers and very little agreement. Ask the same ten what gross margin they actually earned on parts last quarter and the room gets quiet — because almost nobody measures it, and the ones who do are frequently surprised. The gap between the markup you believe you are charging and the margin you are actually banking is where a lot of otherwise healthy service businesses quietly lose their profit.
As of August 2026, the pressure on that gap is worse than it used to be. Supplier prices move more often, freight is no longer an afterthought, and the multiplier you set three years ago is silently being applied to a cost base that has shifted underneath it. This guide covers how to set parts markup that survives contact with reality — the markup-versus-margin arithmetic, why a single flat multiplier is always wrong, tiered markup by cost band, what a part actually costs you once it's on the truck, and why the costing method you never chose is quietly deciding your reported profit.
Markup and margin are not the same number
Start here, because this is the error that does the most damage.
Markup is calculated against your cost. Margin is calculated against the selling price. They are two views of the same transaction, and they never produce the same percentage.
A part costs you $100. You sell it for $150.
- Markup: $50 ÷ $100 = 50% markup
- Margin: $50 ÷ $150 = 33% gross margin
Most owners intend the second number and are quoting the first. The practical consequence is that a business aiming for "50% on parts" is running a 33% gross margin and building its overhead assumptions on a number that is half again too optimistic.
A quick reference for the multiples that come up most in the trades:
| Multiplier on cost | Markup % | Gross margin % | Typically used for |
|---|---|---|---|
| 1.25x | 25% | 20% | Major equipment — condensers, water heaters, openers |
| 1.5x | 50% | 33% | Mid-range components and assemblies |
| 2.0x | 100% | 50% | Standard replacement parts |
| 3.0x | 200% | 67% | Small hardware, fittings, blanks |
| 5.0x | 400% | 80% | Consumables and low-cost, high-handling items |
The conversion is worth committing to memory: to hit a target margin, divide by (1 − margin). A 40% margin needs a 1.67x multiplier, not 1.40x. Getting this wrong by one step is the difference between covering your overhead and eating it, and it compounds across every line on every invoice. If you have never rebuilt your numbers from the margin side, that exercise belongs in the same session as building a service price book.
Why one flat multiplier is always wrong
The most common parts-pricing policy in small field service is a single number applied to everything: "we double parts." It is simple, defensible to a customer, and wrong at both ends of the range.
Consider a $6 brass fitting and a $400 compressor.
Double the fitting and you charge $12. That $6 of gross profit does not cover the technician's twenty-minute detour to the supply house, the time someone spent receiving and shelving it, or the weeks it sat in a bin waiting for a job. You lost money selling it and recorded a profit.
Double the compressor and you charge $800 on a part the customer can price online in fifteen seconds. You have handed the job to whoever quoted a 1.3x multiple, and you have trained that customer to buy their own equipment next time.
The reason the same multiplier fails at both ends is that the costs of handling a part are largely fixed per part, not proportional to its price. Fetching, receiving, shelving, counting, and carrying a $6 fitting costs almost exactly what it costs to do the same for a $400 compressor. A flat multiplier assumes those costs scale with price. They don't.
Every trade hits this in its own vocabulary. A plumber stocking dozens of fitting sizes at a few dollars each cannot recover the handling cost at 2x. An HVAC contractor quoting a condensing unit at 2x is not competitive on a job the homeowner is already shopping. A locksmith carrying key blanks that cost a couple of dollars and remotes that cost hundreds has both problems in the same drawer of the same van.
Tiered markup by cost band
The fix is a tiered structure — a markup schedule that steps down as part cost steps up. Something in this shape works for most field trades:
- Under $10 — 4x to 5x. These are consumables and small hardware where handling dominates cost entirely.
- $10 to $50 — 3x. Standard small parts, still handling-heavy.
- $50 to $200 — 2x. The bread-and-butter replacement components.
- $200 to $600 — 1.5x. Larger assemblies where the customer starts price-shopping.
- Over $600 — 1.25x to 1.35x. Major equipment where you compete on installation, warranty, and service, not on part price.
The exact bands should be yours, not this list — set them from your own catalog by looking at where your parts actually cluster. What matters is the shape: aggressive multiples on cheap parts, thin multiples on expensive ones, and a deliberate decision at each step rather than one number inherited from whoever trained you.
Two refinements are worth adding once the tiers are working:
Floor pricing on tiny parts. Below a certain cost, even 5x doesn't cover handling. Set a minimum charge per line — a few dollars — so a 40-cent washer never bills at two dollars.
Carve-outs for shopped items. Some parts have a price the customer can look up instantly. Those need to be priced against the market rather than against your multiplier schedule, with the margin recovered in labor and in the flat-rate versus hourly pricing decision rather than pretended away.
What a part actually costs you
The invoice price from your supplier is the beginning of the cost, not the end. The real landed cost of a part on your truck includes several things that never appear on a purchase order.
Freight and delivery. If the order shipped, that cost belongs to the parts on it, allocated somehow. Businesses that book freight to a general expense account systematically understate what their parts cost and overstate their parts margin.
The trip to the supply house. This is the big invisible one. A technician who drives thirty minutes each way to pick up parts has spent an hour of billable capacity plus fuel. If that trip supported one job, the cost belongs to that job's parts. Multiply across a year and it is one of the largest uncosted expenses in a field service business — and it is the strongest argument for stocking the truck properly in the first place, whether that's plumbing truck inventory or HVAC truck stock and refrigerant management.
Receiving and shelving time. Somebody counted the delivery against the packing slip, priced it, and put it away. That is real labor attached to the part.
Carrying cost and shelf time. A part that sits on the truck for four months is cash you spent four months ago and cannot spend on anything else. Slow-moving stock is expensive even when it eventually sells at full price — and stock that never sells is a pure loss the moment you write it off. That is the same money leak covered in inventory shrinkage and stock counts.
You do not need to allocate all four with accounting precision. You need to know they exist, size them roughly, and set your low-cost tiers high enough to absorb them. A business that prices from the supplier invoice alone is pricing from a number that is meaningfully lower than what the part cost.
Costing at what you paid versus what it costs to replace
Here is the quiet margin killer that catches even careful operators.
You bought a compressor at $380 in the spring. Prices moved; the same unit now costs $470. You sell the one on the shelf and price it against the $380 you paid, at a 1.4x multiple — $532. Your books show a healthy gross profit of $152.
Except you now have to replace that compressor to stay in business, and replacing it costs $470. Your actual position after the job is $62, not $152. You did not earn a profit; you liquidated inventory and reported the difference as income.
Do that across a year of rising supplier prices and the effect is corrosive: profitable-looking months, a shrinking bank balance, and a growing suspicion that the numbers are lying. They are, in a specific and fixable way.
Two habits prevent it:
- Price against current replacement cost, not historical purchase cost. When a supplier price changes, update the catalog cost — not next quarter, that week.
- Review the cost side of your catalog on a schedule. Monthly for volatile categories, quarterly for stable ones. A catalog whose costs were accurate eighteen months ago is not a catalog, it's a fossil.
The SBA's guidance on managing business finances makes the general point plainly: track income and expenses continuously rather than reconstructing them later. Parts costs are the line most likely to drift without anyone noticing, because nothing breaks when they do — the invoices still go out, the customers still pay, and the margin just gets thinner.
FIFO, LIFO, and average cost as a practical choice
Inventory costing methods sound like an accountant's problem. They are actually a pricing problem, because the method determines what number your system reports as the cost of the part you just sold — and therefore what profit it reports on the job.
FIFO (first in, first out) relieves the oldest units first. Cost of sales reflects older, usually cheaper purchases; the remaining inventory is valued near current prices. It is the right choice when parts have shelf life, serials, or lot traceability you need to follow — refrigerants, sealed components, anything you may have to trace to a specific customer for warranty.
LIFO (last in, first out) relieves the newest units first, so cost of sales sits closer to today's replacement cost. In a rising-price environment it reports a more conservative — and arguably more honest — profit per job, at the cost of leaving older values on the balance sheet.
Average cost blends all units of a part into one running average. It is the pragmatic default for most field service businesses: it smooths supplier price swings, requires no unit-level tracking, and produces a stable number technicians and estimators can price against without whiplash.
The point is not that one is correct. It is that if you never chose, your system chose for you, and the profit figures you are steering by were produced by that unexamined default. Pick deliberately, apply it consistently, and tell your accountant which one you're using. A system with real per-location inventory should let you set this explicitly — IntelliDrive OS supports FIFO, LIFO, and average cost per catalog — rather than burying it.
You cannot price parts without job-level costing
Every recommendation above depends on one capability: knowing what a job actually consumed.
If parts leave the truck without being recorded against a job, your cost of goods is a monthly aggregate and your per-job margin is a guess. That is the condition most small service businesses operate in — revenue is measured precisely, cost is measured loosely, and the difference is assumed to be profit distributed evenly across the work. It never is. There is almost always one service category quietly running at break-even and one carrying the business, and without job-level costing you cannot tell which is which.
Real costing needs three things wired together: a catalog with accurate current costs, inventory that decrements automatically when a part is invoiced, and reporting that rolls parts plus labor against the invoice for each job. That is exactly the discipline laid out in job costing and true profit per job, and it is what turns a markup policy from a belief into a measurement.
Purchasing feeds the same loop. When reorder alerts and purchase orders run off real consumption instead of memory, you buy in fewer, larger orders — which lowers freight per part, cuts supply-house trips, and improves the landed cost that all of your markup math sits on top of.
The bottom line
Parts markup is not one number. It's a schedule that steps down as cost goes up, calculated against margin rather than markup, applied to a landed cost that includes freight and handling and shelf time, refreshed against what parts cost to replace today, and verified against per-job costing that tells you whether any of it is working.
Most small service businesses have three of those six wrong at any given time — usually the markup-versus-margin arithmetic, the flat multiplier, and the stale costs. Fixing those three does not require new customers, higher prices, or a harder sell. It just requires pricing from numbers that are true.
Related reading: Job costing and true profit per job · Building a service price book · Good, better, best option pricing. For a complete machine-readable feature and pricing reference, see our LLM reference page.
