CFOS for QuickBooks, coming January 2027Join the waitlist: 12 months with no subscription fee
PER-AGREEMENT PROFITABILITY

SERVICE AGREEMENT PROFITABILITY.

QUICK ANSWER

A service business with 300 recurring agreements is operating 300 small businesses, and the monthly P&L reports all of them as a single result. That result nets the agreements that make money against the ones that lose it, so you can't see either group. The report takes three things. Every work order is coded to an agreement. Labor and materials are posted to that work order. Travel time is allocated to the stop that caused it. Once you have the ranking, the twenty worst accounts are a renewal list with dates on it.

You keep a losing agreement because the price was right at signing. Then nobody looked at it again while labor cost, material cost, and the scope the customer expects all changed. The blended margin on the P&L stayed healthy the whole time, and that's the best argument there is for leaving the agreement alone.

Rather talk it through first? Book a 20 minute call. Nothing gets sold on this call.

Want Josh to check your own numbers? Financial Health Snapshot, $1,500 one time. Your last 12 months read against your trade's benchmarks, with a 60 minute readout.

BY JOSH LUEBKERPublished 2026-08-08Updated 2026-11-13
THE DEFINITION

WHAT IT MEANS.

Per-agreement profitability is the revenue one recurring agreement produces over a year, less every cost of delivering it. Those costs are burdened technician labor, materials used on the customer's site, and the drive time between stops.

Service business margins vary too much by region for us to publish a benchmark you should price against. Labor rates, drive time, competitive density, and what a market will pay for a recurring agreement vary more between two metros than between two trades. So we build your numbers from your own book. We won't quote you a figure with no evidence behind it.

A project business has a backlog, a schedule of values, pay applications, retainage, and a WIP schedule to true up at month end. A service business has none of them. It has a book of agreements and a stream of work orders. So the report that does what a job cost report does for a project business is profitability by agreement.

Almost nobody in a recurring-revenue service business has this report, and it changes more decisions than any other. It tells you which renewals to raise, which routes to rebuild, which customers are subsidizing which, and which accounts you should be glad to lose. Today you make every one of those decisions on instinct, and instinct is optimistic about accounts you've had for a long time.

WHAT WE SEE IN THIS BUSINESS

WHY THE BOOK LOOKS FINE.

01

The P&L nets the winners against the losers

One line of service revenue and one line of service cost give you one margin, and that margin is an average of everything. The agreements with strong margin pay for the ones losing money. The blended figure looks good enough that nobody investigates. So the best accounts never get studied and the worst ones never get fixed.

02

Work orders aren't coded to an agreement

In most service businesses the work order tells a technician where to go and gets the customer invoiced. It has an address, a date, and a description, and then it closes. If it has no agreement number on it, you can't total a year of visits for the contract that required them. So you can't add up what any single agreement cost you.

03

Drive time belongs to nobody

Windshield hours are paid labor that bills nothing, and they usually stay in a general labor account where no agreement tracks them. So a dense downtown route and a rural route with 40 minutes between stops look identical on the books. The rural agreements use far more of the day than they pay for, and your books can't show it.

04

A legacy agreement moves into a loss with nobody deciding it

An agreement signed five or six years ago was priced against the labor rates, material costs, and visit scope of that year. Wages have risen since, and materials have risen more. The customer now expects work that was never written into the contract. Nothing about the agreement changed on the day it became a loss, so nobody noticed. The oldest accounts on the book are frequently the worst ones.

THE MATH

WHAT IT LOOKS LIKE IN DOLLARS.

How netting blurs both ends, an example

Take a made-up book of 300 agreements. Of those, 40 lose $1,500 a year each and the other 260 make $900 each. The losses total $60,000 and the winners total $234,000. The P&L reports $174,000 of margin on the service line and looks healthy. Repricing or releasing those 40 accounts is worth $60,000 without selling anything new, and the blended report gives you no reason to look for them.

A legacy agreement, costed out as an illustration

Say an agreement bills $400 a month. That's $4,800 a year. It covers twelve visits that now take two technicians four hours each. That's 96 technician hours. At an illustrative burdened rate of $55 an hour, the labor costs $5,280. Add $600 of materials and twelve hours of drive time at the same burdened rate. The agreement costs about $6,540 to deliver $4,800 of revenue. The number was fine when the visits took half as long.

