JOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQOREJOB COSTINGCASH FLOWWIP REPORTINGFRACTIONAL CFOSUBCONTRACTOR FINANCEOVERHEAD RATEPAY APP BILLINGAR RECOVERYCONTROLQORE
THE CONSTRUCTION CFO SCHEDULE A FREE CALL
SPECIALTY CLUSTER · C.F.O.S EXECUTION LAYER

WHY SWPPP CONTRACTORS
RUN OUT OF CASH.

SWPPP is not sitework. It is not civil. It is a regulatory compliance trade with a completely different financial structure — feast-or-famine seasonal cash cycles driven by rain events rather than project schedules, a multi-site portfolio where per-site profitability is invisible inside a blended P&L, and BMP material costs that hit before billing events because compliance installations can't wait for pay app timing. A SWPPP contractor running 12 active sites across 6 GCs has 12 different billing structures, 12 different inspection schedules, and 12 different retainage situations simultaneously — and without C.F.O.S running the financial system across all of them, the profitable ones subsidize the losing ones until the owner has no idea which sites are actually making money.

This page is for you if: you're running $1M–$12M in SWPPP and erosion control work across multiple active sites, your blended margins look acceptable, and you're still always short on cash or discovering at year-end that certain sites lost money all year. SWPPP financial control requires per-site job costing — the blended P&L doesn't show you what you need to see. C.F.O.S builds the system that does.

TL;DR: SWPPP contractors are cash-negative because revenue spikes after rain events and collapses in dry periods creating an unpredictable cash cycle, multi-site portfolios have no per-site profitability visibility so losing sites are subsidized by winners in the blended margin, and BMP material costs hit before billing events because compliance installations are triggered by inspection notices not pay app schedules. C.F.O.S builds per-site job costing in ControlQore, maps the seasonal rain-event revenue pattern in the 13-week forecast, and tracks BMP material deployment against billing recovery per site.

Published: May 2026 Updated: May 2026
THE FAILURE MODE

WHY SWPPP CONTRACTORS
ARE ALWAYS SHORT ON CASH.

SWPPP work operates on a financial structure that no other trade in construction shares. Revenue is triggered by rainfall and inspection events — not by project milestones or installation schedules. A dry quarter means minimal service calls, minimal BMP installations, minimal billing. A wet quarter means every site needs immediate response, material costs spike, labor costs spike, and billing follows 30–45 days later after the GC processes the service ticket. The business runs at the mercy of precipitation — and without a financial system built around that reality, the feast-or-famine cycle creates a permanent cash instability that shows up as a perpetual LOC balance and the nagging feeling that a strong month never actually improves the bank account.

Multi-site portfolio management is the second layer. A SWPPP contractor running 12 active construction sites doesn't have 12 identical contracts. They have 12 different GCs, 12 different billing structures, 12 different inspection frequencies, and 12 different retainage situations. The blended gross margin across all 12 looks acceptable — maybe 26–28%. But inside that blend, three sites are running at 38% margin and four sites are running at 14%. The 14% sites are losing money relative to what they should earn. The 38% sites are subsidizing them. Nobody knows because nobody has per-site job costing running.

The job disruption loop: A rain event hits Tuesday. Three sites need immediate BMP repair. Crew mobilizes Wednesday. Material purchased: $8,400 across three sites. Work complete Thursday. The service ticket goes into a folder. At month-end it gets invoiced. The GC processes it in their next AP cycle. Cash arrives 38 days after the work was done. Multiply that across 12 sites, 4 rain events per quarter, and a blended portfolio where 4 sites are losing money — and the cash problem compounds faster than any single fix can address it.

The math: A $3M SWPPP contractor with 12 active sites where 4 are running at 14% gross margin instead of the expected 26% is losing $36K–$48K per year on those four sites — money that flows invisibly from the profitable sites through the blended P&L and out of the business without a single flagged number. That is not a bad market. That is the absence of per-site job costing inside C.F.O.S.

3 REASONS YOUR CASH IS GONE

THE MECHANISMS BEHIND
SWPPP CASH FAILURE.

