📈 Growth

From $100k to $500k: The Three Bottlenecks You Have to Break

Published October 31, 2026

A one-man shop doing $100,000 a year in revenue usually takes home $45,000–$60,000 after everything. That’s a job with extra paperwork.

A shop doing $500,000 with two crews can clear $75,000–$120,000 for the owner — but only if the systems underneath it work. Run $500k with $100k systems and you’ll net less than you did at $100k, because volume multiplies every weakness you have.

The jump isn’t one big leap. It’s three separate bottlenecks that break in sequence: sales, then scheduling, then cash. Fix them out of order and you stall.

What $500k actually looks like

Before the bottlenecks, get clear on the shape of the thing. Here’s a plausible structure for a $500k residential remodeling or service shop:

LineAmount% of revenue
Revenue$500,000100%
Materials & subs$175,00035%
Field labor (3 techs/carpenters, loaded)$195,00039%
Overhead (trucks, insurance, software, admin, marketing)$85,00017%
Net before owner’s draw$45,0009%
Owner’s salary (you, mostly off the tools)$75,000—

That doesn’t add up — and that’s the point. To pay yourself $75k and keep a 9% profit, you need roughly $545k, or you need your gross margin to be 3-4 points better than the table above. At $500k you are no longer selling your hours; you are selling your crew’s hours, and your margin on their hours is the entire business.

If you’re not already pricing to cover a non-billable owner, go fix that first. The overhead math changes substantially when you stop being a billable body.

Bottleneck 1: Sales (roughly $100k to $200k)

At $100k you sell by accident. Someone calls, you show up, you quote, you get maybe half of them. That works because you only need to fill one calendar.

At $250k you need to fill three calendars, which means you need roughly 2.5x the leads and 2.5x the quotes — while spending less of your own time per quote, because your time is now worth more doing other things.

The arithmetic

Say your average job is $4,500 and you close 45% of quotes.

Target revenueJobs neededQuotes neededQuotes/week
$100,0002249~1
$250,00056124~2.4
$500,000111247~4.8

Five quotes a week sounds manageable until you add the driving. Five site visits at 90 minutes each, round trip, is 7.5 hours — a full day of your week gone before you write a word.

What breaks it

  1. Raise the average job size. Going from $4,500 to $7,000 average drops your quote count from 247 to 159 for the same revenue. That’s the cheapest lever you have. Bundle, present good/better/best, and stop quoting the exact scope the customer described when the real scope is bigger.
  2. Raise the close rate. 45% to 60% cuts quotes needed from 247 to 185. Same-day follow-up, written proposals, and photos do most of this. Our guide to estimates that win jobs covers the format.
  3. Stop driving to every quote. For jobs under some threshold — pick a number, maybe $2,000 — quote from photos and a phone call. You’ll lose a few. You’ll gain back a day a week.
  4. Qualify harder on the phone. Budget range, timeline, decision-maker, property ownership. Four questions. A no on the phone costs you four minutes; a no at the kitchen table costs you two hours.
  5. Make the lead source predictable. Referrals are great and they don’t scale on command. You need at least one channel you can turn up: Google Business Profile with steady reviews, paid search, or a referral relationship with a realtor or property manager.

The sales bottleneck is really a time bottleneck. You don’t need to become a salesperson. You need to spend fewer hours per closed dollar.

Bottleneck 2: Scheduling (roughly $200k to $350k)

Here’s where most shops actually die. You’ve got the leads. You’ve got two or three guys. And you’re spending every evening texting people about tomorrow, three jobs are half-finished because the tile didn’t arrive, and a customer is calling because nobody showed up Tuesday.

Revenue is up. Profit is flat or down. That’s the signature of a scheduling failure.

Where the money leaks

LeakWhat it costs
Crew idle waiting on materials4 hrs × $42 loaded = $168 per incident
Second trip because a part was missed2 hrs + fuel ≈ $100
Job runs 3 days over on a 10-day estimate~$1,000 of margin
Missed appointment, customer cancelsFull job margin, plus a review risk

Four of those a month is roughly $1,500. Over a year, $18,000 — most of the profit on a $200k shop.