What two extra stops cost you

Two additional stops a day at 20 minutes of travel time each take 40 minutes out of a technician's billable day. Over 250 working days that's about 167 hours. That's a month of one technician's year spent traveling. This is the math for an example route, and your routes will have their own numbers. Route density is a margin decision, and it never appears on a chart of accounts.

HOW SPM FIXES IT

HOW EVERY AGREEMENT GETS ITS OWN NUMBER.

The agreement becomes the cost object

Every recurring agreement is set up as its own cost object. Every work order written against it is tagged with that identifier before a technician is dispatched. Nothing gets invoiced or closed without it. The rest of the report depends on that one rule, and it's a rule for dispatch to follow.

Labor and materials attributed at the work order

Technician hours post to the work order at a burdened rate that includes taxes, insurance, benefits, and vehicle cost. Materials post to the work order they were used on. You make both setup decisions once. Getting them wrong is the most common reason a service business doesn't trust its own costing.

Drive time allocated to the stop that caused it

Windshield hours get allocated across the stops on the route. A rural agreement that uses 40 minutes of travel per visit takes on that cost, and a dense route stops subsidizing it. This change usually reorders the ranking the most. It puts the cost on the accounts that always felt hardest to service, though nobody could prove why.

One ranked report, worst account first

The monthly package includes agreement-level margin sorted from worst to best, with revenue, labor hours, material cost, and allocated travel on each line. The top of that list is what you work on that month. Once the data exists, reviewing the bottom twenty accounts takes thirty minutes a month. It replaces a conversation about whether the business is doing well.

Renewal dates managed off the report

Every agreement has an anniversary, and that's the only time the price is open. We build a renewal calendar alongside the profitability report so you review the two together. You know what an account earns before the renewal window opens, and you don't find out three months after it closed. Then you can ask for a price increase with a costed visit history behind it. That's a different conversation from asking because everything went up.

A decision for the ones that can't be repriced

Some agreements can't be repriced. It's a multi-year term with no escalator, a customer who will leave, or a logo you keep for reasons other than margin. Those get one of three treatments. You reduce the cost to serve by rescoping or rerouting the visits. You keep it on purpose as a known, quantified loss with an end date. Or you decline to renew. Either way, somebody decided to keep it.

WHAT YOU GET

THE OUTPUTS, NAMED.

Agreement-level margin for every recurring contract on the book, ranked worst to best
Work order coding that ties every visit back to its agreement
Burdened labor rate built from your own payroll taxes, insurance, benefits, and vehicle cost
Drive time allocated to the stops on each route
A renewal calendar aligned to the profitability report
Monthly review of the bottom of the ranking with a decision on each account
Books closed by the tenth of the following month so the report is current enough to use
$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
PRICING

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 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.

We won't give you a number, because we'd be making it up. Service business margins vary too much by region to publish a benchmark you should price against. Labor rates, drive time, competitive density, and what a market will pay for a recurring agreement vary more between two metros than between two trades. We can tell you how your own agreements rank against each other. That comparison changes what you do on Monday.

Three things, and they're simple. Every work order is tagged with the agreement it belongs to before it gets dispatched. Technician hours and materials post to that work order. Drive time is allocated to the stops that caused it. With those three in place, you get agreement-level profitability from the data every month with no extra effort. If any one of them is missing, the report can't be built, however good the software is.

Reduce the cost to serve it, keep it as a quantified loss with an end date, or decline to renew. Try rescoping first. A visit frequency or a scope written years ago is often more than the customer needs today. Try rerouting second. The same agreement costs materially less to deliver on a day when you're already in that area. If neither works and the customer won't pay more, you can defend keeping the account as long as you know what it costs you and somebody chose to pay it.

You need a system where the agreement is a cost object and the work order can be coded to it. Most general ledgers can't do that on their own. We set clients up in ControlQore, which handles the cost setup the report depends on. SPM prices it at $150 per $1M of revenue per month and pays for it on your behalf on Strategic and Platinum when you move to ours. The software is the smaller half of the work. The larger half is coding every work order at dispatch, and we build that process with you.

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.

CAN YOU TELL ME YOUR WORST FIVE AGREEMENTS?

It's twenty minutes of questions about your recurring agreements and what it costs you to service each one. No selling happens on the call and no proposal comes from it. If Josh can help, you'll book 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.