An HVAC job does not run from lead to invoice on one clock. It runs on two, and putting both in the same pipeline is the most common reason a profitable-looking shop cannot say where its money went.
The short answer
Track HVAC work as two pipelines with a documented fork between them.
Clock one is the demand call. Phone rings, truck rolls, diagnosis happens, repair is authorised and performed, invoice goes out from the driveway. Six stages, one day, and the only number that matters is how long a completed work order sits before it becomes an invoice.
Clock two is the replacement. Assessment, load calculation, options, financing, equipment allocation, permit, install, commissioning, inspection, invoice, registration. Eleven stages, three to six weeks, and the numbers that matter are quote age and stage-by-stage pull-through.
The fork sits between them. A technician on a demand call finds a failed compressor or a cracked heat exchanger, and that visit either produces a written replacement opportunity or it does not. That single transition is worth more than any other event in the business, and most shops cannot report on it because their software has one status field trying to describe both clocks at once.
Why one pipeline breaks an HVAC shop
Ask fifteen HVAC operators what they track jobs in and you get twelve different answers. A thread in r/HVAC asking exactly that returned ServiceTitan, Housecall Pro, Jobber, FieldEdge, ServiceDesk, FieldConnect, Payzer, Sawin and ESC Mobile, plus one reply that summarised the state of the industry better than any vendor page: "BCT&C. Big chief tablet and Crayola."
The tool is not the problem. The shape is. Every one of those platforms models a linear job by default, and an HVAC business is not linear.
Consider the office a working shop actually needs. An operator posting in r/HVAC described a four-technician company staffed with two dispatchers who answer roughly 85 percent of inbound calls and submit warranty authorisations daily, a production manager handling parts ordering, a general manager, and a separate person whose only job is permit paperwork on new installs. Six office roles supporting four trucks, because a replacement and a service call consume completely different administrative work. One needs parts and a same-day invoice. The other needs a permit, an inspection, a financing approval and a manufacturer registration.
Watch out
If your system has one pipeline, the replacement work quietly borrows the service pipeline's urgency and loses. Service calls are loud, dated and self-closing. A replacement quote is silent, and silence is what a shared pipeline optimises away.
Clock one: the demand call, measured in hours
Six stages, and the exit condition for each is what stops the job drifting.
| # | Stage | Owner | Exit condition |
|---|---|---|---|
| 1 | Call captured | Whoever answers | Lead source recorded, equipment address on file |
| 2 | Dispatched | Dispatch | Slot confirmed, diagnostic fee disclosed |
| 3 | Diagnosed | Technician | Findings and photos attached to the work order |
| 4 | Authorised | Technician | Written approval on the specific repair price |
| 5 | Repaired | Technician | Parts used and labour time entered before leaving site |
| 6 | Invoiced and paid | Technician or admin | Invoice sent from the driveway, payment attempted on site |
Stage 5 is where the money leaks, not stage 6. If parts and labour are not entered on site, the invoice gets rebuilt in the office from a photograph of a handwritten ticket, and every rebuild loses something. Whatever the technician forgot to write down is revenue you will never bill.
The metric is unbilled work order age: days between a technician marking a job complete and the invoice leaving your office. Pull the oldest one every Monday morning. If anything is past seven days, the handoff is broken. Note that this is a different problem from job costing after the fact, which is where a QuickBooks job costing setup earns its keep once the ticket data is actually clean.
The fork: when a repair becomes a replacement
This is the stage that does not exist in any software you can buy off the shelf, and it is the one worth building.
A technician on a maintenance visit or a diagnostic finds a compressor at end of life, a heat exchanger with a crack, or a fifteen-year-old system limping through its last summer. What happens next is a judgement call with real legal and ethical texture, and HVAC operators argue about it constantly. In a long r/HVAC thread on condemning cracked furnaces, one owner laid out their standing policy: "I encourage my technicians to give homeowners all of the information and make it clear that they recommend getting a new heat exchanger or furnace at their earliest ability and make it clear on the paperwork that the homeowner is aware, but we don't shut people down. The state I live in only the local utility can condemn a furnace."
Two things follow from that, and both are tracking requirements.
First, "make it clear on the paperwork" is a stage exit condition. The documented recommendation is the artefact that protects you and the artefact that creates the opportunity. It needs a field, not a note.
Second, the authority to red tag varies by jurisdiction, so your workflow has to encode which one you are in. A shop operating across a state line runs two different versions of this stage.
The metric is turnover rate: the share of diagnostic and maintenance visits that produce a written replacement opportunity. Most shops cannot state it. That is the finding, not the number. If nobody knows how many of last winter's failing heat exchangers turned into a quote, the same units are being rediscovered this winter by a competitor.
Off-the-shelf field service software models a linear job because that is what most trades have. If your shop is losing money at the fork between service and replacement, the fix is a stage that does not exist in the product you are paying for. Pavado builds custom CRMs around the workflow you actually run.
Clock two: the replacement, measured in weeks
Eleven stages. The three most shops have never modelled are 6, 7 and 10.
| # | Stage | Exit condition |
|---|---|---|
| 1 | Opportunity created | Failing equipment documented, decision maker identified |
| 2 | In-home assessment booked | Both homeowners scheduled, not just the one who called |
| 3 | Load calculation and selection | Manual J complete, matched equipment selected |
| 4 | Options presented | Good, better, best priced in writing with an expiry date |
| 5 | Agreement signed | Signed proposal and deposit terms on file |
| 6 | Financing approved | Approval reference and expiry date recorded |
| 7 | Equipment allocated and permit applied | Equipment reserved against this job, permit number on file |
| 8 | Install scheduled | Crew, equipment and permit all confirmed for the same date |
| 9 | Install complete and commissioned | Startup readings and serial numbers captured on site |
| 10 | Inspection passed | Municipal sign-off on file |
| 11 | Invoiced and collected | Cash received, registration queued |
Stage 3 deserves a note, because homeowners are getting louder about it. A San Diego homeowner in r/hvacadvice reported contacting five contractors for a roughly 20,000 dollar heat pump replacement and getting a Manual J load calculation from only two, with the rest offering "I've been doing this for 20 years." They leaned toward one of the two who produced the calculation, even though that contractor's proposed system was not their first choice. The document was the differentiator. Make a real calculation the exit condition and you win jobs on paperwork alone.
Stage 4 is where most tracking effort gets spent, and it is genuinely worth spending. MarginPlug's 2025 HVAC close rate benchmarks put the average residential presentation close rate at 65 to 75 percent with top performers at 82 to 88 percent, and make a point about the ones who say no: 30 to 40 percent of "not today" customers buy within 30 days, from whoever calls them back first. A "no" is a callback date, not a closed record.
Stage 10 is the one that silently holds cash. An install can be finished, commissioned and perfect, and still be uninvoiceable in practice because the municipal inspection has not happened and the homeowner is waiting for it. If inspection is not a stage with an owner, that job sits in a drawer.
Why an HVAC quote now has a hard expiry date
Every trade has stale quotes. HVAC is the only one where a stale quote became legally uninstallable overnight.
Under the EPA's AIM Act Technology Transitions Rule, manufacturing of new R-410A residential and light commercial equipment stopped on January 1, 2025, and as of January 1, 2026 new residential and light commercial installations must use a refrigerant with a global warming potential at or below 700. R-454B, with a GWP around 466, is the main replacement in ducted unitary systems in North America. Midea's 2026 contractor transition guide lays out the two dates and the tooling implications, and cites the EPA rule directly.
By the numbers
The 2025 Contractor of the Future Study, a survey of 1,000 HVAC contractors run in partnership with ACCA, found A2L readiness ranked as the number one product technical training need nationally, with the top concerns being lack of clarity on rules and codes, new tool purchases, ease of install and flammability.
For your pipeline, the consequence is narrow and concrete. Any proposal written in 2025 on R-410A equipment cannot be honoured as written. Any proposal sitting open right now needs to be checked against what your distributor can actually ship. That turns quote age from a soft sales metric into a hard operational field with three states: live, needs repricing, and dead.
Set an expiry date on every proposal at the moment it is issued. Thirty days is a defensible default in a market where equipment pricing, financing approvals and refrigerant rules all move. Let the system flip the status automatically rather than relying on someone remembering.
The invoice is the midpoint, not the finish line
Four things happen after the install invoice, and every one of them is money.
1. Manufacturer warranty registration. Registration windows run 60 days for Trane, American Standard, Lennox, Goodman and Amana, and 90 days for Carrier, Bryant, Rheem and Ruud. Miss it and the parts warranty drops from 10 years to 5. The Cooling Company's brand-by-brand registration guide tabulates the deadlines and notes that industry estimates put 20 to 30 percent of residential installs as never registered at all.
The cost lands on you, not the homeowner. PipelineOn's registration playbook reports that roughly 15 to 25 percent of denied HVAC warranty claims trace back to a missed window, and that who owns the task predicts the outcome: shops where the install technician is expected to register run 60 to 75 percent on time, while shops where a dispatcher batches registrations each morning run 95 to 100 percent.
So the stage is not "register the warranty." The stage is: the install cannot close without serial number, model number, install date and homeowner email, which drops the job into a queue a named office person clears daily and closes with a confirmation number.
2. Inspection sign-off. The stage most likely to be missing entirely. Permit number in, inspection result out.
3. Maintenance agreement attach. The install invoice is the highest-trust moment you will ever have with that homeowner. If the agreement is not offered as a line on that invoice, it gets offered in a colder moment or never. Track attach rate as a percentage of completed installs and of completed service calls separately, because they behave differently.
4. Deferred and declined repairs. Everything a technician recommended and the homeowner passed on. This is not a lost record, it is next quarter's work list, and it is the specific thing you should be calling in the shoulder season.
Tip
Add one field to your install record that no generic CRM has: the warranty registration confirmation number, with the registration deadline calculated from the install date. If there is nowhere to store it, someone is keeping it in a spreadsheet, and that spreadsheet is already wrong.
The five numbers that locate the leak
You do not need a dashboard. You need five numbers you can produce on a Monday.
| Metric | Definition | What a bad number means |
|---|---|---|
| Unbilled work order age | Days from job complete to invoice sent, oldest open | The field to office handoff is broken |
| Turnover rate | Diagnostic visits producing a written replacement opportunity | You are paying for visits and giving away the sale |
| Quote age | Days since proposal issued, oldest open | Nothing expires, so nothing gets chased |
| Registration on-time rate | Installs registered inside the OEM window | You will eat parts cost on a future callback |
| Agreement attach rate | Completed jobs producing a maintenance agreement | Every job is a first job forever |
If you cannot produce one of these in under ten minutes, that is the leak. Not the number itself, the fact that it is unavailable. The same logic applies upstream, which is why tracking where your leads actually come from is the first field on the first stage of clock one.
The seasonal calendar this runs on
HVAC pipelines are not steady state, and the tracking discipline should change with the season.
Lennox International's annual 10-K filing states it plainly: sales and segment profit tend to be seasonally higher in the second and third quarters because summer is the peak season for air conditioning equipment and services in the US and Canada, and the industry generally ships roughly twice as many units in June as it does in December. The filing defines the shoulder seasons as the periods between the roughly November through February heating season and the roughly May through August cooling season.
That two-to-one swing tells you what the pipeline is for at any given moment:
- Peak season. The pipeline exists to stop work leaking. Watch unbilled work order age and turnover rate daily. Volume is not the problem, capture is.
- Shoulder season. The pipeline becomes a work list. Every deferred repair, unsold quote, unregistered install and homeowner without an agreement is now a call to make.
A shop that only maintains its records when it is busy has nothing to work from when it is slow, which is precisely backwards.
Where this should actually live
Three honest options, and the right one depends on how much of the above you already do.
A general field service platform. Jobber, Housecall Pro, Workiz and similar handle clock one well and clock two adequately. They do not natively model registration deadlines, permit status or quote expiry, so you bolt those on as custom fields. Fine under roughly six trucks.
A vertical HVAC platform. ServiceTitan and its peers model more of clock two out of the box and price accordingly. Worth it when install volume, not revenue, has outgrown your current tool.
A custom layer over the tools you keep. The pattern that works is not one system, it is an unbroken chain: the field app writes into the office queue, and the office queue writes into the books. Three tools with real handoffs beat one platform nobody keeps current. That trade-off is covered in more depth in our comparison of CRM versus field service software for HVAC.
Whichever you pick, the test is the same: can it store a serial number, a registration confirmation, a permit number and a quote expiry date, and can it show you a list sorted by whichever of those is oldest?
The 30-day build
You do not need a migration. You need four weeks and a willingness to add fields.
Week 1. Write down your two clocks and their exit conditions. Not stage names, exit conditions: the single fact that must be true in writing before a job advances. Argue about them with your dispatcher, because they will be the one enforcing them.
Week 2. Add the four missing fields to the install record: permit number, inspection result, registration confirmation, agreement status. Make serial and model number mandatory to close an install.
Week 3. Build the fork. Add a replacement-opportunity outcome to every diagnostic and maintenance visit, with three states: quoted, recommended but declined, not applicable.
Week 4. Stand up the five reports and review them for fifteen minutes every Monday.
The checklist
- Two pipelines, not one, with separate stages and separate owners
- Parts and labour entered on site, invoice sent from the driveway
- A documented replacement recommendation on every diagnostic, including the declines
- Manual J and matched equipment attached to every replacement proposal
- A hard expiry date on every proposal, checked against current refrigerant rules
- Financing approval reference and its expiry stored on the job
- Permit number in, inspection result out, both as fields
- Serial number and model number mandatory before an install can close
- A daily registration queue owned by one office person, closed with a confirmation number
- Maintenance agreement offered on the install invoice, attach rate tracked
- Deferred repairs kept as a work list, called in the shoulder season
- Five numbers reviewed every Monday
An HVAC job that reaches the invoice is not finished. It is halfway. The shops that compound are the ones whose system knows that.
