CFOS for QuickBooks, coming January 2027Join the waitlist: 12 months with no subscription fee
SWPPP / EROSION CONTROL · JOB COSTING SOFTWARE

CONTROLQORE FOR SWPPP AND EROSION CONTROL.

Generic accounting software can't report cost per permitted site, separate rain event hours from the routine inspection cadence, or tell you which sites on a route lose money every month. ControlQore can.

QUICK ANSWER

ControlQore for SWPPP contractors uses cost codes per permitted site: mobilization, BMP installation, routine inspection, rain event inspection, corrective action and BMP maintenance, and documentation. It tracks cost per site against that site's contract price. Per-site results roll up by route, so drive time and route density show as a cost. Installation, inspection contracts, and maintenance are set up as separate divisions, so you read seasonal work and recurring work apart. The WIP schedule is produced monthly from cost-to-cost percentage complete.

What changes is when you find out. Close a month at the division level and you learn inspections were profitable or they weren't. By then the route is already being worked again the next week. Cost codes built per permitted site turn the same hours into a cost per site you can read against that site's contract price. That's early enough to reprice the site, tighten the route, or release the contract while the year still has room to recover.

BY JOSH LUEBKERPublished 2026-08-08Updated 2026-11-01
WHAT IT SEES

THE NUMBERS GENERIC SOFTWARE MISSES.

Per Site
Cost Code Structure for SWPPP Work
By Route
Inspection Minutes, Drive Time, BMP Burn
24 Hour
Rain Event Work in Its Own Rate Class
Monthly
WIP and Divisional P&L From Actual Data
THE DEFINITION

WHAT IT IS.

ControlQore is a job costing and WIP platform for contractors that tracks cost by job and cost code, so a SWPPP and erosion control contractor can read cost per permitted site, built from inspection minutes, travel time, and BMP material use, while the contract is still active.

WHAT YOU ARE DEALING WITH

WHERE IT GOES WRONG.

01

No Cost Per Site Anywhere in the Books

QuickBooks reports total cost for the inspection work as one pool. It can't tell you what one permitted site costs to service. Cost per site is the number that counts most in erosion control. It's built from inspection minutes, travel time, and BMP material use against that site's contract price. When those three are in one division total, the sites that lose money every month are paid for by the sites that don't, and nobody sees it.

02

Rain Event Hours Pooled With Routine Inspections

Most stormwater permits require an inspection within 24 hours of a 0.25-inch rain event, across every permitted site at once. That's on top of the routine weekly or biweekly schedule. Surge work costs more: overtime, additional trucks, and certified inspectors pulled off their normal route. Code it with routine inspections and it disappears into an average. Then the next contract gets priced at route rates again.

03

Documentation Cost Inside Overhead

EPA stormwater penalties reach $56,460 per day per violation before state penalties are added on top. Negligent Clean Water Act violations cost $2,500 to $25,000 per day. The permit holder pays the fine, and the inspection log, the corrective action record, and the photo trail are the defense. That documentation is what a SWPPP contractor sells. So the hours spent producing it belong on the site's cost code, where you can build a price around them.

HOW SPM SETS IT UP

WHAT WE BUILD.

Cost Codes Per Permitted Site in ControlQore

SPM builds ControlQore cost codes for SWPPP clients per permitted site: mobilization, BMP installation broken out by silt fence, wattles, inlet protection, blankets, and hydroseed, routine inspection, rain event inspection, corrective action and BMP maintenance, and documentation. Labor, material, and equipment post to the correct code on the correct site. Actual cost per site is compared to that site's contract price every month, and a site costing more than its price gets flagged for review.

Route Rollup and the Per-Site P&L

The route is set up as a job attribute in ControlQore, so per-site results group by route. Monthly reporting shows cost per site, inspection minutes per site, drive time per site, and BMP use per site, ranked worst to best. Route density becomes a number. Sites and routes that lose money get repriced at renewal or released, and the crew hours they took go to work that pays.

Rain Event Work as Its Own Rate Class

Rain event response gets its own cost code and its own billing rate, above routine inspection pricing. SPM writes the trigger, the response window, and the rate into the contract language before the season starts: a 0.25-inch event, a 24-hour window, and a rate that reflects what mobilizing every site at once costs. ControlQore then reports what surge response cost and what it earned, side by side, so the rate gets set from data at the next renewal.

Divisional P&L and Monthly WIP

Installation, inspection contracts, and BMP maintenance are set up as separate divisions in ControlQore. Installation tracks the building season, and the recurring lines cover the winter. The divisional P&L tells you whether growth should buy more crews or more contracts. The WIP schedule for the installation work is produced monthly from cost-to-cost percentage complete. Underbilled positions, meaning work performed but not yet billed, trigger a corrected pay app. Overbilled positions flag billing that is ahead of real progress.

$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

FLAT MONTHLY FEE. NO SOFTWARE INVOICE.

Three tiers, priced by your trailing twelve month revenue. ControlQore comes with Strategic and Platinum, and it never appears as its own line item on an SPM invoice. Which tier you're in depends on how much of the work you want off your desk.

