40+ SIMULTANEOUS SITES PER-SITE PROFITABILITY BUILT FROM SCRATCH $5.2M SWPPP CONTRACTOR FEAST-FAMINE CASH CYCLE FIXED MOBILIZATION FINANCING STRUCTURED 40+ SIMULTANEOUS SITES PER-SITE PROFITABILITY BUILT FROM SCRATCH $5.2M SWPPP CONTRACTOR FEAST-FAMINE CASH CYCLE STRUCTURED MOBILIZATION FINANCING STRUCTURED
THE CONSTRUCTION CFO SCHEDULE A CALL
CASE STUDY · SWPPP CONTRACTOR · LAYER 4 PROOF

40 SITES. ZERO PER-SITE VISIBILITY.

A $5.2M SWPPP subcontractor was running 40+ simultaneous sites with no way to tell which ones made money. The overall business looked profitable. The per-site reality was unknown. CFOS built the per-site job costing structure, identified the high-cost sites dragging margin, and fixed the mobilization financing gap that was causing the feast-famine cash pattern that plagued every spring ramp-up.

SWPPP subcontractor case study. A $5.2M SWPPP sub was running 40+ simultaneous stormwater sites with no per-site profitability visibility. Costs were tracked at the company level, not the site level. Some sites were running significantly over the bid cost due to inspection failures, regulatory re-work, and untracked service visit labor. The feast-famine cash cycle hit every spring — mobilizing dozens of new sites while waiting 45 to 60 days for first invoices on existing sites. CFOS built per-site job costing, identified the highest-cost sites, and structured a mobilization financing approach using the LOC to bridge the spring cash gap. CFOS is operated by Sulphur Prairie Management, The Construction CFO.

PUBLISHED · MAY 2026 · SWPPP · $5.2M REVENUE · ANONYMIZED
THE SITUATION

40 SITES RUNNING. WHICH ONES MADE MONEY?

The owner ran a $5.2M SWPPP and erosion control operation — stormwater pollution prevention plans, BMP installation and maintenance, inspection management, regulatory compliance. A seasonal, portfolio-based business where 30 to 50 sites might be active simultaneously at the peak of the construction season.

Cost tracking was done at the company level. Total labor out, total materials out, total fuel out — all tracked, none of it allocated to individual sites. When a crew went to five sites in a day, the labor for that day went into one bucket. There was no way to know how much labor had been spent on each of those five sites.

The P&L showed a profit. But the owner had a nagging sense that some sites were burning through labor at a rate that was far above the bid assumptions — particularly sites with inspection failures that required re-work, or sites that were being visited more frequently than the contract stipulated. He had no data to confirm or deny that sense.

$5.2M
Annual Revenue
40+
Simultaneous Active Sites
$0
Per-Site Profit Visibility
ANNUAL
Spring Cash Crisis — Every Year
THE PROBLEM

WHAT THE OWNER KNEW.

From the owner: "I know some sites are killing us. I just don't know which ones. And every spring I'm scrambling to find cash to mobilize new sites while I'm waiting for checks on the ones already running."

Two problems stacked on each other. The per-site visibility problem was a job costing failure — costs weren't allocated to sites, so there was no way to see cost overruns until they showed up in the blended annual margin. The spring cash problem was a structural working capital issue — SWPPP contractors mobilize multiple sites quickly at the start of the season, spending on materials, supplies, and mobilization labor before the first billing cycle on new sites generates any cash.

The failure chain: Company-level cost tracking → no per-site visibility → high-cost sites run undetected → blended margin masks individual site losses → spring mobilization creates cash gap → owner scrambles for cash every March and April without a structured plan to cover it.

THE DIAGNOSIS

WHAT CFOS FOUND.

FAILURE CHAIN 1

No Site-Level Cost Allocation Meant the Worst Sites Were Invisible

