All articles

Growth

How to Price Materials Markup for Customers

Material markup ranges from 7% to 35% depending on who you ask. Price it as three separate layers instead, and the number stops being arguable.

Om Patel 16 min read
Photo: Dani Adkins / Unsplash

The short answer

Price material markup as three layers rather than one percentage: the handling time it costs you, the capital you float between purchase and payment, and the warranty risk you absorb. Size each layer with real numbers, then present a single price. A flat percentage overcharges on big-ticket items and underpays on small ones, which is why customers argue with it.

The short answer

Stop pricing material markup as one percentage. Price three layers, then quote one number.

Layer one is handling: the hours spent sourcing, ordering, collecting, receiving, storing and returning. Layer two is capital: the money you float between paying the supplier and getting paid. Layer three is risk: the warranty exposure you carry on a product you supplied. Size each with real arithmetic, add them, convert the total to a percentage for your estimating template, and give the customer a price.

This is not accounting elegance. A percentage is arguable and a job is not. Tell a customer "20% markup" and you have handed them a number with nothing attached to it and invited them to negotiate. Tell them it covers three specific pieces of work and the conversation ends, because those pieces of work obviously exist.

The ranges are not an answer

The top-ranking pages, side by side:

SourceStated material markup
Method7% to 20%
Harvest7% to 20%, rising to 20% to 35% for specialized materials
Foreman15% to 35%, with stock materials at 15% to 25% and custom-ordered at 25% to 35%

That spans a factor of five. Take the midpoint and you will be wrong in both directions.

The practitioner numbers are just as scattered. On the r/Contractor thread How do you explain markup percentages on materials, one contractor writes it straight onto the estimate: "10-20% waste, 20% markup. Markup covers shopping, pickup, delivery, handling." On 25% Markup on materials, one poster charges "25% above retail, 35% above wholesale," another runs 20% flat, and a Canadian contractor pushes back on the whole thread: "Crazy you guys down in the States use 25% mark up. We're at 15% industry standard in Canada, some companies drop to 11%."

Each of those is defensible for the business that produced it, and none is transferable, because the underlying work differs. A tile setter who orders from one supplier and collects on the way to site has a different handling cost than a remodeler managing a 90 linear foot cabinet order with a twelve week lead time and a returns risk in the thousands.

Watch out

Before you use any percentage, check you are not double-charging. If your labor rate already carries all of your overhead and you then add a percentage to materials "for overhead," material-heavy jobs pay for your office twice. Same trap as in how to build overhead into your prices: the allocation base decides who pays, and stacking two bases on one pool prices you out of work for nothing.

A flat percentage is the wrong shape

Here is the arithmetic that kills the single percentage.

A $40 box of fasteners at 20% earns you $8. That does not pay for the phone call, let alone the drive. A $25,000 cabinet package at 20% earns you $5,000, for one supplier conversation, one shop drawing review, one delivery to sign for and a storage problem.

Same percentage, roughly the same effort, a 625-fold difference in pay. Nobody notices this on the fasteners and everybody notices it on the cabinets, which is why the argument always happens on the expensive line.

The fix is a floor and a taper. This is a shape, not a benchmark. Fill in your own numbers:

Material cost on the jobStructureWhy
Under $500A flat handling charge, or a high percentage, whichever is greaterThe trip costs the same regardless of what is in the box
$500 to $5,000Your full percentageHandling scales roughly with the count of items
$5,000 to $20,000A reduced percentageFewer, larger orders, less handling per dollar
Over $20,000A low percentage plus a stated procurement feeThe percentage stops tracking effort entirely

The floor is the part most contractors skip. A minimum handling charge turns that $40 box into a defensible number instead of $8, and small material runs stop being subsidised out of your labor rate.

The three layers, sized

Layer one: handling

Almost nobody measures this. Take the real hours.

A supplier run is rarely 20 minutes. It is drive time, a queue at the trade counter, loading, the drive back, unloading. Ninety minutes is normal, and at a burdened shop rate of $95 an hour that one trip is around $143. If you have not built a burdened labor rate yet, do that first: the unburdened wage makes handling look free when it is not. Then add ordering time, returns, the wrong-item trip and the hour chasing a backordered fixture.

One contractor on r/Contractor puts it better than any ranking page manages: "My labor doesn't begin on site." That sentence is the whole layer.