These three problems are unique to SWPPP. No other trade in the specialty cluster has a rain-event-driven revenue cycle, a multi-site portfolio visibility problem of this scale, or BMP material costs that are deployment-triggered rather than schedule-triggered. Without C.F.O.S building the financial system specifically around SWPPP's structure, all three compound silently across the portfolio every year.

MECHANISM 01

Feast-or-Famine Seasonal Cash Cycle — Revenue Driven by Rain Events

SWPPP revenue doesn't follow a construction schedule. It follows precipitation. A dry spring means minimal BMP installation service calls, minimal site inspections triggering corrective action, minimal material deployment. The business costs continue — vehicles, equipment, labor overhead, insurance — while revenue compresses. A wet spring means every active site needs immediate response: silt fence repair, inlet protection replacement, sediment basin cleanout, slope stabilization. Labor costs spike. Material costs spike. Billing goes out after each event with 30–45 day collection lag.

The financial problem is not the weather variability itself — it's the absence of a cash model built around it. A SWPPP contractor who knows their historical revenue by month across a 3-year period can model the seasonal pattern well enough to plan minimum cash reserves for dry periods and expected LOC draws when material costs spike ahead of billing recovery. Without that model, every dry quarter feels like a business problem and every wet quarter feels like a windfall that still doesn't fix the bank account.

C.F.O.S builds the seasonal revenue model from historical patterns — monthly revenue distribution, average BMP deployment cost per rain event, typical service call frequency by season — and maps it into the 13-week forecast so the cash position is managed around the weather cycle instead of discovered after each quarter ends.

MECHANISM 02

Multi-Site Portfolio With No Per-Site Profitability Visibility

SWPPP portfolios are fundamentally different from single-project trade work. A masonry contractor has 3–5 active jobs. A SWPPP contractor has 8–20 active sites — each a different size, different GC, different contract structure, different inspection frequency, and different BMP requirement profile. The blended P&L for the portfolio looks like a single business. It is actually 8–20 individual mini-contracts running simultaneously with very different financial profiles.

The losing sites don't announce themselves. A site with a difficult GC who holds pay apps, a high BMP replacement frequency due to site conditions, and a low contract value relative to mobilization cost can run at 10–12% gross margin for 18 months while the profitable sites in the portfolio make the blended number look fine. The owner never sees the losing site because there's no per-site job costing. The losing site's cost and revenue are mixed into the portfolio total. The cross-subsidy runs until the site closes and the final reconciliation shows it was underwater the whole time.

Per-site job costing in ControlQore solves this specifically. Each active site is a separate job — BMP material cost allocated to the site, labor allocated to the site, revenue tracked by site. Monthly job cost review shows each site's margin individually. The GC who holds pay apps on a $45K annual contract while requiring $8K of BMP material per quarter gets identified as a money-losing relationship in month three — not at site closeout 18 months later.

MECHANISM 03

BMP Material Costs Hitting Before Billing Events

Best management practice installations are compliance-driven — they happen when a regulatory inspection triggers a corrective action notice, when a storm event damages existing controls, or when the SWPPP plan requires periodic BMP upgrades as construction phases change. These events do not occur on a billing schedule. They occur when conditions require them. The material cost is immediate. The billing event comes 30–45 days later after the service ticket is submitted and the GC processes it.

On a portfolio of 12 active sites, BMP material deployment after a significant rain event can run $25K–$60K in a single week across all sites. That entire amount is paid out before a single service ticket has been submitted for the event. If the GC's billing cut-off was three days ago, that material cost won't even be billed until next month — adding another 30 days to an already 30-45 day collection cycle.

The C.F.O.S fix is a stored materials provision in SWPPP service contracts — not standard but negotiable on larger contracts — combined with 48-hour service ticket submission on every BMP deployment event. The stored materials provision recovers stockpiled BMP material at delivery. The 48-hour invoicing process eliminates the 30-day batch billing lag that adds an entire additional collection cycle to every rain event response.

WHERE CONTRACTORS GET MISLED

WHAT SWPPP OWNERS BLAME
VS WHAT'S ACTUALLY WRONG.

