Back to the blog
Pricing & Estimates

How to Price a Job So You Actually Make Money

MCR System Team6 min read

Most service business owners don't under-price jobs on purpose. It happens a line at a time: a labor rate that was set years ago and never revisited, a material cost that gets passed through at cost because marking it up feels like nickel-and-diming the client, an overhead number that never made it into the estimate at all. None of those decisions look wrong in isolation. Added together, they're the difference between a business that grows and one that stays exactly the size it is today, no matter how busy it gets.

Start with your real hourly cost, not your hourly rate

Your hourly rate is what you charge. Your hourly cost is what an hour of work actually costs you once you count wages, payroll taxes, insurance, fuel, tools, and the time you spend driving between jobs or writing up the estimate in the first place. A lot of estimates are built off the rate and skip the cost entirely — which means the owner finds out whether the job was profitable only after it's done, if ever. Work out your real hourly cost once, in writing, and every estimate after that starts from an honest number instead of a guess.

Material costs need a markup, not just a pass-through

Passing materials through at exactly what you paid feels fair, but it quietly makes you a free warehouse and delivery service. You still have to source the material, drive to pick it up, absorb the cost if something gets damaged or returned, and carry the expense on your card or account until the client pays. A standard markup — even a modest one — covers that work instead of hiding it. Clients rarely question a reasonable materials markup on a detailed estimate; they question a number that looks made up.

Overhead has to live somewhere in the price

Insurance, vehicle payments, software, a phone plan, a storage unit for equipment — none of that goes away between jobs, and none of it shows up if you price a job as labor plus materials alone. The simplest fix is to figure out roughly what your overhead costs per month, divide it across how many billable hours you actually expect to work, and fold that per-hour number into your labor rate. It stops being a mystery expense that eats into profit at tax time and becomes a line you've already accounted for.

Build in a margin you can see, not one you hope for

Cost-plus pricing only works if the "plus" is a real number you chose on purpose, not whatever is left over after everything else. Decide on a target margin for the type of job — it can differ between a quick service call and a multi-day install — and treat it as non-negotiable the same way labor cost is non-negotiable. A margin you can name is a margin you can defend when a client asks for a discount; a margin that's just "whatever's left" disappears the first time someone pushes back.

A quick gut-check before you send it

Before an estimate goes out, it's worth asking one plain question: if every job this month looked like this one, would the business be in better shape at the end of the month, or worse? If the honest answer is "worse," the number needs to move before the client sees it — not after the job is already done and it's too late to do anything about it.

Ready to send an estimate instead of writing about one?

Start free