Layer two: floated capital

Nobody prices this and everybody feels it. You pay the supplier on day one and get paid on day 45. Float $12,000 for 45 days at 10% and the interest alone is roughly $148. Run four jobs with that profile and you carry $48,000 of someone else's materials on your credit at all times. A commenter on the same thread names it precisely: "you are putting your capital at-risk. On most smaller jobs this cost is negligible but on larger projects that risk becomes a much bigger number and I'm not assuming risk for free."

This layer runs against the taper: a tapered percentage falls as the job grows, but float cost rises with it. Handle that with deposits and progress draws timed to material purchases, not by inflating the percentage.

Layer three: warranty and replacement risk

If one fixture in forty fails inside your warranty period and swapping it costs $600 in labor and a trip, the expected cost is about $15 per fixture supplied. You guess this once: two years of job records tell you your real failure rate, and it differs for a $90 shower valve and a $2,400 furnace.

This layer is why supplying the material is worth something even when the customer can buy the same box for less. You are not selling the box. You are selling a single point of accountability when it fails, which is the argument that lands.

If you are having the markup conversation on every quote, the problem is upstream of the quote. Pavado builds done-for-you lead generation for local service businesses: a conversion page, a qualifying form that arrives with budget and scope already answered, and lead-to-sale tracking. Fewer price arguments, because fewer of the wrong people reach your estimate.

Get a lead plan

The escalation buffer hidden inside your markup

Most contractors also use the material markup as a private insurance policy against price movement, without saying so and without sizing it. NAHB's Eye On Housing reported on 13 August 2026 that building material prices rose 5.0% year over year in July, the highest since December 2022. The average conceals what matters: softwood lumber rose 7.4% in that single month and 17.3% over the year, while ready-mix concrete rose 2.2%.

By the numbers

Two contractors, same 20% material markup, same month. The deck builder's basket moved 17.3% over the year. The flatwork contractor's moved 2.2%. One markup is carrying an escalation risk it was never sized for. The other is charging for a risk that did not materialise.

Inflating the markup to self-insure is the expensive fix: you pay for it on every job you quote and lose bids to people who did not. The cheap fix is contractual.

On material price increases mid job are killing me, a contractor quotes a deck, waits three weeks for a decision, and finds lumber has moved. The useful replies are all about the document, not the number. One uses: "material costs subject to change if acceptance takes longer than 10 days, final pricing confirmed at purchase." Another puts a 7 day expiry on every quote. The best version ties the two together: "get a account at a lumberyard and send them a list to quote then use that to quote the job. My lumberyard guarantees price quotes for me for 30 days."

The top reply in that thread, from a 26 year general contractor, is also worth hearing: "if your margins are so low you can't absorb a 5% material delta, then this is a very good sign that you are not charging enough." Both are true. Match your quote expiry to your supplier's price hold, and if a few hundred dollars of movement decides whether a job is profitable, escalation is not your real problem.

The contract type decides how much you have to explain

This is the biggest lever in the topic and no ranking page connects it. How much you have to justify your markup is not decided by the customer's personality. It is decided by the document you wrote.

On Asking contractor for receipts for expenses, a homeowner billed "raw materials at a 20% markup" asks whether they can see the receipts. The top reply is blunt: "If his markup is based on the actual material cost, then they absolutely OWE you a copy of the material bill. Without that it's just made up numbers." Another draws the line cleanly: "If it's a fixed price contract you aren't owed any receipts. You just pay according to the schedule of values. If it's a cost plus contract they need to prove expenses. Open book."

That is the rule, not an opinion:

ContractWhat you owe the customerWhat the markup conversation looks like
Fixed price, lump sumA completed scope for the agreed numberNo markup line, so nothing to argue about
Cost-plus or time and materials with a stated markup %Receipts on request, for every line the markup is calculated fromEvery supplier invoice is reviewable, forever

Write "cost plus 20%" and you have signed up to open your books. Contractors who do this well are relaxed about it, and one in that thread offers a middle path worth stealing: if a customer seems distrustful, let them pick any ten receipts, and if any are billed wrong, open the rest.

If you do not want that relationship, do not write that contract. Quote a fixed price and let the markup live inside it. Michael Stone at Markup and Profit puts it bluntly in Fixed Price Quotations or Itemization: itemizing "gives customers a reason to argue with your price," and "the overhead and profit of any business is proprietary information and none of the customer's business."

