MORE REVENUE. LESS PROFIT.
A $4M subcontractor grows to $6M over two years. Revenue is up 50%. Profit is down. The owner works more hours, wins more work, and has less money at the end of the year. The same financial system is now carrying 50% more work, and growth exposed what was already broken: jobs priced on a wrong overhead rate, billing lag that compounds with more projects, and overhead that grew with revenue instead of being managed. The business scaled before the financial system did.
Growth without a system is just faster bleeding. Every error in the estimate gets multiplied by the number of jobs running, every day of billing lag gets multiplied by the revenue moving through it, and every unmanaged overhead line grows into whatever room the new revenue made for it. None of it surfaces as a single bad month. It surfaces as a year where the top line looks like a success story and the tax return doesn't. The fix is the ratios rather than the volume, and it works in the order they get measured.
WHAT IT MEANS.
Revenue up and profit down is what happens when a construction business grows past the financial system it was built on, so every job it adds multiplies a costing, billing, or overhead error it already had.
FOUR THINGS GROWTH MULTIPLIES.
Overhead grows faster than revenue
Going from $4M to $6M usually means more staff, more equipment, more insurance, and more software, all of which is overhead. If the overhead rate inside the estimate hasn't been recalculated, new work is being bid at an overhead rate that no longer reflects the current cost structure. The company then wins more jobs while losing margin on every one of them, and the win rate looks like proof that the pricing is fine.
Billing lag compounds
At $4M with 3 concurrent projects, a 20-day billing lag ties up about $220K in working capital float. At $6M with 5 projects, the same 20-day lag ties up $330K. The cash drain grows in step with revenue while the owner is looking at a bigger top line and wondering why the bank account got tighter. Nothing about the process got worse. There's just more revenue running through the same delay.
Job costing breaks down
At $4M with a handful of projects, the owner can manage by instinct and know every job. At $6M with 5 project managers and 8 active jobs, instinct stops reaching far enough. Without job costing, the margin problems accumulate invisibly across multiple projects and surface at year-end, when there's nothing left to do about any of them.
Overhead absorbs into revenue instead of being managed
Growth creates a comfortable assumption that the higher revenue will eventually cover the higher cost. Overhead that's not actively managed expands into whatever revenue is available, the way gas fills a container. Most growing contractors have no calculated overhead rate, no overhead budget, and no monthly variance tracking, so nobody is in a position to notice the expansion until the year closes.
WHAT IT LOOKS LIKE IN DOLLARS.
Growing from $4M to $7M often doubles equipment cost while revenue rises 75%. More iron means more debt service, more idle time, and more maintenance, all of which scale faster than the revenue they support when utilization isn't tracked. Owners blame the market. The real problem is asset efficiency nobody was measuring.
Adding crews creates overlapping schedules across jobs, so two crews become four and the peak weeks compound into overtime, rented labor, and delays. Volume went up, price stayed flat, and cost went up faster than both. The margin disappears into weeks where everybody was working and nobody was efficient.
At $2M the owner manages by walking the jobs. At $5M he can't see every job, and the supervision layer hired to replace his eyes goes into overhead while job-level discipline drops at the same time. The company pays more and sees less, which is the worst trade in the business.
Growth pressure makes a company take work it used to turn down: bigger jobs at thin margins, unfamiliar GCs, and scope outside the core competency. Revenue grows on work the company shouldn't have taken, and the P&L records the consequence twelve months later, long after anybody connects it to the decision.
One concrete client corrected the overhead rate, rebuilt job costing, and repriced the work. The next year they did $1.3M less revenue and made more money, and paid out $130K in profit sharing for the first time. Another concrete sub went from $161K to $1,112,000 in net income on roughly the same revenue, a 590% increase, with no price increase, no new crews, and no harder work. Job costing made the bleeding visible and the owner managed what he could finally see.
CFMA's 2024 Construction Financial Benchmarker puts construction as a whole at 6.3% net income before taxes across all respondents, on 21.8% gross profit margin and 11.8% SG&A, with the best-in-class top quartile at 11.9% net before taxes. An average isn't a goal. The ratio to run against is the one for your trade at your revenue, which sits on /construction-subcontractor-financial-benchmarks-by-trade, and SPM's own floor of 10% net profit before taxes sits underneath it: above what the industry averages, below what the best quartile earns, and the point at which the business starts paying for the payroll and the personal guarantees behind it. A company growing revenue while running below its own trade benchmark is scaling a leak, so fix the ratios first and every dollar of growth multiplies profit instead of multiplying the problem.
WHAT GETS BUILT, AND IN WHAT ORDER.
The first thing we do is calculate the real overhead rate off actual expense data rather than the number sitting in the estimating template. For most companies that have grown, the real rate is 6 to 12 points higher than what's in the estimates. Every job bid at the old rate is losing that difference before the crew shows on site, which means this one correction changes the margin on everything bid after it.
The structure has to grow with the portfolio instead of collapsing under it. We build cost codes the project managers can track actuals against estimates on, line by line, without routing through accounting first. Financial visibility then grows with the business rather than getting worse every time a job is added.
If billing lag is 20 days at $4M, it will be 20 days at $8M unless somebody fixes it, and the dollars tied up in it will have doubled. Fixing the cadence at the smaller revenue is cheaper and easier, because there are fewer projects and fewer people to change. Growing first and fixing later means fixing it on twice the volume.
FLAT MONTHLY FEE. NO SURPRISES.
Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. No hourly billing, no payroll, and no add-ons.
Pricing
| Last 12 months revenue | Monthly fee |
|---|---|
| Up to $1M | $1,900 to $2,900 |
| $1M to $3.5M | $2,600 to $3,900 |
| $3.5M to $6.5M | $3,800 to $5,700 |
| $6.5M to $9.5M | $5,100 to $7,100 |
| $9.5M to $12.5M | $6,100 to $8,500 |
| $12.5M to $15.5M | $7,400 to $11,000 |
| $15.5M to $18.5M | $9,400 to $13,500 |
| $18.5M+ | Quoted individually |
Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.
You stop guessing.
You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.
Your bookkeeper keeps doing the books.
You stop touching the books.
Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.
We do the books. No payroll.
Every job shows its margin while it's still running.
Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.
We do the job costing.
