All articlesGrowth

How Do Contractors Make Money? Why Margin Beats Volume

The Trusso TeamSeptember 10, 20267 min read

Ask a contractor how they make money and most will say some version of "I do the work and I charge for it." That's not wrong, but it's not how the math actually works. You don't get paid for hours on a ladder or in a crawlspace. You get paid for the gap between what a job costs you and what the customer pays — and that gap is decided long before anyone picks up a tool. It's decided in how fast you quote, how well you follow up, whether you catch every change order, and whether you ever miss the call in the first place.

This is the first post in a series about what we call the systems advantage: the idea that a two-person crew running on a system will out-earn a ten-person crew running on memory, texts, and paper. Being small isn't the handicap. Being unsystemized is. This post lays out where the money actually comes from and where it actually leaks — the rest of the series digs into each leak one at a time.

Revenue and profit are not the same job

Two contractors can gross the same $400,000 a year and end the year in completely different places. One nets $140,000. The other nets $60,000 and feels like he worked twice as hard for it — because he did. He just worked hard on the wrong things: chasing unpaid invoices, redoing an estimate he lost track of, driving back out for a change order he forgot to bill.

Revenue is what you bill. Profit is what's left after materials, labor, overhead, and — this is the part people skip — after you account for the jobs you quoted and never won, the change orders you never charged for, and the invoices that took 45 days to collect. Every one of those is a margin leak, and none of them show up on a bank statement as a single line item. They just show up as a year that felt busier than it paid.

Where the money actually leaks

Here's the honest list, in the order it usually happens on a real job:

  • The lead sits unanswered for six hours because you were on a roof, and the customer already booked the guy who texted back in twenty minutes.
  • The estimate takes three days to put together because you're rebuilding pricing from scratch in a notes app, and by the time it lands the customer has two other quotes already.
  • Nobody follows up after the estimate goes out, so a job that was 70% ready to close just goes quiet.
  • Mid-job, the customer adds a French drain or asks for an extra outlet. It gets done because saying no on-site is awkward — and then it never makes it onto the invoice because nobody wrote it down.
  • The invoice goes out late, with no clear breakdown, and sits unpaid for three or four weeks while you're too busy on the next job to chase it.

None of these are pricing problems. Your rates could be perfect and you'd still bleed money through every one of these gaps. For the dollar math on two of these leaks specifically, see How Missed Calls Cost Contractors Thousands of Dollars (/blog/how-missed-calls-cost-contractors-thousands-of-dollars) and The Hidden Cost of Creating Estimates Manually (/blog/hidden-cost-of-creating-estimates-manually). This post is about the whole chain.

Two contractors, same day, same trade

Picture two remodeling contractors, both running three-person crews, both good at the actual work. Call them Dave and Maria.

Dave runs his business the way most contractors start out: a phone that rings all day, a notes app for measurements, a shoebox of paper invoices, and a memory that's supposed to hold every open estimate and every customer promise. Maria runs the same size crew, same trade, same market — but every lead, estimate, job, and invoice lives in one system she checks between jobs.

A homeowner calls both of them Tuesday morning about a bathroom remodel. Dave's on a job site and doesn't see the missed call until 4 p.m. He calls back, gets voicemail, texts an hour later. By the time he sends a quote — handwritten, photographed, texted — it's Thursday. Maria's phone buzzes with the same lead pulled straight from her Angi listing. She glances at it on lunch, taps out a scoped AI estimate anchored to her own price book in about four minutes, and it's in the homeowner's inbox before her sandwich is done. The homeowner books Maria. Not because she's cheaper — because she was there first, with a real number, while Dave was still deciding when he had time to think about it.

Two weeks later they're both mid-job and the customer asks for a small addition — moving a light switch, adding a shelf unit. Dave says sure, does it, and it lives in his head as "I'll add that to the invoice." Three weeks pass, invoice goes out, he forgot. That's $180 gone, quietly, forever. Maria logs the change order on her phone standing in the bathroom, the customer sees it and approves it before the crew even starts the extra work, and it's on the final invoice automatically.

At the end of the month, Dave and Maria did roughly the same number of jobs and worked roughly the same hours. Maria's bank account has a few thousand more dollars in it, and it got there in fewer late nights, because none of her margin evaporated between the lead and the deposit.

The real math, laid out plain

Run the numbers on a contractor doing $30,000 a month in job volume:

  • Missing even 1 in 5 inbound leads because of slow response, at an average job value of $2,500, costs roughly $500–$1,000 a month in lost bookings.
  • Forgetting to bill 2–3 small change orders a month, averaging $150 each, is another $300–$450 walked away for free.
  • Sending estimates two or three days late instead of same-day typically costs a contractor 10–15% of close rate on jobs where a competitor got there first.
  • Slow-to-collect invoices don't cost you money outright, but they cost you cash flow — payroll and materials still come due while you're waiting on a customer who forgot to pay.

Add it up and a contractor can be quietly leaking $1,000–$2,000 a month — $12,000–$24,000 a year — without a single bad job, a single unhappy customer, or a single pricing mistake. That's not a volume problem. You don't fix it by chasing more leads. You fix it by not losing the ones you already have.

Small isn't the problem — unsystemized is

The instinct when profit feels thin is to grow: hire another crew, buy a truck, chase bigger jobs. Sometimes that's right. But a lot of contractors scale up the exact same leaks — now with more crews forgetting more change orders and more invoices going out late — and wonder why the bigger business feels just as tight as the small one did.

A one- or two-person crew that answers every lead in minutes, quotes same-day, catches every change order, and gets invoices out the door within a day of finishing isn't a scrappy underdog. It's running tighter than most 15-person outfits limping along on group texts and a shared calendar. The size of the crew decides how much work you can do. The system decides how much of what you bill actually stays yours.

Where Trusso fits

This is the exact gap Trusso was built to close: leads from Angi, Thumbtack, Yelp, and Google LSA land in one place instead of a missed call, AI estimates get built off your own price book in minutes instead of days, change orders get logged and billed on the spot, and invoicing happens the same day the job wraps instead of whenever you get around to it. It's not about doing more work — it's about keeping more of the money the work already earned. Plans run flat at $29/mo for owner plus 2 crew, $59/mo up to 10, or $99/mo unlimited, no per-user fees, with a 14-day free trial and no contract.

The next post in this series digs into the first leak on that list in detail — how fast you actually need to respond to a new lead before it goes cold, and what "fast" really costs you if you get it wrong.

Run your business the simple way

Try Trusso free for 14 days and send your first estimate in minutes.

Start 14-Day Free Trial