So "should I break down my quote," which we take further in flat rate vs hourly pricing for contractors, is not a transparency question. It is a contract-structure question with consequences you carry for the length of the job.

The sales tax trap nobody mentions

This turns "should I itemize materials" from a sales preference into a compliance decision, and it is absent from every page ranking for this keyword.

In most states a contractor is the consumer of materials that become part of real property. You pay tax at the supplier, you do not charge tax on materials to the homeowner, and, as Wolters Kluwer notes in its guide to sales tax rules for the construction industry, "any markup you charge to your customer on the materials, supplies and labor, won't be subject to sales tax." Your markup rides tax-free, a quiet advantage of the lump-sum contract.

Some states treat you as a retailer instead, and several decide that from your contract type. Wolters Kluwer lists the states allowing reseller treatment on itemised, time-and-materials contracts as Arizona, Colorado, District of Columbia, Hawaii, Indiana, Mississippi, Nebraska, New Mexico and Texas, longer than the lump-sum list. Avalara's construction sales tax guide gives the specifics:

  • Colorado. Per the Department of Revenue, a contractor pays no sales or use tax on materials bought for a time-and-materials contract. "Instead, the contractor must collect [and remit] sales tax from its customer on the marked up price of the materials included in the time-and-materials contract."
  • Texas. Lump sum makes you the consumer. Time and materials makes you the seller, and under section 151.056(b), "the tax rate is applied to the price of the materials as agreed in the contract or the price of the materials to the contractor, whichever is the greater."
  • California. You are the consumer under either type, but bill the customer for tax computed on the marked-up materials, a "time and materials plus tax" contract, and you become the retailer.

Watch out

Read the Texas rule again: under time and materials the tax base is the greater of the contract price or your cost, which puts your markup inside the tax base. Itemising materials in one of these states does not just expose your margin to negotiation, it can change who owes the tax and on what number. Avalara also notes that contractors are frequently flagged for sales tax audits, with misclassified materials a common trigger. Confirm your own state with your accountant before you change how materials appear on a quote.

Two contract holes that cause most of the arguments

The allowance question

Allowances are where the markup fight starts, because the contract almost never says how the two interact.

The Seattle homeowner in the 25% Markup on materials thread had a $230,000 remodel with a $25,000 cabinet allowance and a clause applying 25% markup to all materials. The question was simple: is the 25% on top of the allowance, or already inside it?

The contractors answering could not agree. One said the markup is built in. Another said it is added on top. A third gave the version worth copying: the allowance is what you have to spend before additional fees, markup is already added, markup is charged again on anything above the allowance, and unused allowance is not refunded net of markup.

Adopt that or a different policy, but write it in a sentence, because a homeowner cannot guess a convention that experienced contractors disagree about.

Customer-supplied materials

That same contract applied 25% markup to client-supplied materials, producing the predictable objection: "How could they charge a markup on client supplied materials? None of their business how much you paid for materials you supplied."

As stated, that is hard to argue with. A percentage on a receipt you never saw is the weakest way to charge for real work, and the work is real: you confirm measurements, receive the delivery, inspect for damage, store it, and carry the labor warranty on a product you did not source. Price that as a stated coordination and handling amount with a written warranty carve-out. The three viable positions are covered in what to do when customers supply their own materials.

The price-check era changed the conversation, not the answer

Twenty years ago a homeowner could not check your material pricing. Now they can do it from the driveway in fifteen seconds, and the reflex in the trades is dismissal. On the r/Contractor markup thread, one contractor's advice is "get the internet to build your project, and walk out." Another pushes back, and is right: "a homeowner with no experience has no idea. If they ask once and you answer and thats the end of it youre fine. If they nickel and dime you it aint worth it."

That distinction is the technique. A first question is a request for information, and answering it well closes jobs. A third question about the same line is a signal about the customer. Answer once, in work performed rather than percentages, then move on. If you are having this conversation on most quotes, the fix is better-qualified leads, which is where how to handle price shoppers lands too.