What breaks it

  1. One calendar, visible to everyone. Not your head. Not a whiteboard only you can see. Every scheduling tool does this; the best software for small contractors comparison walks the options. The specific tool matters far less than having exactly one.
  2. Materials ordered before the crew is scheduled. Make this a rule. The job doesn’t go on the calendar until the material is confirmed delivered or staged.
  3. Schedule in blocks, not days. A three-person crew has 24 labor hours a day. Assign hours, not “Tuesday.” You’ll immediately see you’ve been booking 30 hours of work into 24.
  4. Build in buffer. Book crews to about 80–85% capacity. The remaining 15% absorbs callbacks, warranty, and the job that runs long. Book to 100% and one bad day cascades through the whole month.
  5. A written daily handoff. Scope, address, materials location, customer contact, one photo of the problem. Five minutes the night before saves an hour of phone calls the next morning.
  6. Know your real job duration. You can’t schedule what you can’t estimate. Compare estimated to actual hours on every job — the 15-minute job costing routine gives you that number.

The moment you have more than one crew, your scheduling accuracy becomes your profit margin. A shop that hits its estimated hours 85% of the time will out-earn a better-priced shop that hits 60%.

Bottleneck 3: Cash (roughly $350k to $500k+)

The cruel part of growth: the faster you grow, the more cash you need, and the cash arrives after the costs.

Run the timeline on one $40,000 kitchen:

DayEventCash position
120% deposit received+$8,000
5Cabinets and material ordered, paid−$6,000
10Payroll, week 1 (3 guys)−$4,500
17Payroll, week 2−$4,500
20Progress payment invoiced—
32Progress payment received (12 days later)+$14,000
24, 31Payroll, weeks 3 & 4−$9,000

Somewhere around day 28 you’re $16,000 underwater on a job you’re making money on. Now run three of those at once.

What breaks it

  1. Deposits and progress payments that front-load the money. Milestone billing instead of one invoice at the end. The guide on deposits and progress payments covers what’s reasonable and what your state may cap.
  2. Invoice the day the milestone hits. Not Friday. Not at month-end. Every day of delay is a day of float you’re financing.
  3. Shorten terms and enforce them. Net 7 or due on receipt for residential. Late fee written into the contract. Then actually charge it once — word travels.
  4. A line of credit you open before you need it. Banks lend to businesses that don’t need money. Get a $25k–$50k line approved while your numbers look good; leave it at zero. It’s insurance against a 12-day payment delay turning into a missed payroll.
  5. Separate the job account from the operating account. The deposit on next month’s kitchen is not profit. Shops die from spending deposits.
  6. Know your lien rights and use them. For anything over $10k, mechanics liens are the reason customers pay. Deadlines are state-specific and short — look yours up now, not when you’re owed $18,000.

At $500k, a 20-day collection cycle instead of a 40-day one is worth roughly $25,000 of working capital. That’s the difference between hiring your fourth guy and not.

The sequence matters

Fixing these out of order wastes money:

  • Fix scheduling before sales, and you’ve built capacity for work that isn’t coming.
  • Fix cash before scheduling, and the cash problem comes right back when the next job runs eight days long.
  • Fix sales before anything, and you’ll sell work you can’t deliver — which generates refunds, bad reviews, and the kind of reputation damage that takes two years to undo.

The honest signal for which bottleneck you’re in: where does the next dollar of revenue get stuck? If you could take three more jobs tomorrow, you’re in a sales bottleneck. If more jobs would mean chaos, you’re in scheduling. If you’re busy and profitable on paper but can’t make payroll comfortably, you’re in cash.

What doesn’t change

A few things stay the same from $100k to $500k, and people abandon them at exactly the wrong moment:

  • Your pricing discipline. Volume is not a reason to drop margin.
  • Written change orders. They matter more with crews, not less — you’re no longer the one standing there when the customer asks for “just one more thing.”
  • Saying no. A bad customer at $500k costs more than a bad customer at $100k, because now they tie up a crew.

Your next step

Pick the bottleneck you’re actually in — sales, scheduling, or cash — using the “where does the next dollar get stuck” test above.

Then do exactly one thing this week: if it’s sales, calculate your average job size and close rate from your last 20 quotes. If it’s scheduling, compare estimated to actual hours on your last five jobs. If it’s cash, write down the date each of your last ten invoices was sent and the date it was paid, and average the gap.

One number. That number tells you what to build next.

Keep learning

More from Growth

Get one actionable tip every week

Join contractors getting practical advice on winning more jobs, running tighter operations, and picking the right tools — free, no fluff, unsubscribe anytime.

▶ Watch on YouTube