Built for subs doing $1M to $12M. Above $12.5M we quote.

Last 12 months revenueCoreStrategicPlatinumOne-time onboarding
Under $1M$1,900$3,100$3,300$2,500
$1M to $3.5M$2,600$4,100$5,300$4,500
$3.5M to $6.5M$3,800$5,900$8,300$6,000
$6.5M to $9.5M$5,100$7,600$11,800$7,500
$9.5M to $12.5M$6,100$8,900$14,900$9,000
Above $12.5MQuotedQuotedQuotedQuoted

The onboarding fee covers migrating your books back to the start of your last taxable year and getting you fully operational in 60 days. It's billed once, with your first invoice. It's the same for all three tiers, and it moves with your revenue band. Your first month is prorated, and your monthly engagement starts on the first of the first full month.

Just want the setup? Onboarding only is the same onboarding work with no monthly service after it, one time, at the onboarding fee plus $2,000. Start a monthly engagement later and $2,000 counts toward it. It starts at $4,500, and the price for every band is on the pricing page.

The three tier columns are the whole price. Which one fits depends on how much of the work you want off your desk. No payroll. No hidden line items. The onboarding fee is right here in the table.

  • Online software only: QuickBooks, Sage, Viewpoint and similar. No VPN or hosted desktop.
  • Not in any tier: payroll, pay applications, collections on receivables.
  • Pricing valid through 2027.
Core

CFO work. Your own bookkeeper keeps doing the books.

We build your plan every month. Your team does the work.

You get the CFO work: job costing built to match the way you estimate, a 13 week cash forecast, WIP every month, and a monthly meeting that ends with decisions.

Your bookkeeper still does the books.

Strategic

Core, plus bookkeeping and bank reconciliations, plus job costing and WIP software set up and managed for you. Use your own online accounting software or we supply it, one price.

We build the plan, track it and adjust it every month.

We only work with trade subcontractors. We know what to look for, and we fix problems while they're still small. Everything in Core, plus the bookkeeping and bank reconciliations done for you, and the job costing and WIP software set up, loaded with your cost codes, and managed every month. Use your own online software, or move to ours and we pay for it.

Our team does the bookkeeping and the reconciliations. We don't do payroll.

Platinum

Strategic, plus a controller who handles payables and receivables the way an in-house controller would. You approve every payment.

We manage the money side for you, every week.

Everything in Strategic, plus our team does the controller work. We handle your bills and receivables the way an in-house controller would: we call vendors, pay the bills and keep the accounting current. We plan the cash flow first, and you approve every payment because it is your money.

Our team does the payables and receivables. We don't do payroll, pay applications or collections.

COMMON QUESTIONS

FREQUENTLY ASKED.

SPM builds per-site cost codes in ControlQore. Inspectors log time and mileage to the site they were on, and BMP materials post to the site they were installed on. ControlQore calculates burdened labor cost for those hours and reports total cost for that site against the site's contract price for the period. You get a per-site P&L you can read monthly. A division total can only be read annually.

Yes, and it should. Rain event response is a separate cost code from routine inspections, so the overtime, the additional trucks, and the inspectors pulled off route show as their own number. A rain event rate class gets priced from that number. Without the split, surge hours average into routine cost and the contract stays priced as if the rain follows your schedule.

Installation, inspection contracts, and maintenance are set up as separate divisions. Each one has its own revenue, cost, and gross margin, so you can measure the recurring lines against the seasonal ones. That split also sizes the seasonal reserve, because you can see how much fixed cost the recurring work covers through the slow months.

60 days from engagement start to live job costing with WIP reporting. The SWPPP-specific setup covers the per-site cost code build, route attributes, the rain event rate class, the divisional split between installation and recurring work, and historical data migration from QuickBooks. Most clients are fully operational in ControlQore within 60 days.

Three tiers, and which one you are in depends on how much of the work you want off your desk. On Core we build your plan every month and your team does the work: job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a monthly meeting that ends in decisions, while your bookkeeper keeps doing the books. On Strategic we build the plan, track it and adjust it every month: our team does the bookkeeping and the bank reconciliations, and the job costing and WIP software is set up and managed for you, on your own online software or ours. On Platinum we manage the money side for you every week: our team handles your bills and receivables the way an in-house controller would, and you approve every payment. We don't do payroll.
WHAT THIS TIES INTO
Josh Luebker, SPM The Construction CFO
Josh Luebker
FRACTIONAL CFO · SPM THE CONSTRUCTION CFO

Josh Luebker is a master electrician turned construction CFO, president of SPM The Construction CFO and author of CONTROL: C.F.O.S. Construction Financial Operating System.

WANT TO SEE THIS ON YOUR OWN SWPPP AND EROSION CONTROL JOBS?

Twenty minutes of questions about how your SWPPP and erosion control work gets coded today, who does the coding, and what your last closed job reported. Josh won't pitch you or send a proposal. If Josh can help, you'll set a longer second call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute call

20 minutes. No pitch or proposal. Josh asks questions to find out if he can help.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.