- Corwin's Newsletter
- Posts
- Why Revenue Stalls at $10M–$15M (and How Commercial Subcontractors Break Through)
Why Revenue Stalls at $10M–$15M (and How Commercial Subcontractors Break Through)
The Frustration Is Familiar
You finally break into eight-figure revenue. Jobs are getting larger. You're landing contracts with bigger GCs. Your crews are working every day. On paper, the business is growing.
But behind the scenes?
Margins are slipping. Cash is tighter than it should be. You're in more meetings, solving more fires, and spending more time reviewing takeoffs and chasing overdue invoices than actually leading the company.
And despite all the activity, the top-line revenue just won't budge past $12M.
If that sounds familiar, you're not alone. Most commercial subcontractors - whether you run a roofing crew, a commercial painting outfit, an electrical team, or a steel erection company - hit a ceiling somewhere between $10M and $15M.
That ceiling isn't a sales problem. It's a system problem.
Why the Plateau Happens
The early growth phase of a subcontracting business is powered by hustle: personal relationships, field know-how, and a few A-players who can do a bit of everything. The owner is everywhere - estimating jobs in the morning, putting out fires on-site by noon, and reconciling invoices at night.
This works brilliantly until it doesn't.
As the business scales, complexity grows faster than most people realize. Crews need tighter scheduling coordination. Estimators are maxed out handling larger, more complex bids. Back-office processes that worked seamlessly at $5M start breaking under the weight of $12M in job flow. Project handoffs become rushed. Material ordering gets chaotic. And you - the owner - are still the decision-making bottleneck for almost everything that matters.
Most try to push through by working harder or hiring faster. The logic seems sound: more people should equal more capacity. But adding more people to a broken system just creates more confusion and higher overhead. Without clear processes and accountability, new hires often make problems worse, not better.
The fundamental issue remains: work is flowing through your business inefficiently, creating friction at every turn. If you don't solve the structural issues, every new contract just adds more pressure to an already strained system.
The Real Issue: One Function Is Maxed Out
In almost every stuck subcontracting business we've studied or talked to, the problem boils down to this: one key function is red-lining, and nobody clearly owns it.
It could be:
Estimating (backlogged bids, unclear handoffs to project management)
Project management (overloaded PMs, inconsistent margin tracking)
Billing and collections (invoices sent late, payments collected even later)
Pre-job planning (rushed material orders, crews showing up unprepared)
But because no one is clearly accountable - and because there aren't clear metrics for each stage of the business - problems go unaddressed until they become full-blown crises. The owner ends up firefighting instead of leading, which perpetuates the cycle.
The Fix: Map the Flow of Work
This is where a Key Function Flow Map comes in.
It's a simple tool to make the invisible visible. It shows how revenue flows through your business, who owns each stage, and what metrics keep it healthy. Think of it as an X-ray for your operations - suddenly, you can see exactly where the breaks and blockages are occurring.
Here's a sample Key Function Flow Map for a commercial subcontractor:
Example: Key Function Flow Map
Lead Generation
Owner: Business Development Lead or Owner
KPI: # of qualified leads/month
Estimating
Owner: Estimator or Estimating Manager
KPI: Bid turnaround time, win rate
Pre-Job Planning
Owner: Project Coordinator or PM
KPI: # of jobs ready-to-start per week
Project Execution
Owner: Project Manager
KPI: Job gross margin, change order volume
Billing & Receivables
Owner: Bookkeeper or Admin Lead
KPI: Average days-to-invoice, AR > 60 days
Cash Management
Owner: Controller or Owner
KPI: Weeks of cash runway, payroll coverage
Once you map this out, bottlenecks become obvious. Estimating too slow? You'll miss bid deadlines and lose competitive opportunities. Billing inconsistent? Cash gets tight and you can't take advantage of growth opportunities. Pre-job handoffs sloppy? Crews sit idle while you're still paying them, killing your labor efficiency.
A simple one-page flow map can reveal the one place where everything is breaking down.
A Hypothetical Example: Commercial Painting Company at $12M
Let's take a hypothetical but realistic example.
A commercial painting subcontractor doing $12M/year is starting to stall. Revenue hasn't grown in 18 months, and profits are down 10%. The owner is still reviewing every bid, solving project issues daily, and chasing late payments personally.
They sit down and map the key functions. Two things stand out immediately:
Estimating is a bottleneck. The owner is still doing all takeoffs and pricing, and they're buried. Bids are consistently late, and win rate is dropping because they're rushing through proposals.
Billing is reactive. Invoices only go out when someone remembers. Their average collection time is pushing 75 days, creating constant cash flow stress.
With that clarity, the owner makes two focused moves:
Promotes a trusted team member to assistant estimator and begins systematically delegating takeoffs for smaller jobs.
Hires a part-time admin to handle billing every Monday and Thursday, like clockwork, with clear collection follow-up procedures.
Three months later:
The company is submitting 30% more bids - on time.
Payments are arriving 2–3 weeks faster.
The owner has cut 10 hours/week from their workload and is finally focusing on strategic planning.
No new sales team. No bloated hiring. Just better flow.
The Implementation Challenge (And Why Most Never Start)
Here's the reality: even though the concept is straightforward, implementation can be surprisingly difficult. Not because the mechanics are complex, but because of the psychology involved.
Most successful subcontractors got where they are by being personally involved in everything. The idea of letting someone else handle estimating - or trusting an admin with billing - can feel like losing control of the business.
There's also the "nobody can do it like I can" trap. And sometimes, that's even true. But the question isn't whether you can do it better - it's whether the business can grow while you're doing everything.
The other common resistance point is hiring before you're "ready." Owners think they need to be at $15M before they can afford an assistant estimator, but that's backwards thinking. You need the assistant estimator to get to $15M.
The key is starting small and building systems gradually. You don't need to hand over complete control overnight - you can begin by delegating specific, well-defined parts of the process while maintaining oversight.
Don't Work Harder - Build Better Flow
If you're stuck, it's not because you're lazy or unambitious. It's because you're trying to grow a business that was never designed to scale beyond your personal capacity.
The solution isn't a massive overhaul. It's not a new CRM, or a fancy dashboard, or a three-month strategic planning retreat.
It's about tightening the flow of work through your business, assigning clear ownership, and tracking a few key indicators to know where pressure is building before it becomes a crisis.
The best part? You probably don't need to fix everything. Most stuck businesses have one major constraint that, once addressed, unlocks significant capacity throughout the entire system.
Fix the bottleneck. Free up capacity. Then grow.
How to Start
Here's how to build your first Key Function Flow Map in 30 minutes:
On a blank piece of paper, list the 5–7 key steps work moves through in your company - from first inquiry to cash in the bank.
For each step, write the name of one person who owns that step. (If it's "Me" six times in a row, that's valuable data.)
Assign one simple metric per step - bid win rate, average days-to-invoice, job margin variance, etc.
Ask: Which step is underperforming? Which one is creating the most friction for you or your team? Which one keeps you up at night?
That's your constraint. Start there.
Don't try to fix everything at once. Pick the one function that's causing the most pain and focus there first. Once that's flowing smoothly, move to the next constraint.
The goal isn't perfection - it's progress.