CONTROLQORE FOR SERVICE BUSINESSES.
ControlQore for a service business is built on four costing units: cost per work order type, cost per technician per billable hour, cost to serve per agreement, and cost per truck per day. There's no estimate to mirror, so cost codes come out of your service catalogue and price book. Warranty and callback work gets its own revenue stream, so rework stops disappearing into the average. There's no WIP schedule in the construction sense. An agreement margin schedule and an open work order report take its place.
The 48 trade ControlQore builds on this site all describe the same thing. Cost codes are laid out by construction phase and compared line by line against a bid. A WIP schedule comes from cost-to-cost percentage complete. A service business doesn't have a bid, phases, or a long contract earning revenue against a schedule of values. So three quarters of that setup has nothing to attach to. The rules still apply. Every dollar still needs one home. The coding still has to be identical across every truck. The person selling the work, the person doing it, and the person billing it still have to agree on where a cost belongs. What changes is the comparison. You compare against your catalogue price and the average cost of your last hundred work orders of that type.
WHAT IT MEANS.
ControlQore for a service business is the same job costing and WIP platform. A service business has no bid, so it is configured against your service catalogue. Cost codes follow revenue stream and work order type. Every work order is tied to the agreement it belongs to. You can read margin per agreement, per technician, and per truck.
We won't publish a service business gross margin, net profit, or overhead benchmark. Be careful with anyone who offers you one. Labor rates, drive time, competitive density, and what a market will pay for a recurring agreement change more between two metros than between two trades. So a national service margin is wrong somewhere before it's printed. ControlQore gives you your own baseline out of your own book: your cost to serve by work order type, your loaded cost per technician per billable hour, and your own truck rate. It's less comfortable than an average and more useful, because it's the number that is true where you operate.
Setup takes the same 60 days as every other ControlQore build. The service work is the catalogue mapping, the agreement setup, the warranty stream, and the truck cost basis. The historical migration goes back to the start of the last taxable year, the same way it does for a project contractor. Most service clients close their first month inside ControlQore by day 45 and have the full report set by day 60.
WHY THE STANDARD BUILD DOES NOT FIT.
The Cost Codes Were Copied Off a Project Build
Most service companies that try costing start with cost codes designed for projects: seven categories, two or three levels deep, built to mirror an estimate line by line. A service business has a catalogue and a price book and no estimate to mirror. So those borrowed codes make buckets nobody in dispatch or the field can read. Technicians code by guess. The same repair goes to four different places across four trucks. Every report built on top of it is unusable, however carefully the month gets closed.
Work Orders Are Not Tied to Their Agreement
A recurring agreement bills on its own schedule. The tickets that serve it have no reference back to it. The revenue posts to a contract line and the cost posts to demand service, so the two never meet on any report. Nobody can pull per-agreement margin. The only way to know whether an agreement makes money is to rebuild it from memory. You can't rebuild three hundred agreements from memory. So nobody does it, and the losing ones keep renewing.
Callbacks Get Coded Back to the Original Work
Rework posted to the same code as the first visit disappears into the rolling average. Poor workmanship then looks like normal cost. The catalogue price gets set off an average that already has the callbacks in it. The price looks defensible and the margin keeps falling. Warranty is usually the largest single piece of cost in a service business that nobody has ever been billed for and nobody has ever measured. Left uncoded, it's also the cost you could most easily reduce.
There Is No Capacity Unit in the Chart
A project contractor has an equipment cost basis, a crew rate, and a bid to compare both against. A service business has trucks. In most of them, nobody can say what one truck costs to put on the road for a day once you count fuel, maintenance, insurance, depreciation, and the technician's loaded rate. Without that number, you add a truck or cut one by feel. You also need it to price after hours work. An emergency call is a truck day sold at a premium, and you can't price a premium off a cost you don't know.
WHAT IT LOOKS LIKE IN DOLLARS.
Take a truck with a technician at a loaded cost of $52 an hour across an 8 hour day. Add $40 of fuel. Add $85 a day of maintenance, insurance, and depreciation. That truck costs about $541 to put on the road before a single ticket is closed. These inputs are made up, so don't read them as a claim about your business. The math is the point. Once the truck day has a cost, you measure every dispatch decision, every after hours rate, and every fleet addition against it.
An example agreement bills $3,000 a year across 12 invoices. It covers four scheduled visits at two hours each. That's eight hours of planned labor. Add six hours of callbacks that got coded to demand service when they belonged to the agreement. The true cost to serve is 14 hours plus drive time, parts, and truck. Whether that agreement earns anything depends on your own loaded labor cost and your own truck rate, so no published average can answer it. ControlQore answers it by tracking cost to serve on each agreement individually.
SPM prices ControlQore at $150 per $1M of revenue per month and it's included in the Strategic and Platinum packages. It never appears as a separate invoice line and it's never billed in addition to the SPM fee. A $6M service company gets the platform, the build, the migration, and the reporting inside one monthly number.
WHAT WE CONFIGURE INSTEAD.
Level 1 is the revenue stream: recurring agreements, demand service, replacement and install, and warranty or callback work. Level 2 is the work order type, straight out of your price book. It uses the words dispatch already uses, so a technician closing a ticket picks the code without thinking about accounting. Cost types cross both levels: labor, material, vehicle, subcontracted, and permit. Before the first ticket gets coded, we apply the same test we use on the project side, this time against a catalogue. The person selling the work, the person doing it, and the person billing it all have to agree on where a cost belongs.
SPM configures the agreement as an attribute on the work order in ControlQore. A ticket served under a contract then posts its labor, parts, and truck cost against that contract. Without it, those costs go into a general service bucket. That one setting is what makes per-agreement margin exist. Once it's in place, the agreement margin schedule builds itself out of closed tickets. You can read what each contract has billed against what it has cost to serve. You set renewal pricing off measured cost. Before, it was last year's price plus three percent.
Rework gets its own Level 1 stream in ControlQore. It's coded to the technician who did the original work and to the work order type it came from. Warranty stops being a cost lost in the average. You can watch it weekly by technician, by work order type, and by install crew. Most service businesses that fix one thing in the first 90 days fix this one, because it reduces cost without touching price, headcount, or the catalogue. It also gives you data for training and pay conversations.
ControlQore tracks each truck as its own cost center. Fuel, maintenance, insurance, depreciation, and the assigned technician's loaded rate all post to it. Divide the monthly total by working days and you have the daily cost of capacity. That number decides fleet size, route density, after hours pricing, and whether a third technician pays for himself. It works the way an equipment cost basis works on the project side, and it does the job a crew rate does in a bid. If your company is arguing about adding a truck, you're arguing about this number before anyone has calculated it.
The agreement margin schedule lists every recurring contract. For each one you see what it has billed to date, what it has cost to serve including callbacks, and how many scheduled visits remain in the term. The open work order report lists every ticket by state: dispatched, completed but not invoiced, and invoiced but not collected. Completed and not invoiced is the service equivalent of underbilling. In almost every service business we open up, that's where the money is held. One job type still gets built the project way. A change-out or install that lasts more than a couple of weeks and includes a deposit is set up as a small job with its own code and a cost to complete.
Weekly, you read margin by work order type and by technician, the completed and not invoiced list, and the callback count. Monthly, with the books closed by the tenth, you read the agreement margin schedule and a P&L split by revenue stream. Quarterly, agreement pricing and the catalogue get reset off measured cost to serve. The 13 week cash forecast goes alongside all of it. A service business collects in small pieces, and a slow week of dispatch takes about six weeks to reach the bank account.
THE OUTPUTS, NAMED.
FLAT MONTHLY FEE. NO SURPRISES.
Three tiers, priced by your trailing twelve month revenue. Which one you're in depends on how much of the work you want off your desk. We don't bill by the hour, and we don't do payroll. The one-time onboarding fee is in the table.
Built for subs doing $1M to $12M. Above $12.5M we quote.
| Last 12 months revenue | Core | Strategic | Platinum | One-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.5M | Quoted | Quoted | Quoted | Quoted |
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.
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.
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.
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.
