Bookkeeping for HVAC Companies
Books that know an install from a service call: job costing by service line, service agreements recognized as earned, truck stock that ties out, and a cash plan that survives the shoulder season.
A guide by Taxstra Tax & Accounting · CPA-led tax strategy for business owners
Written by Bryan Martin, CPA, Managing Partner and Founder of Taxstra. Last updated July 17, 2026.
An HVAC company's P&L can look healthy while the install division loses money on every changeout and a year of prepaid maintenance sits misbooked as current income. Generic bookkeeping averages those problems into one tidy number. HVAC bookkeeping splits them apart: margin by service line, revenue recognized when earned, inventory that ties to the vans, and a cash plan built around a demand curve that swings with the weather.
Why HVAC Bookkeeping Is Its Own Discipline
Two businesses in one company, plus a warehouse on wheels
Every HVAC company is at least two businesses wearing one logo. Install work is project-based: quoted jobs, equipment purchases, sometimes progress billings, margins won or lost on estimating accuracy. Service and maintenance work is transactional and recurring: high volume, small tickets, margins driven by technician efficiency and truck utilization. Blend them in one revenue account and both sets of decisions go blind.
Then add the complications: maintenance agreements collected up front but earned over a year, parts inventory scattered across a warehouse and every van, equipment deposits and supplier terms, and a revenue curve that can double between April and July. The bookkeeping either models those realities or quietly misstates the business every month.
We build HVAC books to answer the operator's questions: which service line made money, what did that install actually cost, how much of the agreement base is still unearned, and how long the cash lasts if the weather stays mild. The same structure hands the tax side clean numbers for the strategies on our HVAC tax deductions guide.
A Chart of Accounts Built for HVAC
The accounts a template file does not have, and why each exists
Representative accounts we set up for HVAC clients, beyond the standard set every business needs:
| Account | Why it exists |
|---|---|
| Install / replacement revenue | Project revenue, separated so install margin is measurable on its own |
| Service and repair revenue | Demand-call revenue, the high-margin line worth protecting |
| Maintenance agreement revenue | Recognized as earned from the deferred balance, not as collected |
| Deferred service-agreement revenue (liability) | Cash collected for future visits; the obligation you still owe customers |
| Equipment COGS | Condensers, furnaces, air handlers purchased for jobs; the biggest single cost line |
| Materials and parts COGS | Line sets, fittings, refrigerant, consumables relieved from inventory to jobs |
| Direct labor, by service line | Technician wages allocated to install vs service; the heart of job costing |
| Subcontractor costs (crane, electrical, controls) | Outside trades on installs, costed to the job that used them |
| Permits and inspection fees | Job-specific compliance costs that belong in job margin, not overhead |
| Truck stock inventory (asset) | Parts riding in vans; counted periodically so materials margin is real |
| Warranty labor and parts | Rework tracked separately; rising warranty cost is a quality alarm, not noise |
| Equipment deposits from customers (liability) | Customer money held before installs; not revenue yet |
| Vehicle costs, per van where practical | Fuel, repairs, insurance by unit; feeds replacement and pricing decisions |
| Refrigerant purchases and cylinder deposits | Regulated, expensive, and worth tracking separately from generic supplies |
| Marketing by channel | Lead cost per channel against jobs booked; season-dependent spending needs its own visibility |
The rule behind the list: any number that prices a job, manages an obligation, or triggers a decision gets its own account. Everything else can stay simple.
Job Costing by Service Line
Install margin and service margin are different numbers
Job costing on installs assigns equipment, materials, direct labor, subcontractors, and permits to each job, producing a gross margin per install that can be compared against the estimate. The comparison is the point: estimating error is the most common reason profitable-looking HVAC companies run out of cash, and it only surfaces when actuals meet quotes job by job.
Worked example (hypothetical, illustrative round numbers)
A shop quotes a residential changeout at $12,000, expecting $4,800 of equipment, $1,200 of materials, and $2,400 of labor: a planned 30% gross margin ($3,600). The job-cost report shows actuals of $5,100 equipment (price increase never passed through), $1,500 materials, and $3,000 labor (a second day nobody recorded against the quote). Actual margin: $2,400, or 20%.
One job, a 10-point margin miss. Across 120 installs a year at similar size, that gap is roughly $144,000 of vanished profit, invisible on a company-wide P&L that still shows "a decent year." Job costing exists to catch the pattern by the third job, not the hundredth. Illustrative numbers; your mix will differ.
Service work is costed differently: not per ticket, but per line, tracking labor efficiency (billed hours against paid hours) and average ticket. The books support both without forcing either into the other's mold.
Service Agreements: The Deferred Revenue Most Books Get Wrong
Prepaid maintenance is a liability until you earn it
Maintenance agreements are the best asset an HVAC company builds: recurring revenue, smoother demand, first call on replacements. They are also the item most often misbooked. Cash collected in March for a year of visits is not March income; it is an obligation. On accrual books it sits in a deferred revenue liability and moves to income as the agreement period runs or the visits happen.
Getting this right changes management decisions, not just presentation. The deferred balance tells you how much future work is already sold and priced; the recognition schedule shows whether spring tune-up capacity is committed before demand season; and the renewal rate against a real agreement base is the growth metric that matters most. Booked as instant income, all three signals vanish.The tax treatment of advance payments follows its own rules and can differ from the book treatment; that is a deliberate conversation with the tax side, not an accident of data entry.
Truck Stock and Inventory Control
A warehouse on wheels leaks money quietly
Between the shop and the vans, a mid-size HVAC company can have tens of thousands of dollars in parts, and every van is an uncontrolled stockroom. The bookkeeping failure mode is expensing everything at purchase: materials margin becomes fiction, technicians install parts that never hit an invoice, and nobody can say what a service call actually costs in materials.
Our approach is proportionate, not corporate: parts purchases run through inventory, usage is relieved to jobs through the field service platform's item tracking, and truck stock gets a periodic cycle count to true the books. The monthly package then shows a real materials margin and a shrinkage number. Shrinkage that trends up is either a billing discipline problem or a parts control problem; both are fixable once they have a number attached.
Not sure what your installs actually earn?
A free initial consultation looks at your current books, your agreement accounting, and what job-level margin would reveal.
Book a Free 30-Minute ConsultationSeasonality and the Cash Flow Plan
July funds February, if the books plan it that way
HVAC demand tracks the thermometer. Peak cooling or heating season can produce double the revenue of the shoulder months, while payroll, insurance, rent, and truck payments arrive every month at full price. The businesses that struggle are rarely unprofitable over the year; they are illiquid in the trough because peak-season cash left the building as it arrived.
A Typical HVAC Revenue Year (Illustrative)
Illustrative pattern for a cooling-dominant market. The bookkeeping job is making sure the July peak funds the February payroll, and that agreement revenue is recognized as earned, not when collected.
The monthly package includes a rolling cash view built for that curve: fixed-cost coverage in weeks, collections aging, the deferred-agreement floor, and a simple peak-season set-aside target so the trough is pre-funded. Seasonality also drives tax timing: quarterly estimated payments sized to a flat year will be wrong in both directions for a seasonal business, and equipment or van purchases are best timed with both the cash curve and the depreciation rules in view.The annualized income method exists for exactly this pattern; we coordinate it with the tax side so the estimates follow the season instead of fighting it.
KPIs and the Monthly Close
What we measure, and when you get it
| KPI | What it tells you |
|---|---|
| Gross margin by service line | Whether installs, service, and maintenance each earn their keep |
| Job margin vs estimate (installs) | Estimating accuracy; the earliest warning on pricing |
| Billed-hour efficiency | Billed hours over paid technician hours; the labor productivity number |
| Average service ticket | Pricing and upsell health on demand work |
| Agreement base and renewal rate | Size and stickiness of the recurring floor |
| Deferred revenue coverage | Unearned agreement balance vs monthly fixed costs; shoulder-season runway |
| Revenue per truck per day | Fleet utilization; a parked van is pure fixed cost |
| Materials margin and shrinkage | Whether truck stock is billed, or leaking |
The cadence: accounts reconciled, the field service platform tied to the ledger, inventory and deferred revenue rolled forward, and the financial package (P&L, Balance Sheet, Cash Flow) with the KPI layer delivered by the 20th of the following month. Year-end hands the tax side a clean file: fixed assets and vehicles scheduled, inventory counted, agreement liability stated, payroll reconciled. The engagement structure follows our standard outsourced bookkeeping model, with the HVAC layer on top; behind books get a scoped catch-up project first.
Is This a Fit for Your Shop?
Who the monthly engagement serves best
This service is built as a recurring monthly engagement. It fits best when:
- You run an HVAC company with technicians in the field, roughly 2 to 25 trucks, doing a mix of install and service work.
- Transaction volume is steady enough that a real monthly close matters: jobs, agreements, inventory purchases, payroll, and equipment financing every month.
- You sell (or want to sell) maintenance agreements and need them accounted for correctly.
- You want job-level and service-line margins on a schedule, not a year-end guess.
- You want the books and the tax plan handled by one firm, so equipment timing, entity decisions, and estimated payments are coordinated.
A one-person operation with a handful of transactions a month is usually better served by a simpler setup plus a strong annual tax engagement until volume grows. To gauge where you land, run your numbers through the bookkeeping cost calculator, browse bookkeeping for small business for the general engagement, or bring your situation to a free initial consultation.
Frequently Asked Questions
HVAC bookkeeping, answered
Get Books That Match How Your Shop Runs
A free initial consultation covers your service lines, your agreement base, and what a monthly close engagement would look like for your company.
Book a Free 30-Minute Consultation