CFOS for QuickBooks, coming January 2027Join the waitlist: 12 months with no subscription fee
ENVIRONMENTAL REMEDIATION · JOB COSTING SOFTWARE

CONTROLQORE FOR ENVIRONMENTAL REMEDIATION CONTRACTORS.

Generic accounting software can't report cost per load by disposal class, tell you whether the scope contingency or the bid contingency is the one you're spending, or hold a billing back until its manifest is signed. ControlQore can.

QUICK ANSWER

ControlQore for environmental remediation contractors builds cost codes around the two things that decide the job: disposal and the unknown. Disposal codes are set by waste class and haul route, so you can read actual cost per load against the gate rate and mileage the bid assumed. Scope contingency and bid contingency get their own codes, so you can see how much of the unknown you've already spent. A load is billable when the generator, transporter and facility have signed the manifest. Funding milestones for responsible parties, insurers and public programs go on the cash forecast, because the funding source decides when you collect. The WIP schedule is produced monthly from cost-to-cost percentage complete.

Remediation contractors at $1M to $5M net 7 percent before taxes on the SPM 48-trade dataset. The CFOS target at that revenue is 10.5 percent before taxes. Gross margin for this trade at the same revenue reads 23 percent. That figure comes from the nearest comparable trade in the dataset and wasn't measured directly, so treat it as a reference point. In this trade a job costing system is also risk control. CERCLA liability is strict, retroactive, and joint and several. It reaches the contractor that releases what it was hired to contain. In one published claim scenario, damaged drums and an unreported release brought penalties over $6.1 million. Knowing what a load costs is the small half of the problem. Knowing every load left with its paper is the other half.

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

THE NUMBERS GENERIC SOFTWARE MISSES.

By Class
Cost Codes Built on Waste Classification
Per Load
Cost Per Load vs. the Gate Rate Bid
Both Kinds
Scope and Bid Contingency Counted Separately
Monthly
WIP Schedule From Actual Data
THE DEFINITION

WHAT IT IS.

ControlQore is a job costing and WIP platform for contractors. It tracks cost by job and cost code. An environmental remediation contractor can read cost per load by disposal class and haul route while the site is still open, with both contingencies counted as they get used.

WHAT YOU ARE DEALING WITH

WHERE IT GOES WRONG.

01

Strict Liability With No Reserve Behind It

CERCLA liability is strict, retroactive, and joint and several. It can reach the contractor as well as the party that polluted the site. In one published claim scenario a remedial action contractor damaged several drums by accident, released the contents and didn't notify EPA. It paid penalties over $6.1 million, with criminal and civil actions attached. In this trade you need pollution liability coverage sized to the work, a release-notification protocol and a funded incident reserve. A books-only accounting setup has none of them.

02

Disposal Cost Pooled Into One Expense Line

Characterization sets the waste class. The class sets the eligible facilities and the gate rate. The haul distance to a permitted facility can cost more than anything else on the job before you count an hour of field labor. When all of it posts to one disposal expense line, a job that went over can't tell you why. The class came back worse than characterized, the facility raised the gate rate, or the route was longer than bid. Each one is a different problem with a different answer.

03

Contingency Spent Without Anyone Counting It

Published remediation cost analysis is blunt about this. Scope contingency is 10 to 25 percent of direct cost, and bid contingency is 5 to 15 percent. A proposal under 10 percent combined on a poorly characterized site is underscoped. Contingency put into direct cost codes is gone the moment it's used, so nobody knows in week three that the unknown is already spent. Picking the wrong technology has a documented 2 to 3 times re-remediation multiplier. That multiplier is what the contingency was for.

04

Loads Billed Ahead of Their Manifests

The manifest trail with generator, transporter and facility signatures is the compliance record. It's also what backs up the billing. A load hauled without its completed paper is a liability in transit, and you can't bill it. That kind of exposure comes out in an audit long after the job closed. When billing comes from a haul count in a field notebook, the two records don't agree, and somebody else finds the difference.

