Materials are the part of a job where money leaks quietly. Labor you feel, because you watched the hours tick by and you know what your time is worth. Materials you tend to pass through at whatever they cost plus a habit, and the habit is almost always too low. Marking materials up is not gouging. It is charging for the real work of buying, hauling, and standing behind the parts you put into a customer's property, plus the profit the job is supposed to earn. The question is how much, and the honest answer is that it depends on numbers that are yours, not the trade's.
The short answer: how much to mark up materials
A common rule of thumb across the trades puts material markup somewhere around 15 to 25 percent on larger jobs where materials are a big share of the total, and considerably higher, often 50 percent or more, on small jobs where a single part is most of what you bought. Treat those figures as a starting point, not a standard. They are what circulates on trade forums and in pricing threads, not a number anyone can cite to an authoritative source, because the correct markup is set by your overhead and your market rather than by an average. Copying another operator's percentage is how you end up busy and still short at the end of the month.
So the useful version of the short answer is a method, not a percentage. Decide what gross margin your business needs to clear on a job to cover overhead and pay you, then convert that into the markup that produces it. The rest of this guide walks that path, starting with the single arithmetic mistake that quietly undercuts most operators before they even begin.
Markup is not margin: the math that trips operators up
Here is the confusion that costs the most money, and it is arithmetic, not opinion. Markup is the amount you add to your cost, measured against the cost. Margin is the profit you keep, measured against the price the customer pays. They are different numbers, and the difference is not small. Add 20 percent to a $100 part and you sell it for $120. Your profit is $20, but as a share of the $120 the customer paid, that is 16.7 percent, not 20. The markup was 20 percent. The margin was about 17.
The two only drift further apart as the percentage climbs. To keep a 30 percent margin on materials, you do not mark up 30 percent, you mark up nearly 43. The table below lines up a few common markups against the margin each one really delivers.
| If you mark up materials by | Your gross margin on materials is |
|---|---|
| 15% | 13.0% |
| 20% | 16.7% |
| 25% | 20.0% |
| 35% | 25.9% |
| 50% | 33.3% |
| 100% | 50.0% |
Why this matters in practice: say you have worked out that you need a 35 percent gross margin to cover your overhead and pay yourself a wage. If you set a 35 percent markup thinking that gets you there, you are running a 26 percent margin and missing your own target on every job you touch. To hit a true 35 percent margin, the markup you enter is closer to 54 percent. The formula is simple enough to keep on a card in the truck: markup equals margin divided by one minus margin. Get this one relationship right and the rest of pricing gets easier, because you are finally setting the number that lands where you meant it to.
What a materials markup really pays for
A markup feels like a surcharge on a part, and customers who spot it sometimes treat it that way. It is not. It is payment for the costs the part creates that never appear on the supplier receipt. When you carry a material through a job, you pay for the trip to the supply house and back, the unbillable time spent selecting and loading it, the money tied up financing the parts before the customer pays you, the occasional return or breakage you eat, and the fact that once it is installed you are the one who warrants it. None of that is on the receipt, and all of it is real.
Put rough numbers on the part everyone forgets. A 20-mile round trip to the supplier costs you roughly $14.50 in vehicle expense alone at the IRS 2026 business standard mileage rate of 72.5 cents a mile.1 That rate is the government's own estimate of what a mile of driving costs to own and operate a vehicle, so it is a fair proxy for your truck. Add the half hour of a tradesperson's time to pull the order and load it. Against a median wage of $58,360 a year for construction and extraction workers as of May 2024, roughly $28 an hour before you load on payroll taxes, insurance, and the truck, that half hour is real money too.2 The markup is how those costs get recovered. Set it to zero and you are driving to the supply house for free.
Why small jobs need a bigger markup than big ones
A flat markup percentage quietly assumes the cost of handling materials scales with their price. It does not. The trip to the supply house costs about the same whether you are picking up a single $40 valve or $4,000 of pipe. The time to source a part, the risk of financing it, and the warranty you carry on it do not shrink just because the part was cheap. So the fixed cost of handling materials is a much bigger bite out of a small order than a large one.
That is the real reason a $500 job and a $50,000 job cannot share one markup number. On the large job, a 20 percent markup on a big pile of materials throws off enough dollars to cover the handling and leave profit. On the small job, 20 percent of a lone $200 part is $40, and the trip plus the unbillable time to fetch it can eat most of that before any profit is left. The answer is not to abandon a percentage, it is to raise the markup on small material orders or to carry the fixed handling cost somewhere else, in a trip charge or a minimum, so the small job is not silently subsidized by you. This is the same fixed-cost logic behind charging a fair deposit that covers the parts you order up front, covered in the guide on how to ask a customer for a deposit.
How to set your markup from your own numbers
Setting the markup from your own business takes four honest figures and a few minutes. First, add up your annual overhead: the costs you carry whether or not you work today, including the truck, tools, insurance, phone, software, advertising, and any office or shop. Second, decide the wage you need to pay yourself for a year of the work. Third, estimate the revenue you can realistically bill in a year at the hours you work. Those three tell you what share of every dollar of revenue has to go to overhead and your pay rather than to the direct cost of doing the job, which is your required gross margin.
Fourth, convert that required margin into the markup that produces it, using the same relationship from the table above: markup equals margin divided by one minus margin. If the numbers say you need a 40 percent gross margin to keep the lights on and pay yourself, your markup on materials, and on labor, is about 67 percent, not 40. This is coarse, and it is not a substitute for tracking real job costs over time, but it beats copying a forum figure. It gives you a number anchored to your rent, your truck, and your paycheck, which is the only place a defensible markup can come from.
Should materials be their own line on the quote?
There is a tactical question sitting underneath the arithmetic: does the customer get to see the markup? If your quote lists a faucet at $250 on its own line, and the customer can find that same faucet online for $130, you have handed them a reason to argue about a number that was never the point. The labor and the guarantee are what they are paying for, but an itemized part with a visible markup invites them to price-shop the one component you least want them looking at.
The fix is not to hide anything, it is to quote the installed price. Present materials at the price they cost delivered and installed, folded into the scope the customer is approving, rather than as your raw cost with a markup stapled on top. The markup then lives inside a total the customer accepts as a whole, not as a delta they can arbitrage against a store shelf. There are jobs where itemizing is expected and right, such as time-and-materials work where the customer has agreed to pay documented cost plus a stated markup, and that arrangement has its own rules, covered in the guide on how to bill a time-and-materials handyman job. For a normal fixed-price quote, the installed-price line keeps the conversation on the value of the finished work instead of the receipt.
A worked example: the same $200 part, two jobs
The numbers below are illustrative, chosen to show how the markup behaves, not billing advice. Use your own costs and market.
Say the same $200 fixture goes into two very different jobs, and you apply a 25 percent markup to it in both, billing the part at $250. On a $6,000 remodel where that fixture is one of many materials adding up to $2,000, the 25 percent markup across all the materials throws off about $500. That $500 has room to absorb the supply runs and still contribute real profit to the job, because the materials were a large, dense line and the handling cost was spread across all of it.
Now the same fixture on a $450 service call where it is the only material you bought. The 25 percent markup adds $50. But procuring that one part meant a 20-mile round trip to the supplier, roughly $14.50 in vehicle cost at the 2026 mileage rate, plus roughly half an hour of unbillable time to pick it, load it, and stage it, another $14 of a tradesperson's time before you even add payroll burden.12 Nearly $30 of that $50 markup was consumed just handling the part, leaving thin profit on the material. The remodel's 25 percent was healthy; the service call's 25 percent barely broke even. Same percentage, same part, opposite outcome. The fix on the small job is to mark that lone part up closer to 50 percent, or to carry the handling in a trip fee, so the job is priced for what it cost you to do.
Put the marked-up price on the quote, not in your head
We built EosLog's quote generator so materials land on the quote at the installed price the customer approves, with your markup already inside the number instead of exposed as a line to argue over. Set your material and labor markups once, and every quote applies them the same way, so the margin you meant to earn is the margin you bill.
No account required. You can also create a free EosLog account to save your markup settings and reuse them on every quote, or see the plans first.
Sources and further reading
- Internal Revenue Service, "IRS sets 2026 business standard mileage rate at 72.5 cents per mile" (the optional business standard mileage rate for 2026, effective January 1, 2026, up 2.5 cents from 2025). Used here as a proxy for vehicle operating cost, not a billed rate.
- U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, Construction and Extraction Occupations (median annual wage $58,360 in May 2024). Used here as a loaded-cost baseline for unbillable time, not a billed rate.
This guide reflects general US trade pricing practice as of 2026 and is not accounting or tax advice. The markup rules of thumb cited here are common trade conventions, not sourced standards, and the figures in the worked example are illustrative. Confirm your own overhead, supplier costs, and required margin before setting a markup policy for your business.