CONTROLQORE FOR PLUMBING CONTRACTORS.
Generic accounting software can't read cost by phase from underground through trim-out, weight a schedule of values so rough-in bills at what rough-in costs, or reconcile a fixture allowance while the selection is still open. ControlQore can.
ControlQore for plumbing contractors uses cost codes by phase, meaning underground, rough-in, top-out, and trim-out, so each phase carries its own labor, pipe, and fixture cost against its own estimate. The schedule of values is reviewed before signing and weighted to where the spend genuinely sits, with trim-out set up as a separate remobilization line rather than a percentage of the whole. Copper and pipe carry a dated price basis in every bid, and every fixture substitution delta is priced as a change order. The WIP schedule is produced monthly from cost-to-cost percentage complete.
Plumbing spends its money in two humps with a canyon between them. Underground and rough-in consume the labor and the pipe early, the crew demobilizes while walls close and finishes run, then trim-out comes back months later to collect the last of the money behind punch and retainage. A flat percent-complete schedule of values bills that curve as if the cost were level across it, which starves the front of the job and strands the back. Plumbing contractors at $1M to $5M net 7.5 percent before taxes on the SPM 48-trade dataset against a CFOS target of 11 percent, and the flat middle of that curve is usually construction-heavy mix rather than bad pricing.
THE NUMBERS GENERIC SOFTWARE MISSES.
WHAT IT IS.
ControlQore is a job costing and WIP platform for commercial subcontractors at $1M to $12M that tracks cost by job and cost code, so a plumbing contractor can read cost per phase, meaning underground, rough-in, top-out, and trim-out, against the weight that phase is being billed at.
The two humps are the trade itself. A commercial plumbing contract puts the underground crew in the dirt before the slab, brings a rough-in crew back through the walls, tops out the risers, and then leaves the site entirely while drywall, paint, and flooring take over. Trim-out is a second mobilization on a job the accounting system thinks is nearly finished.
That means every financial decision in this trade is a phase decision. Which phase is over. Which phase is billed ahead of its cost. Which phase carried the change order nobody priced. A job cost report that reports one plumbing total per project can't answer any of those, which is why the fix here starts with the cost code structure and not with collections.
WHERE IT GOES WRONG.
Four Phases Reported as One Job Total
Underground, rough-in, top-out, and trim-out are four different jobs with four different crews, cost structures, and durations. Generic software adds them together and reports one plumbing number per job. A rough-in that ran 400 hours long is invisible behind an underground run that beat the estimate, and by the time trim-out closes the job out nine months later, nobody can reconstruct which phase lost the money or why.
A Flat Schedule of Values Against a Two-Hump Spend
Cost loads early and collection loads late. A GC-drafted schedule of values that bills straight-line percent complete underbills the underground and rough-in phases where the labor and the pipe are being consumed, and it leaves the trim-out remobilization to be recovered behind punch, closeout, and retainage. That's the rough-in cash hole, and it's a billing structure problem rather than a collections problem.
Fixture Allowances Reconciled at Closeout
Fixture packages ride owner allowances. Selections come in late, substitutions come in later, and the reconciliation happens at the end of the job when there's nothing left to negotiate against. Unpriced deltas absorbed as favors during the job become back-charges at closeout, and the plumbing contractor is the one holding them. The allowance was a budget with a number on it, and nothing in generic accounting software tracks the difference.
Copper Bought Across a Year, Priced Once at Bid
Copper sat at $5.92 per pound in May 2026, up 24.75 percent on the year under a 50 percent tariff regime, and a plumbing contractor buys it across every phase of a multi-year job. A fixed bid with no dated price basis and no escalation clause is a commodity position taken accidentally, in the customer's favor. PEX resin and cast iron move on their own cycles, and none of that movement is visible on a job cost report that only carries a total material number.
Under-Slab Surprises Buried Before They Were Documented
Rock, groundwater, and mislocated existing lines under the slab are changed conditions only if somebody photographed, measured, and priced them before backfill. After the pour, the evidence is gone and the cost is a donation. Plumbing is the first trade in the dirt of the building, so it hits these conditions first, and it absorbs them more often than any other trade on the job.
WHAT WE BUILD.
SPM builds ControlQore cost codes for plumbing clients to the phase structure the trade works in: underground, rough-in, top-out, and trim-out, each split by labor, pipe and material, and fixtures. Each code points at the corresponding estimate category, so a foreman posting hours hits the same bucket the bid was built in. Weekly reporting reads each active phase against its own estimate, and any phase running more than 10 percent over for two consecutive weeks gets flagged while that phase is still on site.
SPM reviews every new plumbing subcontract schedule of values before it's signed and recommends the weighting the trade's cost curve requires: underground and rough-in billed at what those phases genuinely cost, material stored on site billable where the contract allows it, and trim-out carried as its own remobilization line rather than a slice of straight-line percent complete. The review takes one meeting and the cash benefit runs the length of the job.
Fixture allowances are set up in ControlQore as their own budget lines, tracked against the selections as each one closes rather than at closeout. Selection deadlines with schedule consequences go in the contract, and every substitution delta is priced as a change order before the fixture is ordered. The reconciliation then happens while there's still contract left to negotiate against, which is the only time it works in the plumber's favor.
Every bid carries the date its copper, PEX, and cast iron pricing was taken, and long jobs carry an escalation clause indexed to a published reference. Underground and rough-in material packages get bought out early where the schedule allows it. In ControlQore, material posts to the phase that consumed it, so when copper moves you can see which phase absorbed the increase instead of watching one blended material number drift.
The sequence is fixed and it runs every time: photograph the condition before anything is covered, measure and log it the same day, notify the GC in writing, and price the change order before the crew works around it. In ControlQore the change order carries its own cost code, so the added cost stays visible as changed conditions rather than dissolving into the underground phase and looking like a crew that ran slow.
The WIP schedule is produced monthly from cost-to-cost percentage complete on live ControlQore data. On a two-hump job this is the report that catches the structural problem early: heavy cost in rough-in with light billing behind it reads as underbilled, and a job billed to 70 percent with trim-out still ahead of it reads as overbilled. Both are visible months before the closeout cash either one implies.
FLAT MONTHLY FEE. NO SOFTWARE INVOICE.
Three tiers, priced by your trailing twelve month revenue. ControlQore comes with Strategic, 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.
Pricing
| Last 12 months revenue | Monthly fee |
|---|---|
| Up to $1M | $1,900 to $2,900 |
| $1M to $3.5M | $2,600 to $3,900 |
| $3.5M to $6.5M | $3,800 to $5,700 |
| $6.5M to $9.5M | $5,100 to $7,100 |
| $9.5M to $12.5M | $6,100 to $8,500 |
| $12.5M to $15.5M | $7,400 to $11,000 |
| $15.5M to $18.5M | $9,400 to $13,500 |
| $18.5M+ | Quoted individually |
Range reflects the three tiers below. Which one you're in depends on how much of the work you want off your desk. No payroll. No hidden line items.
You stop guessing.
You get the CFO work. Job costing built against the way you estimate, a 13 week cash forecast, monthly WIP, and a meeting every month that ends in decisions rather than a report.
Your bookkeeper keeps doing the books.
You stop touching the books.
Everything in Core, and we run the bookkeeping and the controllership as well. Nobody in your office is answering coding questions or chasing a reconciliation at month end.
We do the books. No payroll.
Every job shows its margin while it's still running.
Everything in Executive, plus the job costing and WIP platform set up, loaded with your cost codes, and managed for you every month. You never have to learn it.
We do the job costing.
