You can be booked solid for six months straight and still lose money. It happens all the time. A contractor lands job after job, crews are busy, trucks are rolling, and then tax season hits or the equipment breaks down and there's nothing in the bank. The problem usually isn't sales. It's pricing.
Underpricing is the quiet killer in this industry. It doesn't show up as one bad decision, it shows up as a hundred small ones: guessing at material costs, forgetting to price your own labor, rounding down to win the bid, not accounting for the truck sitting in traffic for 40 minutes. Here's how to build a pricing process that protects your margin on every job, not just the easy ones.
Start With Your Real Costs, Not Your Gut
Most underpriced jobs aren't underpriced because the contractor is bad at math. They're underpriced because the estimate was built on a feeling instead of a number. "This job feels like about four grand" is not a pricing method, it's a guess with a dollar sign on it.
Every job has four cost buckets, and all four need to show up in the price:
- Materials — actual current cost, not what you paid last year
- Labor — hours times your real loaded labor rate, including payroll taxes and insurance
- Overhead — a slice of your fixed monthly costs (truck payment, insurance, software, phone, rent)
- Profit — the money that's actually yours, not what's left over by accident
If you're only pricing materials and labor, you're running a nonprofit. Overhead and profit aren't optional line items you add when things are going well. They belong in every estimate, every time.
Know Your Overhead Number Before You Bid Anything
Here's a test: can you say, right now, what your overhead costs you per month? Not roughly. The actual number — insurance, truck payments, tools, software subscriptions, office costs, admin time, marketing spend. Add it up for the year and divide by your billable hours. That's your overhead cost per hour, and it needs to be baked into your hourly rate before you ever touch a customer's estimate.
A lot of contractors price labor at what they pay their guys per hour and call it a day. That's not your rate — that's your cost. Your rate needs to cover the crew's pay, your overhead per hour, and a profit margin on top. Skip this step and you're paying your business's bills out of your own pocket without realizing it.
Price the Job That Actually Exists, Not the Easy Version
Estimates go sideways when contractors price the job they hope it is instead of the job that's actually in front of them. Walk the site. Every time. A fence job on flat, clear ground is not the same job as one that needs three days of brush clearing and a rented auger for rock. A repaint that includes patching water-damaged drywall is not a straight repaint.
This is where a lot of margin quietly disappears — change orders that never get billed, extra trips that never get invoiced, "just this once" favors that become the customer's expectation. If the scope changes after you've walked the site, the price changes. Put it in writing before the work starts, not after.
Don't Price Off the Competitor Down the Street
It's tempting to ask around or check what the other guy charges and just undercut it a little. This is how entire markets end up underpriced — everyone pricing off everyone else instead of off their own numbers. You don't know what the competitor's overhead looks like, whether they're insured properly, or whether they're quietly losing money on every job too.
Price your job based on your costs and your margin target. If that number is higher than the competition, that's information — maybe you need to sell the value better, or maybe the other guy is underpricing himself out of business. Either way, racing to match a number you didn't build yourself is how contractors end up working for less than minimum wage on their own crew.
Build in a Buffer for the Stuff You Can't See
Every job has some percentage of built-in uncertainty — rot behind the siding, old wiring nobody mentioned, a driveway that's not actually level. Experienced estimators build a contingency into the price, usually 5-15% depending on the trade and the age of the property, rather than pretending every job goes exactly to plan.
This isn't padding the bid to rip someone off. It's the same logic as an insurance premium. Most jobs won't need it. The ones that do will eat your entire profit margin if it's not already priced in.
Track What You Actually Earned, Not What You Quoted
The estimate tells you what you expected to make. The real number is what showed up after the job closed out — actual material costs, actual hours, actual callbacks. If you're not comparing those two numbers on every job, you have no way of knowing whether your pricing model works.
Pull your last ten completed jobs and check: quoted price vs. actual cost to deliver. If the gap is consistently in the customer's favor, your pricing method has a leak somewhere, and it's probably one of the categories above — overhead, scope, or contingency.
Where Software Actually Helps
A lot of this comes down to consistency. When every estimate is built from scratch in a notebook or a text message, it's easy to forget a line item under pressure to get the number out fast. This is why we built Trusso's AI estimate tool around your own price book instead of generic averages — it pulls your real material and labor costs into every estimate automatically, so overhead and margin aren't things you have to remember to add on a rushed Friday afternoon. Trusso also ties estimates straight into scheduling and invoicing, so the number you quoted is the number that gets billed, with a paper trail if the scope changes mid-job.
If you want a faster way to sanity-check a bid before you send it, the free calculators at trussoapp.com/tools cover painting, roofing, drywall, fencing, pressure washing, and flooring, and they're built off real material and labor data rather than rough guesses.
For more on making sure your estimates hold up once they're in the customer's hands, see 7 Things Every Contractor Estimate Should Include and How to Create a Professional Estimate That Wins More Jobs.
Pricing right isn't about charging more just to charge more. It's about making sure the number on the page actually reflects the job on the ground — materials, labor, overhead, and a real profit margin, every single time. Do that consistently and being busy finally starts meaning something in the bank account, not just on the calendar.
Run your business the simple way
Try Trusso free for 7 days and send your first estimate in minutes.
Start 7-Day TrialKeep reading
Estimate vs. Quote: What Contractors Need to Know
"Estimate" and "quote" get used interchangeably on job sites, but they mean different things legally and financially. Here's the difference and why it matters when money's on the line.
Read articleEstimating7 Things Every Contractor Estimate Should Include
A vague estimate costs you money twice: once when you lose the bid, and again when a customer disputes the invoice. Here's the checklist to fix both.
Read article