SWPPP cash problems get blamed on weather variability, difficult GCs, and the nature of compliance work. Those are real — but they are not why a $3M SWPPP contractor is perpetually short on cash despite a full portfolio. Here are the three wrong diagnoses.

"It was a dry year — revenue just wasn't there."

Dry years reduce SWPPP revenue. But a contractor who runs out of cash every dry quarter without a cash model built around seasonal variability has a financial system problem, not a weather problem. Historical precipitation patterns are knowable. Average monthly revenue by season is calculable from 2–3 years of history. A cash model built around those patterns shows dry quarter cash gaps 8–10 weeks in advance — enough time to draw the LOC intentionally, defer non-critical expenses, or adjust staffing before the gap hits.

→ Real problem: No seasonal revenue model built from historical patterns — weather variability arrives as a surprise instead of a planned event.

"Our margins are fine — we're at 26% blended gross."

Blended margins hide what matters. A 26% blended gross margin across 12 sites where 4 are running at 12% and 8 are running at 32% is not a 26% margin business — it is a business where one-third of its sites are significantly underperforming while the other two-thirds carry them. The winning sites can't carry the losers indefinitely. When the portfolio rotates and new sites come on, the losers might represent a larger share. Per-site visibility is the only thing that shows the real picture.

→ Real problem: No per-site job costing — blended portfolio margin hiding underperforming sites that should be repriced, restructured, or declined.

"Material costs are hard to predict — BMP deployments aren't scheduled."

BMP deployments are event-driven but not completely unpredictable. Historical data on a site's BMP replacement frequency, combined with weather forecast monitoring, gives a reasonable 30-day horizon for material cost exposure. More importantly, 48-hour service ticket submission and stored materials provisions are billing structure solutions that work regardless of whether the event was predicted. The material cost doesn't have to be predictable for the billing to be fast.

→ Real problem: No 48-hour service ticket process and no stored materials provision — BMP material costs adding a 30-day batch billing lag to an already 45-day collection cycle.

HOW C.F.O.S FIXES IT

WHAT CHANGES WHEN SWPPP
RUNS ON C.F.O.S.

C.F.O.S is the financial operating system built around SWPPP's specific structure — a portfolio of sites with individual financial profiles, event-driven revenue, and compliance-triggered material costs. Without this system running every month, the feast-or-famine cash cycle compounds with multi-site cross-subsidization and billing lag into a business that looks profitable in the aggregate and feels perpetually stressed in the bank account. SWPPP profitability only exists when C.F.O.S is running per-site job costing, seasonal forecasting, and billing velocity as a connected monthly system — not as separate problems the owner manages by feel.

Per-site job costing built in ControlQore — each active site as a separate job with BMP material allocated per site, labor allocated per site, and revenue tracked per site so the 12% margin sites are visible monthly, not at portfolio closeout
Seasonal revenue model built from 2–3 years of historical data — monthly revenue distribution by precipitation pattern, average BMP deployment cost per rain event, dry period cash gap quantified so the LOC draw is planned not reactive
13-week forecast built around SWPPP's event-driven revenue structure — dry period cash gaps visible 8–10 weeks out, rain event BMP cost spikes mapped against billing recovery timing
48-hour service ticket submission enforced — every BMP deployment event invoiced within 48 hours of completion, not batched to month-end, cutting the cash cycle by 25–30 days on every rain event response
Stored materials provision negotiated on larger SWPPP contracts — BMP material stockpiled on site billed at delivery, recovering material cost before the deployment event rather than 30–45 days after it
Monthly per-site profitability review — each active site's margin reviewed against contract type and expected benchmark, underperforming sites identified early enough to reprice at renewal, restructure the service agreement, or decline renewal
PRICING

C.F.O.S FOR SWPPP
CONTRACTORS.

Two service tiers priced by trailing twelve-month revenue. Core Financial covers the full C.F.O.S system — ControlQore setup, per-site job costing, bookkeeping, and WIP. Executive Financial adds monthly CFO strategy meetings, controllership, and ongoing advisory. No payroll. 60-day onboarding. No scope gaps.