When CFOS rebuilt the cost structure with site-level job codes, the variance across sites became clear for the first time. The highest-cost sites were running 40 to 60% over the bid labor assumption — driven primarily by inspection failures that required additional service visits and BMP reinstallation. Without site-level tracking, those costs had been absorbed into the company total and spread across all sites. The sites that were performing well were subsidizing the ones that weren't.

FAILURE CHAIN 2

Inspection Failures Were Generating Untracked Labor and Material Costs

SWPPP sites require inspections after rain events. When a site fails inspection — BMP displaced, silt fence down, inlet protection missing — the contractor mobilizes a crew to fix it. That fix costs labor and material. In many contracts, the fix is at the contractor's expense, not a billable change order. CFOS identified that the owner had no system to track the cost of failed-inspection responses by site. Several sites were generating 8 to 12 untracked fix visits per season. At $300 to $600 per visit, those sites were running $2,400 to $7,200 over budget in labor and material alone — invisible until site-level costing was live.

FAILURE CHAIN 3

The Spring Cash Gap Had No Structured Plan — Just Annual Panic

Every March and April, the owner mobilized 15 to 25 new sites. Each mobilization required BMP materials, installation labor, and setup costs — expenses incurred before the first monthly billing on those sites. The cash gap between mobilization spend and first payment was 45 to 60 days on average. The owner had no LOC draw plan built around this cycle. He drew on the LOC reactively when the account got low, paid it back when collections came in, and repeated the cycle without a formal structure. CFOS built a 13-week cash forecast around the seasonal mobilization cycle that sized the LOC draw in advance and scheduled the paydown.

THE INTERVENTION

WHAT CHANGED DURING ONBOARDING.

WK 1–2

Site-Level Job Codes Built in ControlQore

Every active site was set up as a separate job in ControlQore. Labor entries were restructured so crew time was allocated by site, not by day. Material purchases were tagged to site at the point of ordering. The system to capture per-site cost was live by end of week two.

WK 3–4

First Site-Level Variance Report — Highest-Cost Sites Identified

Within three weeks of going live on the new structure, enough cost data had flowed in to run a site-level variance report. Eight sites were running more than 30% over budget. Four of them had active inspection failure patterns. The owner could now see which sites to scrutinize and why. Crew schedules were adjusted for the high-cost sites.

WK 4–6

13-Week Cash Forecast Built Around Seasonal Mobilization

CFOS built a 13-week rolling cash forecast that mapped mobilization spend by week against expected billing and collection timelines. The forecast sized the spring LOC draw at $140K and scheduled the paydown over 10 weeks as collections came in. The owner had a plan for the spring gap instead of a crisis every year.

DAY 60

Per-Site Visibility Live. Cash Forecast Running.

40+ active sites each showing labor, material, and cost-to-complete versus the bid. Monthly variance reports running. Spring mobilization plan structured and the LOC draw pre-approved. The portfolio-level visibility the business needed to manage at scale was live.

THE OUTCOME

WHAT CHANGED WHEN EVERY SITE WAS VISIBLE.

40+
Sites With Per-Site Cost Visibility
8
High-Cost Sites Identified in First Variance Report
$140K
Spring LOC Draw Sized and Planned in Advance
DAY 60
Full Portfolio Visibility Live

The owner stopped managing by feel and started managing by data. Sites that were running over budget were visible within three weeks of a cost overrun starting. The spring cash panic was replaced by a structured LOC draw plan the owner could see coming months in advance. The portfolio could grow without the financial visibility falling further behind.

TIME TO OUTCOME

FROM FIRST CALL TO FULL PORTFOLIO VISIBILITY: 60 DAYS.

Day one of the CFOS engagement to per-site margin live across 40+ sites: 60 days. First site-level variance report in week three. Cash forecast built and LOC plan in place by week six.

SWPPP operators manage by relationships and site quality — not by spreadsheets. CFOS doesn't ask owners to manage differently. It builds the visibility around how the owner already works, so the financial picture is always accurate without adding administrative burden to the field.

