Guide

Marking up a subcontractor: the number that covers your risk

A flat 10% markup on subcontractor work is a habit, not a calculation. Here's the maths that tells you what to actually charge, built from your hours plus the risk you're carrying.

Why "just add 10%" doesn't work

Most owner-operators mark up subs the way they were taught: bump the number by 10%, sometimes 15%, and move on. That works fine when a sub bill is genuinely a pass-through — you're basically forwarding an invoice. It falls apart the moment you're the one who scoped the job, chased the sub for a start date, walked the site to check the work, and put your name on the guarantee if it fails.

Two separate costs hide inside every subcontractor line item, and a flat percentage rarely covers both:

Add these to the sub's price and you get a number that actually reflects what the job costs you to run, not just what it costs you to buy.

The formula

Here's the calculation in full:

Markup % = (your hours × your hourly rate + payment-gap financing + warranty reserve) ÷ sub price

Break down each part:

Divide the total by the sub price and you get your markup percentage. Apply a floor of 15% regardless of what the formula spits out — below that, you're not being paid for the risk of the arrangement at all, only your literal hours.

Why 10% is a loss-maker on an $800 job

Take a genuine example: a sub quotes you $800 to run electrical for a small renovation. You mark it up 10%, so you invoice the customer $880. That $80 is supposed to cover everything above.

Now count what actually happened:

Total cost of running this sub: $132.30. You charged $80. You've lost $52.30 before the sub has even started work, and that's before anything goes wrong. If there's a callback, you're deeper in the hole.

Using the formula: $132.30 ÷ $800 = 16.5%. Even that's below the point where most owner-operators would say it was worth the hassle — which is exactly why the 15% floor exists. On small sub bills, the fixed cost of your time doesn't shrink just because the invoice is small.

Running the numbers on a $4,000 package

Now scale it up. You've bundled plumbing and electrical for a bathroom remodel, sub price $4,000 total. You scoped both trades, scheduled them around each other, inspected the finished work, and you're warrantying the lot.

ItemCalculationCost
Your hours5 hours × $65/hr$325
Payment-gap financing$4,000 × 8% × (16/365)$14
Warranty reserve4% of $4,000$160
Total$499

$499 ÷ $4,000 = 12.5% by the raw formula. But this is a job where you're scoping, scheduling, supervising and warranting two trades working together — real coordination risk, not a simple pass-through. That pushes it into the 25–35% band, not the bare-minimum floor. A markup of 28% here gives you $1,120 on top of the $4,000 sub cost, invoiced to the customer as $5,120. That $1,120 covers your $499 in real cost and leaves roughly $621 as actual margin for taking on the job at all.

Two different jobs need two different bands

Not every sub arrangement carries the same risk, so don't apply one number across the board.

SituationMarkup rangeWhy
Genuine pass-through10–20%Sub is self-managing, customer already knows who's doing the work, minimal inspection needed
You scope, schedule, supervise, warranty25–35%You're carrying coordination hours, payment-gap financing and full warranty exposure

If you're not sure which band a job falls into, run it through the markup and margin calculator with your real hours and sub price, and check the result against these bands before you send the quote.

Don't itemise the sub cost on the customer's quote

Show a single line for the trade — "electrical work" — and a single price. Don't show "sub cost: $800, markup: $80" as separate lines. There are two reasons for this. First, it invites the customer to negotiate your markup specifically, which is a conversation you don't need to have. Second, it makes your risk premium look like pure profit when it's actually covering financing and warranty exposure that the customer never sees. You're not hiding anything dishonest — you're pricing a service, not reselling an invoice.

Check it against the whole job, not just the sub line

A sub markup calculated correctly still needs to sit inside a job that's profitable overall. Materials, your own labour on other parts of the job, and overheads all matter too. Once you've worked out the sub markup, run the full job through the job profitability calculator to check the whole thing clears the margin you actually need, not just the sub portion.

The short version: stop guessing at a round number. Add up your hours, the financing gap, and a warranty reserve, divide by the sub price, and never go below 15%. On small jobs that floor is doing the real work. On bigger packages where you're carrying genuine coordination and warranty risk, price it at 25–35% and don't apologise for it.

Put this into practice

The Small Business Operations Kit ($19) turns guides like this one into fill-in-once worksheets: rate card, quoting sheet, job costing, payment terms and follow-up templates. Built by the same people who write these guides.