Revenue BandCore FinancialExecutive Financial
Under $1M$1,900/mo$2,900/mo
$1M–$3M$2,600/mo$3,600/mo
$4M–$6M$3,800/mo$5,500/mo
$7M–$9M$5,100/mo$6,900/mo
$10M–$12M$6,100/mo$8,500/mo
$13M+QuotedQuoted
Core Financial
From $1,900/mo
  • ControlQore setup and management
  • Per-site job costing across portfolio
  • Full-service bookkeeping
  • Bank reconciliations
  • WIP schedule monthly
  • No payroll · No scope gaps
Executive Financial
From $2,900/mo
  • Everything in Core Financial
  • Monthly CFO strategy meeting
  • 13-week cash forecast
  • Controllership and oversight
  • Actionable to-dos each cycle
  • Strategic accountability layer
COMMON QUESTIONS

WHAT SWPPP CONTRACTORS ASK FIRST.

Three stacked problems unique to SWPPP. Revenue is triggered by rain events not project schedules — dry periods compress revenue while overhead continues, creating seasonal cash gaps that arrive without a model to predict them. Multi-site portfolios hide per-site profitability in the blended margin — a $3M contractor can have 4 sites running at 12% gross margin while 8 sites run at 32%, subsidizing the losers invisibly. And BMP material costs hit before billing events because compliance installations can't wait for pay app timing, adding 30–45 days of material carry on every rain event response.

Per-site job costing in ControlQore — each active site as a separate job with BMP material, labor, and revenue tracked individually. Seasonal revenue model from 2–3 years of historical data mapped into the 13-week forecast. 48-hour service ticket submission enforced on every BMP deployment event. Stored materials provision negotiated on larger contracts. Monthly per-site profitability review so underperforming sites are identified and repriced at renewal instead of subsidized until closeout.

Commercial SWPPP and erosion control subcontractors doing $1M–$12M. Core Financial starts at $1,900/month. Executive Financial starts at $2,900/month. Both priced by trailing twelve-month revenue. Onboarding takes 60 days. No payroll. No residential.

Core Financial includes ControlQore setup, per-site job costing across your active portfolio, full-service bookkeeping, and bank reconciliations. Executive Financial adds monthly CFO strategy meetings, controllership, and strategic accountability. No payroll. No scope gaps.

60 days. Books migrated to the start of your last taxable year, ControlQore set up with per-site job costing across your active portfolio. Fully operational in two months.

Josh Luebker — The Construction CFO
Josh Luebker
Fractional CFO · The Construction CFO

Former commercial construction project manager and master electrician. Managed 150+ projects totaling $300M+ including Google data centers, military bases, hospitals, and high-rises. Now fractional CFO for commercial subcontractors doing $1M–$12M through Sulphur Prairie Management. About Josh →  |  LinkedIn →

RELATED RESOURCES
C.F.O.S MASTER
Run on C.F.O.S
The Construction Financial Operating System — complete architecture
C.F.O.S MODULE
Cash Control System
Seasonal cash gap forecasting — the crisis prevention layer for SWPPP
C.F.O.S MODULE
Job Profitability System
Per-site profitability tracking — the job cost layer that reveals the real portfolio picture
SPECIALTY CLUSTER — RELATED TRADES
SPECIALTY CLUSTER
Electrical OS
73-day gap, switchgear deposits, T&M billing float
SPECIALTY CLUSTER
Drywall
MEP delay crew burn, ceiling height billing gaps

THE GAP DOESN'T CLOSE
WITHOUT THE SYSTEM.

You cannot self-assemble a fix from knowing the problem. The financial system has to be built, run monthly, and connected to the other five layers of C.F.O.S — or seasonal cash gaps, cross-site subsidization, and BMP billing lag keep compressing margin across every site in your portfolio. Schedule a free call and we'll show you what that system looks like built around your SWPPP business.

SCHEDULE A FREE CALL →
THE CONSTRUCTION CFO
Run on C.F.O.S Electrical OS SWPPP Overhead Rate Schedule a Call Josh@ConstructionCFO.net
© 2026 SULPHUR PRAIRIE MANAGEMENT · SULPHUR ROCK, AR
0