← Risacare Blog

How to Price Service Jobs Profitably

Most service businesses do not have a sales problem. They have a pricing problem that hides inside busy weeks. Here is how to build a number you can defend.

Guide · 8 min read · Updated August 06, 2026

Stop pricing off what the guy down the road charges

Competitor pricing is the worst possible starting point, because you have no idea what is inside their number. You do not know their truck payment, their insurance premium, whether they pay a helper on the books or in cash, whether they carry workers comp, or whether they are quietly going broke while staying busy. Copying a price is copying someone else's cost structure, and yours is different.

Competitor pricing is useful for exactly one thing: telling you roughly where the market sits so you know how far above or below it you are landing. If your honest number comes out 30 percent above the local going rate, that is information worth investigating. It might mean your overhead is bloated, or it might mean everyone around you is underpricing and burning out on a two-year cycle. Both happen constantly in trades.

The number you charge has to start from your costs and the margin you need to survive a slow quarter, replace a transmission, and pay yourself something that resembles a wage. Then you check it against the market. That order matters.

Find your true hourly cost before you quote anything

Your true hourly cost is not your wage. It is everything you spend to be able to do an hour of billable work. Add up labor (your pay plus payroll taxes, or a tech's pay plus taxes plus workers comp), then add the cost of the vehicle, tools, fuel, insurance, licensing, phone, software, and every other bill that shows up whether or not you work that week.

Then divide by billable hours, not clock hours. This is where almost everyone gets it wrong. A person working a 40-hour week does not sell 40 hours. Drive time, quoting, invoicing, parts runs, callbacks, warranty work, and weather all eat into it. If you honestly sell 25 to 30 hours out of a 40-hour week, then every fixed cost you carry has to be recovered across those 25 to 30 hours, not 40. Using 40 in the denominator understates your cost by roughly a third, and a third is usually your entire profit.

Track it for two weeks before you trust your estimate. Write down start and stop times for actual billable work each day. Almost everyone is shocked. The gap between hours worked and hours sold is the single biggest source of underpricing in small service businesses.

Once you have that number, keep it somewhere you can see it. It is the floor. Any job that comes in under it is a job you are paying for the privilege of doing.

Build a job cost sheet and fill it in every single time

A job cost sheet is five lines: labor hours times your loaded labor rate, materials at your real cost, equipment or rental, subcontractor cost, and a permit or disposal line. Total those and you have job cost. Everything after that is a decision, not a calculation.

Materials deserve their own discipline. Use current prices, not what you paid last year, and include the parts run: if picking up a part costs you 45 minutes, that is 45 minutes of billable capacity gone. Include waste and breakage on anything cut to fit. Include the small consumables that never make it onto a quote (fasteners, tape, blades, sealant, bags, PPE), because across a year they are not small.

The single habit that changes a business is comparing the cost sheet to what actually happened after the job closes. Estimated eight hours, actually took eleven. Estimated a hypothetical 300 dollars in materials, spent 380. You do not need software to do this. A notebook works. Do it for twenty jobs and your estimating accuracy will improve more than any course could deliver, because you will discover the specific job types where you consistently guess low.

Materials cost is also the line most people never renegotiate. If you have been buying from the same supplier at counter pricing since you started, you may be paying retail on items where wholesale or trade pricing is available to you. That is margin sitting on the table with no extra work attached to it.

Overhead is the number everyone guesses at

Overhead is every dollar you spend that is not attached to a specific job: insurance, rent or shop space, accounting, advertising, software subscriptions, licensing, bank and card processing fees, your phone, and the time you spend on the phone and in the truck that no customer pays for directly. Guessing at this number is why profitable-looking jobs add up to an unprofitable year.

Get the real figure once a year. Pull twelve months of bank and card statements, tag every recurring non-job expense, and total it. Divide by your expected billable hours for the year, and you have an overhead recovery rate per hour. Add that to your loaded labor cost. Now you have a cost per billable hour that includes staying in business, not just showing up.

Redo it whenever something structural changes: a new truck, a new hire, a jump in insurance, a new software stack. Overhead creeps up quietly through subscriptions and fees, and prices tend to stay frozen until someone notices the bank balance is not growing.

Markup and margin are not the same thing, and the difference is brutal

This is the most expensive arithmetic mistake in the trades. Markup is calculated on cost. Margin is calculated on price. They are different numbers and people use them interchangeably.

If a job costs you 1000 dollars and you add 20 percent markup, you charge 1200. Your gross margin is not 20 percent, it is about 16.7 percent, because 200 divided by 1200 is 0.167. If what you actually need is a 20 percent margin, you do not multiply by 1.20. You divide cost by 0.80, which gives 1250. The gap gets wider as the target rises: to hit a 40 percent margin, divide cost by 0.60. Cost of 1000 becomes a price of 1667, not 1400. That is a 267 dollar difference on a single hypothetical job, and if you run that error across a year of jobs it is the difference between a profitable business and a busy one.

The rule to memorize: price equals cost divided by (1 minus your target margin expressed as a decimal). Write it on the inside of your estimate folder. Check any pricing spreadsheet you inherited or downloaded, because a lot of them have this baked in wrong.

Price the job, not the hour

Hourly billing punishes you for being good. The faster and more skilled you get, the less you earn for the same result. Flat-rate or job pricing lets you charge for the outcome the customer is buying, and it removes the argument about whether something should have taken three hours or five.

The way to move to flat rate without gambling is to build it from your own cost data. Take your ten most common jobs, look at what they actually cost you across the last several instances (labor at your loaded rate, materials, drive time, average callback risk), then apply your margin formula. You now have a price book. Quote from the book. Adjust for genuine complexity, not for how the customer sounds on the phone.

Build in a documented range for the unknowns. For work behind walls, under houses, or in old systems, quote the known scope firmly and list the specific conditions that trigger a change order, with the price of each condition stated up front. Customers do not object to change orders they were warned about. They object to surprises.

Charge for estimates on complex diagnostic work, or at least credit the fee toward the job if they book. Free diagnosis is not free to you, and giving it away trains people to shop your expertise for nothing.

The underpricing mistakes that repeat everywhere

First, quoting from memory. Memory drifts toward the last easy version of a job, never the hard one. Second, forgetting drive time entirely, which on a spread-out service area can be an hour or more of unpaid capacity per job. Third, absorbing callbacks and warranty work without ever pricing that risk in, when a small percentage of jobs will always come back.

Fourth, discounting to win a job you were already going to win. If your close rate is very high, your prices are probably low; a healthy business loses some quotes on price. Fifth, matching an unqualified lowball competitor bid on scope that was never comparable in the first place. Sixth, letting one big customer negotiate you below cost because of the volume, when volume at negative margin just accelerates the problem.

Seventh, and quietest: never raising prices. Costs move every year. If your prices have not moved in three years, you have taken a real pay cut you never agreed to.

Raising prices without losing your base

Raise on new quotes first, not on existing bookings. Pick a date, update the price book, and quote the new numbers from that day forward. You get immediate data on how the market responds without disrupting work already sold.

Move in increments you can explain. A 5 to 10 percent increase rarely triggers a wave of losses when the work is good and the communication is clean. If you need substantially more than that to be profitable, do it in stages across a couple of quarters, and change something visible at the same time: tighter arrival windows, faster quote turnaround, a written warranty, cleaner site cleanup. Price increases land better when they arrive with a reason attached.

Expect to lose a few customers, and be at peace with it. The ones who leave over a modest increase are usually the ones who take the most time, question the most line items, and pay the slowest. Losing the bottom of your customer list and replacing it with work at proper margin is not a setback, it is the whole point of the exercise.

Key takeaways

If material cost is where your margin is leaking, Risacare Supply Sourcing finds wholesale pricing on the things you buy every week for $39/mo, with a 7-day free trial (card required), no contract, and the $199 setup fee waived for new signups.

Risacare the Bundle is $109/mo, month-to-month, with a 7-day free trial (card required) and the $199 setup waived for new signups.

Keep reading

More from the Risacare blog

Start my free trial →