How Much to Mark Up Materials as a Contractor

Material markup is one of the most misunderstood parts of contractor pricing. Some contractors feel guilty charging more than they paid. Others aren't sure what's "fair." A few have had customers push back and gave in to avoid conflict.

Here's the straight answer: a 15–30% markup on materials is standard, reasonable, and necessary across most trades. It's not price gouging. It compensates you for a set of real services that have real value. This article explains what markup covers, what the ranges look like by trade, and how to handle the conversation with customers who push back.

What Material Markup Actually Covers

When a customer asks why you're charging more than the hardware store price, the answer is: because there's more than the hardware store involved. Your markup compensates you for:

  • Sourcing time — researching the right product, comparing suppliers, finding what's actually in stock
  • Purchase and procurement — the time and fuel to pick up materials, or the time managing an order and coordinating delivery
  • Storage and handling — keeping materials on your truck, in your shop, or at a staging location without damage or theft
  • Capital float — you pay for the material before the customer pays you; that gap is a real cost of doing business
  • Returns and defects — when something arrives damaged, the wrong size, or fails on the job, you manage the return. That's your time.
  • Warranty coordination — if a product fails after installation, you're typically the first call. You didn't manufacture it, but you'll manage the process.
  • Expert selection — you know which products last and which ones fail. Your material selection is part of the service.

None of this is free. If you're passing materials through at cost, you're providing all of these services for nothing.

Standard Markup Rates by Trade

Markup varies by trade based on the complexity of material management, typical job size, and industry convention:

Plumbing
20–35%
Specialty parts, custom fittings, high return/defect rate
HVAC
20–30%
Equipment warranty management justifies higher end
Electrical
15–25%
Standard range; specialty fixtures and panels at higher end
Roofing
15–25%
Bulk material purchases; markup on shingles, underlayment
Carpentry
15–25%
Lumber volatility; custom and specialty materials at 25–35%
Painting
15–20%
Premium paints at higher end; standard commodity paint lower
Flooring
15–25%
Custom or natural materials at higher end; overorder buffer
Landscaping
25–35%
Plant material loss rate; nursery sourcing time

Custom orders, long-lead items, and materials that carry significant damage risk during transport or installation often justify markups at the higher end of these ranges — or above them.

Markup vs. Margin: Know the Difference

These two terms are often used interchangeably, but they mean different things and produce different numbers:

  • Markup is a percentage of your cost. A 25% markup on a $400 part = $400 × 1.25 = $500 charged to the customer. The markup is $100.
  • Margin is a percentage of your selling price. That same $100 profit on a $500 sale = 20% margin.

Important: If you want a 25% margin on materials, you need a 33% markup on cost. ($400 ÷ 0.75 = $533). The calculator uses markup on cost — the more common convention in trades.

How to Handle Customers Who Want to Supply Their Own Materials

This comes up regularly, especially with clients who think they can save money by ordering from Amazon or a big-box store. Here's how to handle it professionally:

Option 1: Allow it with adjusted pricing

You can absolutely let customers supply their own materials — but your labor rate goes up. If you're no longer providing material management services, you're also no longer absorbing any risk when the customer's product fails, arrives wrong, or is damaged. Your quote reflects labor only, and your terms should state clearly that material-related issues (wrong product, defective items, returns) are the customer's responsibility and may result in additional labor charges.

Option 2: Decline politely but firmly

Some contractors simply don't allow customer-supplied materials. This is a completely legitimate business decision. When a product fails on a job, the customer will call you first regardless of who bought it. You can protect yourself from that liability by controlling the supply chain. Frame it as a quality and warranty guarantee: "I stand behind everything I install. To do that, I need to source the materials myself."

Option 3: Charge a handling fee

A middle-ground approach is to accept customer-supplied materials but charge a material handling fee (typically 10–15% of the retail value) to cover your time receiving, inspecting, staging, and managing those materials — plus the risk you're accepting by installing products you didn't select.

Whatever you decide, put it in writing before the job starts. "Customer-supplied materials are installed as-is, with no warranty on product performance" should be standard language in any contract where the customer is providing materials. This is not adversarial — it's professional.

Applying Markup in Your Job Price

When you use the JobProfitCalc calculator, enter your material cost at what you paid, then set your markup percentage. The calculator applies the markup and includes the marked-up total in your complete job price — so your suggested charge already has the markup baked in alongside labor, overhead, drive time, taxes, and your target profit margin.

Markup and profit margin are separate things in the calculator. Markup on materials recovers the cost of procuring and managing those materials. Profit margin is your return on the complete job. Both matter, and both belong in every quote you send.