Why Wheaton HVAC owners can't say how last week actually went
2026-09-21 · 6 min read
It is a Tuesday in the first hot week of June. You have four trucks out, the board is full by nine, and you are on a no-cool call off Roosevelt Road yourself because one of your techs called in sick. At 6:40 that evening the office texts you: "Crazy day. Phones didn't stop."
That text is the whole report. The rest of the day is spread across tools that never talk to each other. The phone system knows how many calls rang out while the office was on another line. The field app knows which jobs got run and what they billed. QuickBooks knows what got paid. The replacement conversations your techs had in attics live in their heads. So "how was the week" gets answered with a feeling, and the real answer shows up when the accountant closes the quarter.
What running on a feeling costs
The biggest leak never appears in any report. Unless your phones are wired into your field software, it can only count the jobs that made it in. A caller who hit voicemail during the Tuesday rush, left no message, and booked with the next name on Google never became a job, so the busiest day of the month looks great on the dashboard. The busier the day, the more calls ring out and the less the dashboard can tell you.
Replacement leads slip away the same way. A tech fixes a capacitor on a condenser older than the homeowner's kids and says "you'll want to start thinking about this one." That might be the most valuable sentence anyone on your payroll says all week, and nothing records it. You can't see how many repair calls turned into that conversation, how many got an estimate, or which tech brings them back and which one fixes and leaves.
Then the big calls get made blind. Adding a fifth truck, keeping the after-hours line, paying for a lead source, putting a second person on the phones next July: those decisions ride on the busiest weeks, which are the weeks nobody sits down to count. They end up made from memory of how tired everybody was.
The office gets graded by text message, too. From the truck, a dispatcher who booked nearly everyone who called looks the same as one who let a third of them go.
What the week looks like when it counts itself
Most of the work is agreeing on the six to eight numbers you would act on. Once those are set, the system pulls them together and puts them in front of you Monday morning, and nobody exports anything.
- The usual list: calls in, calls answered, callers who became booked jobs, jobs run per tech, average repair ticket, replacements flagged, estimates sent and sold, and callbacks for the same problem within thirty days.
- Missed calls get counted properly. The system matches the phone log against callers, so someone who rang three times and then booked counts once, as won. A number that got voicemail and never came back counts as lost. In most shops that line doesn't exist anywhere today.
- Techs flag a replacement at the truck with one tap or a thirty second voice note: how old the system is, what they saw, what they told the homeowner. The flag follows the job through the estimate to won or lost.
- Data comes from tools you already pay for. Some field software only opens its data to outside systems on certain tiers. Housecall Pro, for one, makes its API available only on the MAX plan. Where there's no API, a scheduled report email into a mailbox the system reads each morning works fine.
- Monday at 7 a.m. you get one page with last week, the week before, what moved, and a split by tech. The office gets its own copy with the booking rate on it, so whoever runs the phones can see their work.
- You choose what interrupts you midweek. If missed calls pass a number you set before noon, you get a note while there's still time to put someone on overflow. An estimate that sits unsent for three days gets named.
| Moment | How it goes now | With the system |
|---|---|---|
| How the week went | A text that says "crazy day" | One page Monday morning |
| Calls that rang out | Invisible to the field app | Counted, matched to who called back |
| Replacement conversations | In the tech's head | Flagged at the truck, followed to won or lost |
| Heat wave overflow | Found out Friday | A note by noon the same day |
| The office's work | Graded by feel | Booking rate on its own page |
| Adding a truck | Decided from how tired everyone was | Decided against a year of the same numbers |
I have built this kind of thing for other trades. A pool service company I work with tracks every lead from the first call through the finished job, and a mortgage professional gets scored leads delivered on a schedule. Underneath, both do what this report does: pull data from where it already sits, count it the same way every time, and send it to the person who has to decide something.
What stays with you
Reading the page stays with you. A low booking rate on the day a temp covered the phones is a different problem from a low booking rate every Tuesday, and the page can't tell them apart.
So does the conversation with the tech. The page can show that one tech flags half as many replacements as the others. It can't know that tech's route is mostly newer subdivisions where the equipment is eight years old. How you use that number matters more than the number itself. A shop that ranks techs on replacement flags and leans on the bottom of the list is one bad month away from techs condemning equipment with five good years left. You decide whether that happens, in the shop.
Emergency calls still go straight to a person. The report will count the no-heat calls in January, but someone on your team answers every one of them.
When this is not worth building
If you run two trucks, answer the phone yourself, and can recite last week's numbers from memory, you don't need this, and I'll tell you so in the first ten minutes. If your field software already has a dashboard you open every Monday, the missing piece is probably just the missed-call count, which is a much smaller build.
When it is worth it, builds start at $500 one time, then a flat monthly from $99 after an included run-in period, cancellable. More on the HVAC page and on how I work with businesses around Illinois. If missed calls are the part that stings, this post on missed calls in the trades goes deeper.
Where to start
The first step is a free 20 minute process audit. We take one busy week from this past summer, set your call log next to your job list, and count how many callers never became jobs. If a Monday page would have changed a decision, I'll tell you what it costs to build. If not, you keep the count. Start here.