Most HVAC bookkeeping advice online is generic small-business advice with "HVAC" inserted into the title. This isn't that. This is the full picture of what bookkeeping actually looks like for an HVAC contractor, from the chart of accounts up through tax structure, written from the inside of doing this work for HVAC clients specifically. Use the table of contents to jump to what you need, or read straight through.
In this guide
Generic bookkeeping software ships with a generic chart of accounts, revenue, cost of goods sold, expenses, with no distinction between an install, a service call, and a maintenance agreement. For an HVAC business, that's the difference between books that tell you something useful and books that just tell you a total.
A chart of accounts built for HVAC separates revenue into at least three lines: installs, one-time service calls, and maintenance agreements, each with its own cost of goods sold structure underneath (equipment and refrigerant for installs, parts and dispatch cost for service, deferred delivery cost for agreements). Overhead, office rent, insurance, admin salaries, gets allocated separately from field labor and materials, so a job's true margin isn't diluted or inflated by costs that have nothing to do with that specific job.
This structure is also what makes tracking categories in Xero meaningful later. If the chart of accounts doesn't already separate revenue by job type, adding tracking categories by truck or technician on top of it just produces more granular versions of the same blended, unhelpful number.
Job costing means tracking revenue and cost at the level of an individual job, truck, or technician, not just the business as a whole. For HVAC specifically, this usually means answering three questions every month: which trucks are actually profitable, which technicians are running efficient calls versus long ones with high callback rates, and which job types (install versus service versus maintenance) are carrying the business.
The mechanics: every invoice gets tagged with a tracking category for the truck or crew that performed the work, and cost, labor hours, materials, dispatch time, gets allocated to that same tag. Once a few months of data accumulate, patterns become visible that are invisible at the company-wide level: a truck with unusually high warranty callback costs, a technician whose average job takes longer than the schedule allows for, a job type that looks fine in aggregate but is actually being subsidized by another.
See the full breakdown in our dedicated job costing page, including a worked example showing exactly how a $8,000 install job breaks down to a 32% margin once labor, materials, and overhead are properly allocated.
Maintenance agreements are where HVAC bookkeeping most commonly gets it wrong. A customer pays $300 upfront for a year of bi-annual tune-ups, and the temptation is to book the full $300 as revenue the day it's collected. That overstates the month it's collected and understates every month after, since the actual service, two visits spread across the year, hasn't been delivered yet.
The correct treatment records the $300 to a deferred revenue liability account, then recognizes a portion as earned revenue each month (or at each service visit, depending on how granular you want to get) across the agreement term. This keeps monthly P&L numbers honest and, just as importantly, makes it possible to actually evaluate whether your maintenance agreement pricing covers what it costs to deliver, technician time, dispatch, and the discount typically built into the agreement price relative to a one-off service call.
HVAC revenue is seasonal almost everywhere, heavy in the cooling season, lighter in shoulder months, with regional variation depending on climate. A 90-day rolling cash flow forecast, built from known receivables, upcoming payroll, and historical seasonal patterns, is what turns "we'll figure it out" into an actual plan for the slow months. This matters most for owners financing equipment purchases or carrying multiple trucks, where a bad quarter without a forecast can turn into a real cash crunch rather than a manageable dip.
Most HVAC contractors run ServiceTitan or Housecall Pro for dispatch and invoicing, and both sync with Xero for invoices, payments, and customer records. Neither one delivers job costing automatically, that still requires the chart of accounts and tracking category setup described above, built to match how your field software structures jobs.
For the full mechanics of each integration and a head-to-head comparison, see our breakdowns: ServiceTitan and Xero, Housecall Pro and Xero, and ServiceTitan vs. Housecall Pro for bookkeeping purposes specifically.
HVAC payroll typically mixes hourly field techs, overtime during busy season, per diem or drive-time pay in some shops, and 1099 subcontractors for overflow work, all of which need to be tracked and filed correctly and separately. Misclassifying a sub as an employee (or vice versa) is one of the more expensive mistakes an HVAC owner can make, both in back taxes and in the administrative mess of correcting it after the fact. See our dedicated payroll page for how employees and subs are handled differently, including overtime and per diem during busy season.
Once an HVAC business is consistently profitable, typically somewhere in the $60,000 to $80,000 net income range, electing S-Corp status can meaningfully reduce self-employment tax by splitting owner compensation between a reasonable salary and distributions. This isn't automatic or right for every business, and it adds payroll administration for the owner, but it's worth evaluating once profit crosses that threshold rather than assuming a sole proprietorship or default LLC taxation is still optimal.
Service trucks are one of the largest deductible expenses for an HVAC business, but mileage and vehicle-expense tracking has to be done correctly and consistently, mixing the standard mileage rate with actual-expense-method deductions on the same vehicle in the same year is a common, avoidable mistake that can draw IRS attention.
Trucks, tools, and installed equipment held as company assets depreciate over time, and Section 179 or bonus depreciation rules can allow a large equipment purchase to be deducted in the year it's placed in service rather than spread over several years. Whether that's the right call depends on the specific tax year and the business's overall income, which is a conversation with a CPA, not a bookkeeper, but the bookkeeping has to track the asset correctly either way for that conversation to be useful.
Both platforms handle basic bookkeeping fine. The differences that matter for HVAC specifically: Xero's tracking categories are generally more flexible for the truck-by-truck, job-type-by-job-type breakdowns HVAC job costing needs, and its native integrations with ServiceTitan and Housecall Pro are clean. QuickBooks has a larger user base and more third-party app integrations overall, and some contractors stick with it simply because their CPA already works in it. Neither is objectively wrong, but if you're setting up from scratch specifically for job costing by truck and technician, Xero's structure tends to get there with less workaround.
How much does HVAC bookkeeping typically cost?
At 911 Bookkeepers, plans run $297 to $1,247 per month depending on volume and complexity — see the full pricing breakdown. Rates vary by firm and scope elsewhere.
Do I need job costing if my business is small?
Job costing matters at any size, but it becomes essential once you're running more than one truck or hiring beyond yourself, since that's when an underperforming truck or job type starts hiding inside company-wide numbers that still look fine on the surface.
Can I do HVAC bookkeeping myself with QuickBooks or Xero?
Yes, for a solo operator with straightforward service work, DIY bookkeeping is workable if you're disciplined about it. It gets harder to do well once maintenance agreements, multiple trucks, or 1099 subs enter the picture, which is usually the point where the time cost of doing it yourself exceeds the cost of a bookkeeper who already knows the trade.
What's the difference between a generalist bookkeeper and an HVAC-specific one?
A generalist bookkeeper will reconcile your accounts correctly but likely won't set up job costing by truck, separate maintenance agreement revenue, or know what a ServiceTitan sync does and doesn't deliver, because those aren't generic bookkeeping concepts, they're specific to how HVAC businesses actually make money.
Jeremy Brewer is the founder of 911 Bookkeepers LLC in Baton Rouge, Louisiana. He worked in the field as an HVAC tech before building books for the trades, and he serves as a licensed paramedic in EMS. He is a Xero Certified Advisor.
Book a free 30-minute financial checkup and find out exactly where your business stands.