Material markup: how to figure it and show it on an estimate

Material markup is what you add to your material cost to get the price the customer pays. Markup is figured on your cost; margin is figured on the price, so the same dollars give two different percentages. Set your own markup from your real costs, then build it into line prices or show materials separately, and say which on the estimate.

This is general guidance, not tax or legal advice.

What material markup is (and what it pays for)

Material markup is your price for materials minus what they cost you. It's not just extra money on top: it can cover the time you spend pricing, ordering, picking up and returning parts; delivery; waste and leftovers; and standing behind the part once it's in.

Buying materials up front for a job is what a deposit is for. See how to ask for a deposit.

Markup vs margin: the math

Markup is the extra divided by your cost; margin is the extra divided by the price. Both use the same dollars, so it's easy to mix them up.

Example only (not a suggested rate): the $80 cost and $100 price below are made-up numbers chosen to show the math.

What you wantFormulaExample only (not a suggested rate)
Markup %(price − cost) ÷ cost × 100Example only: (100 − 80) ÷ 80 × 100 = 25%
Margin %(price − cost) ÷ price × 100Example only: (100 − 80) ÷ 100 × 100 = 20%
Price from a markupcost × (1 + markup % ÷ 100)Example only: 80 × (1 + 25 ÷ 100) = 100
Price from a margincost ÷ (1 − margin % ÷ 100)Example only: 80 ÷ (1 − 20 ÷ 100) = 100

Working back from a margin you want

If you think in margin (the share of the price you keep), don't just add that percentage to your cost. Divide instead: cost ÷ (1 − margin % ÷ 100) gives the price. In the example, 80 ÷ (1 − 20 ÷ 100) comes back to 100.

Why the two numbers don't match

In the example, the same $20 is 25% of the cost but 20% of the price. If you want a 20% margin but just add 20% to your cost, you get 80 × 1.2 = 96, not 100, and you keep less than you meant.

How to choose your markup

There's no single right number. Work it out from what materials really cost you and what the markup has to cover.

  1. Find your real cost. Use your receipts, and count delivery and your trips to the supplier, not just the shelf price.
  2. List what the markup has to cover. Pricing and ordering time, pickups and returns, waste and leftovers, and standing behind the part.
  3. Use one method on every job. The same method keeps your estimates consistent, so you can explain any of them.
  4. Check your own past jobs. Look back at a few finished jobs and see whether materials paid for themselves once you count the time and trips.

This page shows the method, not a number. Your markup depends on your costs.

Showing markup on an estimate or invoice

You can build it into each line price, put materials on their own line at your price, or show cost plus a stated markup; whichever you use, say it on the estimate. Each way has its place; pick the one that fits the job and the customer.

Built into line prices

Each line is one price for the task, with the materials inside it ("Install faucet, including supply lines"). It keeps the estimate short and easy to read. The invoice then uses the same lines as the estimate; see how to write an invoice.

Materials on their own line

List materials as a separate line at your price, either under each task or as one materials line for the job. It shows the customer what the parts cost them without showing your cost.

Cost plus a stated markup

Show your cost and the markup you agreed, and keep the receipts. Use it only when that's the deal you made with the customer. It fits jobs billed by the hour plus materials; the time and materials invoice template has a markup column for it.

Allowances for items the customer picks

When the customer hasn't chosen a fixture or finish yet, put an allowance on the estimate: a set amount for that item. If their pick costs more, the difference is priced by change order before you order it. See how to write a contractor estimate for the allowance line and change orders for pricing the difference.

Wording you can copy

Example only: fill in your own numbers. Nothing here suggests a rate.

UseLine to copyWhere it goes
Built into line pricesPrices include labor and materials.Estimate Notes, once; each line then names what it includes ("Install faucet, including supply lines").
Materials on their own lineMaterials for [task]: $[amount].A separate line under each task, or one materials line per job.
Cost plus a stated markupMaterials billed at cost plus [your markup]%. Receipts available on request.Only if that is what you and the customer agreed. Fits time and materials billing.
Allowance[Item] allowance: $[amount]. If your pick costs more, the difference is added by change order before we order it.Estimate line; see change orders.
Customer-suppliedCustomer-supplied [item]: labor only. Any warranty on the part itself comes from its maker.The line for that item, on the estimate and the invoice.
Price dateMaterial prices as of [date]. If they change before we order, we'll tell you before buying.Estimate Notes, next to the valid-until date; see estimate vs. quote vs. bid.

Customer-supplied materials

If the customer buys the part, bill your labor only and write "customer-supplied" on that line. Agree before the job who checks that the part fits and works. Say on the estimate how you'll handle a wrong or missing part: another trip is priced and approved before you make it.

Any warranty on the part itself comes from its maker; your workmanship warranty is yours to set. If you offer one, write what it covers.

Sales tax on materials: check your state

Whether a contractor pays sales tax when buying materials, charges it to the customer, or both, and whether it applies to the markup, can depend on the state and sometimes on the type of job. Check with your state's tax agency or ask a tax preparer.

When a customer asks about your markup

Give a short, honest answer: the material price covers the part plus the time and trips to price it, get it, and stand behind it. Offer to go through the line items with them. For more on that conversation, see what to say when a customer says your estimate is too high.

Frequently asked questions

What's the difference between markup and margin?

Markup is figured on your cost; margin is figured on the price. Markup % = (price − cost) ÷ cost × 100. Margin % = (price − cost) ÷ price × 100. The same dollars give a bigger markup percentage than margin percentage; see the Example only table above.

How much should a contractor mark up materials?

There's no single right number, and this page doesn't suggest one. Work it out from your real material costs and what the markup has to cover, use the same method on every job, and check it against your own past jobs.

Should I show my markup on the estimate or invoice?

You can build it into line prices or show it; what matters is that the estimate says how materials are priced and the invoice matches. If you agreed to cost plus a stated markup, show the cost and the markup and keep the receipts. Contract rules vary by state, so check yours.

Do I add markup to materials the customer buys?

Bill labor only for a part you didn't buy, and write "customer-supplied" on that line. If you charge anything extra for handling a customer's part, say so on the estimate before the job.

Do contractors charge sales tax on materials?

It varies by state, and sometimes by type of job and how the contract is written. Check with your state's tax agency or ask a tax preparer.

Write the estimate now

Start from the free estimate template, or read how to write a contractor estimate and estimate vs. quote vs. bid. When the job's done, use the free invoice template, the time and materials invoice template for hours plus materials, or invoice templates by trade.

Doing this from your phone

Pencilslip is an estimates and invoices app for solo tradespeople. The free version works today in your phone's browser: estimates, invoices, job photos, your own payment link, and a PDF you can send. No account needed. Free: no cap on the number of estimates or invoices on this device. It saves only in this browser on this device, so download a backup from Settings now and then.

Try the free version

The full app isn't out yet. Founding access is open: pre-order your first year of Pencilslip for $29, with a full refund automatically if early access isn't open by December 15, 2026 and you haven't agreed to a new date. Your year starts the day early access opens, planned for no later than December 15, 2026. See Pencilslip pricing for both options. Not ready to pre-order? Join the free waitlist below to get an email when the full app opens. You don't need it to use the free version.