Civil contractors run out of cash because of three stacked problems: heavy equipment and labor mobilize on day one while the first pay app isn't paid for 60–90 days, equipment cost allocation errors that absorb idle fleet cost as overhead instead of billing it back, and unit price work that bleeds margin when production drops below the bid rate with no billing protection built into the SOV. The jobs are real. The revenue is earned. The cash doesn't arrive for three months — and that gap is structural, not situational. C.F.O.S is how you build the financial system around it.
This page is for you if: you're running $1M–$12M in commercial civil work, your equipment is on site from day one, and you're still always short on cash despite profitable jobs. The 60–90 day mobilization gap is structural to civil contracting — it exists on every job regardless of how efficiently you run it. You cannot bid your way out of it or collect your way out of it. You manage it with a system.
Civil work is the most equipment-intensive category in commercial construction — and equipment cost is immediate, fixed, and relentless. A dozer costs the same whether it's moving dirt or sitting on a locked site waiting for permits. A civil contractor running three active jobs is burning $80K–$150K per month in equipment costs before a single billing event covers any of it. That is not a job performance problem. That is a cash structure problem — and it only resolves inside a system built to manage it.
The mobilization gap on civil work is wider than almost any other trade. Equipment arrives on site the first week. Operators start. Fuel burns. The first pay app covers work through end of month one — submitted on the 25th, reviewed by the owner or GC, processed through their payment cycle, and paid 60–90 days after mobilization depending on whether it's private or public work. On a DOT or municipal job that window extends further. The contractor funds every dollar of that period from operating cash or the line of credit.
On a $2M civil job running $160K/month in cost the contractor has spent $320K–$480K before the first check arrives. Across three simultaneous jobs starting in the same quarter that's $960K–$1.4M of working capital requirement — all of it funded before billing recovery begins. Without a forward model showing those gaps, every new job feels like a risk because it is one.
The math: A $6M civil contractor running three active jobs with equipment-heavy mobilization is carrying a structural cash gap of $600K–$900K at any given time. That gap doesn't go away when jobs perform well. It resets every time a new job starts. The only way to manage it is with a system that sees it coming.
These three problems compound on the same jobs. A civil contractor taking on a new $1.5M job typically faces all three simultaneously — and without C.F.O.S executing each layer of the financial system, the combined effect is a cash position that looks manageable until it suddenly isn't.
Civil work starts with the heaviest cost day one. Equipment delivery, setup, operator mobilization, and initial earthwork begin immediately. The billing cycle doesn't care. The first pay app covers work through end of month one and won't be paid until month two or three depending on the owner's payment terms and approval process.
On public work — DOT projects, municipal contracts, county work — the payment window is contractually 60–90 days from submission and often longer in practice. The contractor mobilizes in week one and collects in week 12. The 11-week gap between mobilization and first payment is funded entirely from operating cash or the LOC on every public job the business takes on.
The C.F.O.S fix starts before the contract is signed. SOV structured with a mobilization line item that recovers site setup, equipment delivery, and initial earthwork in the first billing cycle. Stored equipment and materials provisions that allow billing when equipment is delivered to site, not just when it's in active operation. These two SOV changes can compress the mobilization-to-first-payment gap from 90 days to 45 days on a single job — without changing the payment terms or the GC relationship.
When a dozer sits on a site waiting for weather clearance, permit approval, or a schedule change, it costs the same as when it's working. Equipment payments, insurance, operator standby, fuel for warmup — the fixed costs continue. The question is where those costs go in the books.
Most civil contractors absorb idle equipment cost as overhead — a catch-all category that gets spread across all jobs as a percentage rate. The problem is that idle equipment cost is not a general overhead cost. It is a job-specific event caused by a specific condition on a specific job. When it's absorbed into overhead it disappears from job cost visibility, inflates the overhead rate, and distorts every subsequent bid that uses that rate.
The correct treatment is job-specific equipment cost allocation — tracked in ControlQore by machine and by job so idle cost is visible at the job level, not buried in overhead. When equipment is idle due to owner-caused delay, that cost becomes the basis for a standby or delay claim. When it's absorbed into overhead, that opportunity disappears with it.
Unit price contracts pay by the quantity installed — cubic yards moved, linear feet of pipe, tons of aggregate placed. The bid assumes a production rate: how many cubic yards per day, how many linear feet per shift. The contract price is locked. The cost per unit is not.
When production drops below the bid rate — because soil conditions change, because equipment breaks down, because site access is constrained, because weather kills production for two weeks — the cost per unit climbs while the billing rate stays fixed. A civil contractor bid at $18/CY for earthwork needs to move 500 CY/day to hit the margin. At 380 CY/day the job is losing $2.40/CY on every yard moved. On a 50,000 CY job that's $120,000 of margin that disappears without a single change order or billing dispute.
Monthly cost-to-complete tracking in ControlQore catches that production variance at the 30% complete mark — when there's still 70% of the job left to adjust equipment deployment, negotiate change order timing, or document changed conditions. At 85% complete the damage is already locked in.
Civil cash problems get blamed on public agency payment delays, equipment costs, and weather. Those are real factors — but they are not why a $6M civil contractor is perpetually short on cash despite profitable jobs. Here are the three wrong diagnoses that keep civil contractors stuck.
Public work does pay slower — that is structurally true. But "slow pay" is not the diagnosis. The diagnosis is that the contractor mobilized $400K of cost before any billing was collectible, with no SOV structure to accelerate recovery, and no working capital model showing what that gap required. Slow pay is the context. The absence of a financial system is the problem.
→ Real problem: SOV not structured to front-load mobilization recovery and no forward cash model built around the 90-day public pay cycle.
Equipment cost is high in civil work. But the problem is not the cost — it's how the cost is tracked. When idle equipment is absorbed into overhead instead of allocated to jobs, the overhead rate inflates, bids get distorted, and job-level profitability becomes impossible to measure accurately. Equipment cost is manageable when it's tracked correctly. It's destructive when it's hidden.
→ Real problem: Equipment cost not allocated by job and machine in ControlQore — idle cost absorbed into overhead instead of tracked as a billable or claimable job event.
Production variance on unit price work rarely recovers on its own. The conditions that caused the drop — soil, weather, access, equipment — don't automatically reverse. And by the time "back half recovery" becomes the plan, the job is past the point where adjustments to deployment or change order strategy can close the gap. Monthly cost-to-complete tracking is what catches the variance when recovery is still possible.
→ Real problem: No monthly production tracking against bid rate — variance discovered at closeout instead of at 30–40% complete when it can still be addressed.
C.F.O.S is how the financial system of a civil business gets built around the specific cash failure patterns of civil work — not adapted from a generic construction template, but structured from the ground up around mobilization gaps, equipment allocation, and unit price variance. Without this system running every month, the mobilization gap resets on every new job, idle equipment cost disappears into overhead, and production variance isn't caught until closeout. This is C.F.O.S executing inside the civil trade environment. Every deliverable is specific, monthly, and connected to the other five layers of the system.
Two service tiers priced by trailing twelve-month revenue. Core Financial covers the complete C.F.O.S system — ControlQore setup, job costing by work type and equipment, bookkeeping, and WIP. Executive Financial adds monthly CFO strategy meetings, controllership, and ongoing advisory. No payroll. 60-day onboarding. No scope gaps.
| Revenue Band | Core Financial | Executive 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+ | Quoted | Quoted |
Three stacked problems. Equipment and labor mobilize day one while the first pay app on a public job takes 60–90 days to collect — on a $2M civil job that's $320K–$480K funded before any billing recovery. Equipment cost allocation errors absorb idle fleet as overhead instead of job-specific cost, distorting every bid. And unit price production variance bleeds margin daily without monthly tracking to catch it. All three run simultaneously on every active civil job without a financial operating system managing them.
SOV structured before every contract signing with mobilization and stored equipment provisions. 13-week forecast built around public vs private pay cycles and equipment mobilization timing. Equipment cost tracked by machine and by job in ControlQore so idle cost is allocated correctly and delay claims are documented. Unit price production tracked monthly against bid rate so variance is caught at 30–40% complete. Working capital model updated before new contracts are signed to verify LOC capacity covers the mobilization gap.
Commercial civil 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 — books migrated, ControlQore set up, job costing structured around your work types and equipment. No payroll. No residential.
Core Financial includes ControlQore setup, job costing aligned to your estimates and work types, full-service bookkeeping, and bank reconciliations. Executive Financial adds monthly CFO strategy meetings, controllership, and strategic accountability. No payroll. No scope gaps.
60 days. We migrate your books to the start of your last taxable year, set up ControlQore, and build your job costing structure from scratch aligned to your work types and equipment categories. Fully operational in two months.
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 the mobilization gap resets on every new job you start. Schedule a free call and we'll show you what that system looks like built around your civil business.
SCHEDULE A FREE CALL →