Notes/Jun 2026
Jun 2026·8 min·Colby

A commercial HVAC company runs on break-fix. The phone rings when a unit fails and a tech goes out to fix it. Then the relationship goes quiet until the next failure, and the company re-earns the account one emergency at a time. The contract that would smooth all of it out is sitting in the company's own call history, uncounted.

Break-fix is a treadmill

A service company that lives on break-fix starts every month near zero. The trucks roll and the work is good, and none of it carries forward, because a customer with a working unit has no reason to call. Growth means hoping for more emergencies, which is a strange thing to root for, and the revenue swings with the weather and with luck.

The preventive maintenance contract is the way off the treadmill. It turns a customer who calls when something breaks into an account that pays every month and calls less, because the point of the plan is to catch the failure before it happens. Predictable revenue on one side, fewer 2 a.m. calls on the other.

The pipeline is the service history

The customers who should be on a maintenance plan are not a mystery. They are the ones already calling. A building that has had the same rooftop unit serviced four times this year is telling the company plainly that it needs a plan, and so is the property manager with three separate emergency invoices on file. The list of best maintenance-plan prospects is the company's own service log, sorted by how often each customer calls.

That list never gets pulled. The dispatcher closes the ticket and moves to the next call, the invoice goes out, and the pattern across a customer's year lives nowhere anyone looks. The owner remembers a few of the worst repeat callers and offers them a plan over coffee, and the rest stay on break-fix because no one counted.

Why the offer never goes out

Even when a company knows a customer calls a lot, the maintenance offer competes with the work. The person who could pitch the contract is dispatching trucks and chasing parts, and selling a plan is a deliberate conversation that needs preparation, so it loses to whatever is on fire today. The follow-up after a big repair, the natural moment to say this would have been cheaper on a plan, passes while the tech is already on the next job.

So the contract that would steady the business stays a someday project, and the company keeps re-earning the same accounts one failure at a time.

What a system changes

The build reads the service history and surfaces the accounts that earn a maintenance offer: the customers above a call-frequency or spend threshold, ranked. For each one it drafts the pitch grounded in that customer's own record, the four visits this year and the unit that keeps failing, and queues it for a person to review and send. The pipeline that was buried in invoices becomes a working list.

The company stops relying on the owner's memory of who calls a lot. The offers go out on the cadence the data sets, right after the repair that proves the point, instead of whenever someone finds a free hour.

Before you build it

Two things have to exist first. Service history tied to the customer and the equipment, so call frequency is something the system can count rather than something a dispatcher half-remembers. And a defined maintenance offer, meaning what the plan includes and what it costs the company to deliver, because a system cannot pitch a contract the company has not written down.

Start by pulling every customer with three or more service calls in the last year. That list is the contract pipeline the company already earned and never worked.

More notes
Jun 2026·8 min
Off-the-shelf or custom: when janitorial software stops fitting
Off-the-shelf cleaning software is the right call for most operators, right up until the workflow that wins the company its accounts is the one thing the tool will not do. Here is how to tell which side of that line you are on.
Read →
Jun 2026·8 min
Field service quoting: the estimate that leaves days after the tech does
A tech diagnoses the repair on-site, then the quote waits days while someone prices it, and the urgent customer calls the next company. Here is where field service quoting leaks.
Read →
Jun 2026·8 min
Why commercial cleaning accounts churn in month four
An account that paid on time and never escalated cancels in one email. The misses were small and nobody tracked them, so the first warning was the last one. Here is where janitorial retention leaks.
Read →
Jun 2026·9 min
The staffing margin: set once in the bid, eroded all year
An agency wins a placement on a bill rate set by gut, then watches the spread shrink through overtime, missed rate increases, and hours that never get billed. Here is where staffing margin leaks.
Read →
Jun 2026·9 min
The facilities maintenance bid: priced on the schedule, bled by the call-outs
A property maintenance company bids the preventive schedule cleanly, then drowns in reactive calls nobody priced. Here is where the margin leaks before the contract is signed.
Read →
Jun 2026·9 min
Proving the clean: commercial cleaning QA before the client complains
Clients judge a cleaning vendor on the one thing they notice, not the forty things that went right. Here is where quality control breaks down and what a system catches before the client does.
Read →
Jun 2026·9 min
Night coverage: how commercial cleaners lose a site before anyone notices
Crews clean thirty buildings a night across a city. When one cleaner no-shows, the gap is invisible until the client emails at 8 a.m. Here is where coverage breaks and what holds it.
Read →
Jun 2026·8 min
Why commercial landscaping companies lose track of job costs, and what it takes to see margin per contract
Crew hours sit in the timesheet app. Material costs sit in the bookkeeping ledger. Equipment hours sit on a log in the truck. None of them connect to the contract number, so the margin story is always three months old.
Read →
Jun 2026·8 min
How staffing agencies close payroll when the client timesheet and the worker's record disagree
The worker's hours sit in one place. The client's signed timesheet sits in another. Until both agree, neither payroll nor the invoice can close.
Read →
Jun 2026·9 min
How to audit a commercial cleaning operation for workflow gaps
The quoting log, the payroll close, and the prospect pipeline each signal a different kind of operational drag. Here is what to look for in each.
Read →
Jun 2026·8 min
How facilities teams track open work orders across properties (and where jobs go quiet)
The request came in. The vendor got dispatched. Then nothing. Where work order tracking breaks down at ten properties, and what it takes to fix it.
Read →
Jun 2026·8 min
How janitorial operators price contracts (and where the number goes wrong)
The math closes in an afternoon. The inputs are the hard part. Here is where underbidding starts and how to make the pricing logic repeatable.
Read →
Jun 2026·8 min
Why the RFP response is already late before anyone starts writing
BD found the opportunity. The deadline is in ten days. Most of that window goes to locating the right answers and confirming they are still current, before a word gets written.
Read →
Jun 2026·8 min
Where field service hours disappear before payroll runs
Workers clocked in. The shift happened. By Friday the coordinator is cross-referencing three sources and calling supervisors because the numbers do not add up.
Read →
Jun 2026·9 min
The commercial cleaning bid: why it still takes three days
The walkthrough takes 45 minutes. Getting a number to the prospect takes three days. Here is where the time goes.
Read →
May 2026·11 min
How to audit a services business for automation
A practical way to find the workflow bottlenecks worth fixing before anyone starts building with AI.
Read →
Mar 2026·8 min
Why we ship two projects, not five
How we score 30 ideas down to the two that move revenue this quarter.
Read →
Feb 2026·12 min
What we hand off when we leave
A runbook your team uses without us. Here is what it covers and how we test it before we go.
Read →
Jan 2026·15 min
Six engagements, one pattern
Where $1M to $50M services businesses lose revenue, and the fix that held.
Read →