Contractor Markup on Materials: What's Standard, What's Excessive, and How to Negotiate

· Guide · 7 min read

General contractors mark up materials as a standard part of their business model — typically 10–25% above their cost. On a project where materials represent $30,000 of the total budget, that markup can add $3,000–$7,500 to your invoice. Understanding how the markup works, what's reasonable, and how it's structured in your contract is one of the most practical ways to evaluate whether you're getting a fair deal.

Why Contractors Mark Up Materials

Material markup isn't padding — it compensates for real costs that fall outside the labor line. When a GC orders materials, they're covering vendor management, delivery coordination, jobsite storage and security, handling labor for staging and protecting materials, and the carrying cost of paying supplier invoices before the owner pays their draw. A contractor who buys $15,000 of lumber and waits 30–45 days for the next draw is effectively financing that inventory.

Markup also covers the risk of estimation error. If a contractor bids $8,000 for tile and the project requires 12% more material than scoped, the markup often absorbs the overage rather than triggering a change order. For that reason, comparing markup percentages between bids without understanding what's included in the scope isn't a reliable apples-to-apples comparison.

What Percentage Is Actually Standard

Markup norms vary by project type, contractor size, and market:

Markups above 35% on commodity materials (dimensional lumber, drywall, concrete block, standard fixtures) are worth questioning. Markups above 40% on any material category are a signal to ask for documentation.

Trade Discounts: Why GC Cost ≠ Retail Price

Most established contractors don't pay retail. A GC with an account at a local lumber yard, roofing distributor, or tile wholesaler typically receives 20–40% off list price, depending on volume and relationship tenure. A contractor paying $180 per square for roofing material that retails at $240 and billing you $216 (20% markup on their cost) is actually billing you 10% below retail — even though their markup looks significant on paper.

This is why comparing a contractor's material line items directly to Home Depot prices can be misleading in either direction. The GC's base cost is often lower than yours would be; their markup brings the effective price back toward retail. The question is how far above retail it lands, not what percentage they're adding to their invoice.

Fixed-Price vs. Cost-Plus: How Contract Structure Changes Visibility

In a fixed-price (lump-sum) contract, the contractor builds their material cost and markup into the total bid. You never see the breakdown unless you ask for an itemized estimate as part of the pre-contract process. This is the norm for most residential remodeling work and isn't inherently problematic — it transfers risk to the contractor, who absorbs material price swings and estimation errors.

In a cost-plus contract, you pay actual material invoices plus an agreed markup (expressed as a percentage of materials or as a fixed fee). This structure is transparent but shifts risk to you: if material prices rise mid-project, your bill rises with them. For more detail on how to choose between these structures, our guide on cost-plus vs. fixed-price construction contracts covers the risk trade-offs in full.

For cost-plus projects, the contract should specify:

How to Evaluate Material Pricing in a Fixed-Price Bid

Even in a fixed-price bid, you can pressure-test material pricing by requesting a detailed scope breakdown before signing. Most GCs will provide one if asked; those who refuse are a red flag. Once you have the breakdown:

  1. Identify the five largest material line items by dollar amount — typically framing lumber, roofing or siding, windows, cabinetry, and flooring.
  2. Get your own quotes from Home Depot Pro, a local lumber yard, or the relevant distributor. You don't need to buy — just get pricing for the same specifications.
  3. Compare to the bid. If the contractor's material line is 15–25% above your quoted cost, that's within normal range. More than 30–35% above is worth a conversation.
  4. Ask, don't accuse. Say: "I noticed the tile line is $8,400 — I priced the same specs at about $6,200. Can you walk me through your cost?" The contractor may have a valid explanation (delivery, breakage allowance, premium vendor) or may adjust.

This process is covered in our guide to getting and comparing contractor bids — which includes the questions to ask each bidder to make estimates directly comparable.

Owner-Supplied Materials: When It Makes Sense

Supplying your own materials eliminates the markup on those items, but introduces several complications that reduce the savings in practice:

Owner-supply works best for three categories: high-margin finish items (a $3,000 light fixture where 20% markup is $600 you'd rather keep), specialty items the contractor would have to special-order anyway, and appliances, which most contractors will readily exclude from their scope.

Negotiating Material Markup: What Actually Moves

Markup is negotiable, but the leverage points differ by contract type:

On fixed-price contracts: Push for full itemization before signing. A contractor who can justify every line item is more likely to have reasonable markup built in. If specific line items appear inflated after your research, bring documentation and ask for revision on those items specifically — blanket requests for a lower total rarely get the detailed response you need.

On cost-plus contracts: The markup percentage itself is your primary negotiating point. Offering to pay promptly (within 10 days of invoice), accepting a higher overhead fee in exchange for a lower markup percentage, or agreeing to a guaranteed maximum price (GMP) can all give the contractor enough certainty to reduce the percentage.

On large projects: Ask whether the contractor would consider a split arrangement — cost-plus for materials above a certain threshold, with fixed pricing on standard commodity items. This gives you transparency where it matters most while keeping the contractor protected on smaller items.

What Should Be in the Contract

Whether your project is fixed-price or cost-plus, the contract should address how materials are handled. Our guide on what to include in a renovation contract covers this in detail, but the material-specific provisions to look for include:

Allowances are particularly common in kitchen and bath projects for fixtures, tile, and cabinetry. An allowance of $4,000 for tile in a bathroom with 200 square feet to cover is workable; $2,500 for the same scope isn't — and the difference will come back as a change order. Verify every allowance against current material pricing before you sign.

Red Flags vs. Normal Variance

Normal: Material markup of 10–25% without itemization on a fixed-price bid. Markup applied to subcontractor invoices. Delivery and handling fees as separate line items. Allowances set slightly below your preferred product to give you flexibility to upgrade.

Red flags: Refusal to provide any itemization after signing. Markup above 35% on commodity materials when you can verify it. "Restocking fees" applied retroactively for materials you approved but the contractor over-ordered. Markup applied to subcontractor invoices without disclosure — and then a separate "project management fee" on top.

Browse general contractors by city or find verified general contractors near you to compare profiles, project portfolios, and scope transparency before you sign.

Frequently Asked Questions

What is a typical contractor markup on materials?
Most general contractors mark up materials between 10% and 25% above their cost. Larger GCs with established supplier relationships often receive trade discounts of 20–40% off retail, so their marked-up price may still land near or below what you'd pay at a home improvement store.
Is contractor material markup legal?
Yes. Material markup is standard practice and considered part of the contractor's compensation for purchasing, transporting, and managing materials. It's not required to be disclosed separately unless your contract specifies a cost-plus structure.
What's the difference between a cost-plus and fixed-price contract for materials?
In a fixed-price contract, the contractor's material markup is invisible — it's baked into the lump sum. In a cost-plus contract, you pay the actual material invoice plus an agreed markup percentage or fee, which makes the markup explicit and auditable.
How do I know if a contractor is overcharging for materials?
Request an itemized materials list before signing, then spot-check 5–10 line items against current prices at suppliers like Home Depot Pro, Menards, or local lumber yards. If the contractor's cost exceeds street price by more than 30%, ask for documentation of their supplier invoice.
Can I supply my own materials to avoid contractor markup?
Yes, but this is often less advantageous than it seems. Contractors typically won't warranty work on owner-supplied materials, and any delays from your sourcing become your liability. It works best for high-value finish items like fixtures, tile, or appliances where the savings are significant.