WHAT THIS MEANS FOR OTHER CONTRACTORS

IF THIS SOUNDS FAMILIAR.

SWPPP and erosion control operators who recognize this story usually share these patterns:

You Know Some Sites Are Expensive — You Can't Prove It

The feeling is there. The data isn't. Costs tracked at the company level make it impossible to see which sites are eating labor until year-end when it's too late to do anything about it.

Inspection Failures Eat Labor With No Tracking

Each failed inspection response costs real labor and material. Without a system to track those costs by site, they disappear into the overhead pool and you lose the ability to see which sites — or which GCs — are costing you the most in re-work.

Spring Mobilization Creates an Annual Cash Crisis

Every March you're scrambling. Mobilizing 15 to 25 new sites costs money before it generates any. Without a structured LOC draw plan, that gap becomes a panic instead of a plan.

The Business Is Profitable Overall — But Growing Is Getting Harder

Adding sites doesn't add margin proportionally. Something is leaking but you can't see where. Per-site visibility is the only way to manage a portfolio at scale without the leaks getting bigger as you grow.

CFOS Job Profitability and Working Capital modules are built specifically for multi-site SWPPP operations. See how CFOS is built for SWPPP contractors →

QUESTIONS ABOUT THIS CASE

FREQUENTLY ASKED.

A $5.2M SWPPP contractor running 40+ simultaneous sites had no per-site profitability visibility. Costs were tracked at the company level — not allocated to individual sites. Inspection failure responses generated untracked labor and material costs. A spring mobilization cash gap hit every year with no structured plan to manage it.
CFOS identified three stacked problems: no site-level job cost allocation, untracked inspection failure response costs, and a spring mobilization cash gap with no structured LOC plan. The fix sequence: build site-level job codes first, run initial variance report, then build the 13-week cash forecast around the seasonal mobilization cycle.
Per-site cost visibility across 40+ sites within 60 days. Eight high-cost sites identified in the first variance report — all running 30%+ over bid assumptions. Spring LOC draw sized at $140K and planned in advance. Annual spring cash crisis replaced by a structured plan the owner could see months ahead.
Yes. Multi-site SWPPP and erosion control operations almost universally track costs at the company level because the volume of sites makes site-level tracking feel impossible. CFOS builds the structure to make it possible — in ControlQore, with job codes that match the contract structure and crew scheduling that allocates labor by site. See the SWPPP contractor operating system for the full architecture.
Josh Luebker — The Construction CFO
Josh Luebker
President · The Construction CFO · Sulphur Prairie Management

Former PM and master electrician. Managed 150+ projects and $300M+ in construction volume. SWPPP operations are some of the most complex to job cost because the cost per site varies unpredictably. CFOS makes that complexity manageable. More about SPM →

RELATED RESOURCES

WHAT TO READ NEXT.

TRADE OS
SWPPP Operating System
The 3 mechanisms that drain cash from SWPPP contractors — feast-famine cycles, inspection costs, and per-site invisibility.
CFOS MODULE
Job Profitability System
The module that built per-site visibility in this case — job-level costing across 40+ simultaneous sites.
CFOS MODULE
Working Capital System
The module that structured the spring mobilization cash gap — $140K LOC draw planned and scheduled months in advance.
DIAGNOSTIC
Don't Know If Jobs Are Profitable
If you find out at year-end which sites made money, the cost structure isn't built right. Here's what that costs you.
SERVICE
Fractional CFO for Construction
What an engagement looks like, what's included at each tier, and how onboarding works in 60 days.

HOW MANY OF YOUR SITES
ARE LOSING MONEY RIGHT NOW?

If you can't answer that in 30 seconds, CFOS can change that in 60 days. Schedule a call.

SCHEDULE A CALL
Run on CFOS Job Profitability SWPPP OS Job Profitability Diagnostic Fractional CFO Bookkeeping Schedule a Call Josh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0