HOW SPM SETS IT UP

WHAT WE BUILD.

Cost Codes by Disposal Class and Haul Route

SPM builds ControlQore disposal codes for remediation clients by waste class. The receiving facility and the haul route are job attributes under each class. Gate charges, transportation and loading labor post to the class that generated them. Actual cost per load comes from those codes and is compared to the gate rate and mileage the estimate assumed, with the date the rate was quoted on the record. When a class comes back worse than characterized, you see the cost that same month.

Both Contingencies Set Up as Their Own Codes

Scope contingency and bid contingency are separate cost codes in ControlQore. Each is sized against the quality of the Phase II characterization. Every draw on either one posts to it with a reason, so the report answers a question the P&L can't: how much of the unknown is left. On a well characterized site the codes are tighter. On a poorly characterized one they stay wide, and the estimate says so plainly.

Manifest-Complete Billing

SPM sets up ControlQore so a load is billable when its manifest is complete, with generator, transporter and facility signatures all in place. Hauls without completed paper go to a held status. They're counted and followed up before the pay application goes out. So the billing and the compliance record agree, and loads nobody can back up don't pile up.

Site Friction Priced Per Site Condition

Constrained sites carry premiums that an averaged price loses. Security, coordination and safety protocols on airport-class work add 20 to 40 percent to standard costs. Urban sites limit access and working hours and add community-relations work that rural sites never have. SPM codes those conditions per job in ControlQore, so each one builds its own cost history. After a few jobs your estimate has a friction factor by site type. One blended production rate is wrong in both directions.

Pollution Liability and the Incident Reserve in the Overhead Build

Contractor pollution liability premiums, the notification protocol and a funded incident reserve are costs of doing this work at all. They belong in the overhead rate your estimate uses, and not in a surprise line at year end. SPM builds them into the overhead calculation in ControlQore and reviews the reserve against the exposure in your current backlog. Technology selection gets the same treatment. Matched technology can cut lifecycle cost 40 to 60 percent, and you only have the history to choose right if the last job was coded properly.

Funding Path on the Cash Forecast, WIP Monthly

Remediation money comes from responsible parties, insurers including decades-old general liability policies, state funds and federal programs. Every one of those has its own approval calendar, and you don't control it. SPM maps the funding path before mobilization, bills against reporting and approval milestones, and puts those dates on the 13 week cash forecast. The WIP schedule is produced monthly from cost-to-cost percentage complete. Underbilled positions trigger a corrected billing. Overbilled positions show while the project still has years of reporting left.

$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 sets up disposal cost codes by waste class in ControlQore, with the receiving facility and haul route tracked as attributes. Gate charges, transportation and loading labor post to the class that produced them. ControlQore reports cost per load against the gate rate and mileage the estimate assumed. If a characterization comes back worse than the Phase II data suggested, you can read the cost of the reclassification the same month.

Scope contingency and bid contingency each get their own cost code, apart from direct cost. Published norms put scope contingency at 10 to 25 percent of direct cost and bid contingency at 5 to 15 percent, tighter as characterization improves. A combined figure under 10 percent on a poorly characterized site is underscoped. With separate codes, every draw is recorded with a reason. You know in week three how much of the unknown you've already spent.

Yes, and that's how SPM sets it up. A load becomes billable when generator, transporter and facility signatures are complete. Anything short of that stays in a held status, where it's counted and followed up. The manifest trail is the compliance record and the backup for the invoice, so tying billing to it means the two records always agree.

60 days from engagement start to live job costing with WIP reporting. The remediation-specific setup covers disposal codes by waste class, haul route attributes, both contingency codes, manifest-complete billing rules, site friction coding, the overhead build including pollution liability and the incident reserve, funding milestones on the cash forecast, 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 ENVIRONMENTAL REMEDIATION JOBS?

Twenty minutes of questions about how your environmental remediation 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.