Build your material markup this week

  1. Total twelve months of supplier receipts. That is your base.
  2. Time three supplier runs door to door, trade counter queue included, and multiply by your burdened rate. That is layer one, and it will be higher than you assumed.
  3. Calculate your float: days between paying suppliers and being paid, times your typical material balance, times your cost of money. Layer two.
  4. Count warranty callbacks caused by product failure, not workmanship, over two years. Divide the labor cost by units supplied. Layer three.
  5. Add the layers, divide by material spend. That is your percentage. Use the 7% to 35% published ranges only as a sanity check.
  6. Set a floor and a taper so small runs stop losing money and a $25,000 order does not carry a percentage sized for a $500 one.
  7. Match your quote expiry to your supplier's price hold and put the sentence in your template today.
  8. Choose your contract type deliberately. Fixed price if you do not want your receipts reviewed, cost-plus if open books are genuinely fine.
  9. Write the allowance sentence, and confirm your state's sales tax treatment before you itemise materials on anything.

The bottom line

"How much should I mark up materials" has no answer, and chasing one is why contractors keep landing on a number they cannot defend. The percentage is an output. The inputs are your handling hours, your float and your failure rate, and all three are measurable inside your own business in an afternoon.

Do that once and two things change. You stop guessing, and you stop arguing, because you are no longer defending an abstraction. You are describing three pieces of work that anybody can see you do.

Frequently asked questions

How much should a contractor mark up materials?
Published ranges run from 7% to 35%, which tells you the ranges are not the answer. Method puts the standard at 7% to 20%, Foreman puts it at 15% to 35% with specialty items at the top of that band, and contractors on r/Contractor report anything from 11% in Canada to 30%. Build your number from what the materials actually cost you to handle, float and warranty, and use the ranges only as a sanity check.
How do I explain material markup to a customer?
Name the work, not the percentage. The markup pays for sourcing, ordering, pickup or delivery coordination, storage, returns, and the warranty you carry when a part fails. As one contractor puts it on r/Contractor, your labor does not begin on site. Customers accept a description of unbilled work far more readily than they accept a number with no job attached to it.
Should I itemize materials on the quote or give one price?
One price for a fixed-price job, itemized only if you are working cost-plus and have agreed to open books. Itemizing invites a line-by-line negotiation, and in about nine states it can also change your sales tax position by moving you from consumer of the materials to retailer of them. If a customer insists on a breakdown on a fixed-price job, treat that as a paid estimating service.
Do I have to give a customer receipts for materials?
It depends entirely on the contract you wrote. On a cost-plus or time-and-materials contract with a stated markup, yes: the markup is calculated from the receipts, so the receipts are part of the math and the customer is entitled to them. On a fixed-price contract, no. The customer bought a completed result at an agreed number, not a reimbursement of your costs.
Do I charge sales tax on the marked-up price of materials?
In most states you do not, because you are treated as the consumer of materials that become part of real property, you pay tax at the supplier, and your markup rides tax-free. But a handful of states flip you to retailer on a time-and-materials contract. Colorado's Department of Revenue requires the contractor to collect and remit sales tax on the marked-up price of materials in a time-and-materials contract, and Texas taxes the greater of the contract price or your cost. Confirm your own state before you itemize.
Can I mark up materials the customer bought themselves?
You can charge for the work you still do, but calling it a percentage markup on their receipt is hard to defend and homeowners push back on it. You still receive, inspect, store and install the item, and you still carry the labor warranty on a product you did not source. Price that as a stated coordination and handling fee, plus a written warranty carve-out, rather than a percentage of a cost you had no control over.
Does the markup apply on top of an allowance or inside it?
Whichever your contract says, and most contracts do not say. Contractors in the same r/Contractor thread answer this three different ways, so a homeowner has no way to guess. Write one sentence stating whether the allowance is the amount available to spend before markup or after it, and whether unused allowance is refunded gross or net of markup.
How do I stop material price increases between quote and start from eating the markup?
Put an expiry on the quote and match it to your supplier's price hold. Contractors on r/Contractor use 7, 10 and 14 day windows, and one notes his lumberyard guarantees quoted pricing for 30 days. That is cheaper than inflating the markup on every job to self-insure against a risk that only shows up on some of them.
Done-for-you lead generation: a dedicated conversion page, a qualifying form that arrives with the answers attached, and lead-to-sale tracking, fed by targeted outreach and Meta ad campaigns we build and run.
Get a lead plan

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.