Most HVAC contractors can quote the exact tonnage of every unit they installed last month, but ask which service line carries the highest margin and you'll get a long pause (followed by a guess). Knowing your trade inside out and knowing your numbers are two very different skills.
That gap usually starts with a generic accounting setup that wasn't built for the way HVAC work actually runs. This guide covers the accounting setup, workflows, and common mistakes that separate HVAC contractors who know their margins from those who are guessing.
Why Generic Account Structures Miss HVAC Costs
When your chart of accounts treats a $15,000 installation the same as a $200 diagnostic call, your profit and loss report becomes useless for pricing decisions. A default QuickBooks Online setup lumps all revenue into one line and all costs into another, making it hard to compare service lines or spot where margins are leaking. Intuit publishes an HVAC template that solves this by separating revenue and costs into categories that match how HVAC businesses actually operate.
Income Accounts (4000 Series)
Split revenue into service calls (routine diagnostics and repairs), emergency service (after-hours and premium pricing), maintenance contracts (annual agreements), and installation revenue. If you serve both residential and commercial markets, separate those too. This separation matters because each line carries different labor mix, material spend, and pricing pressure.
Use Intuit's HVAC template as a starting point, then adjust to match your actual service menu.
Cost of Goods Sold (5000 Series)
Create separate COGS lines that reflect where your money actually goes on each job:
HVAC equipment: condensers, furnaces, air handlers
Replacement parts: compressors, capacitors, fan motors
Refrigerant: tracked alone for EPA Section 608 compliance and cost volatility from R-22 phase-out pricing
Materials and supplies: ductwork, copper line sets, insulation
Subcontractor costs: any labor you're farming out on installs or specialty work
Small components like line sets, mounting pads, and electrical wire can add hundreds of dollars to job costs and vanish from your margins when untracked.
Overhead and Operating Expenses (6000 Series)
HVAC businesses carry overhead categories other industries don't. Create dedicated accounts for these expense types:
Vehicle expenses: fuel, repairs and maintenance, commercial auto insurance, and loan interest
Licensing and certifications: state HVAC contractor licenses, EPA Section 608 certifications, and NATE certifications
General liability insurance: covers property damage risks from water leaks, refrigerant releases, and fire hazards
Professional liability insurance: covers design risks from improper system sizing and failed installations
Keeping general liability apart from professional liability matters because they cover fundamentally different risks, and blending them hides which exposure is actually costing you more.
Why You Lose Money Without Job Costing
You pull up last month's profit and loss report and see a healthy overall margin. Then you open your bank statement and the numbers don't match. Without job costing, every project's costs blend together and your reports show averages instead of answers.
Enable Projects and Class Tracking
QuickBooks Online buries its job costing tools behind a few settings that aren't turned on by default. Without them, every expense and invoice floats in your books without connecting back to a specific job or service type. Here's how to switch them on:
Navigate to Settings, then Account and Settings, then the Advanced tab.
Turn on "Organize all job-related activity in one place" under Projects.
In the Categories section, toggle on "Track classes" and enable the warning for unassigned transactions.
Create three primary classes: Service Calls, Installations, and Maintenance Contracts.
These four steps take about ten minutes and give every future transaction a home in your reporting structure.
Assign Every Transaction to a Project
Create a dedicated project for every installation and significant repair. Name them consistently: "Smith Install, 3-Ton AC" or "Johnson Furnace Repair, 2026-02-18." When you create any transaction (bill, expense, invoice, or time entry), assign both the customer project and the class.
This dual tracking lets you analyze individual job profitability while also comparing margins across service types. Large installations always get dedicated projects. You can track simple maintenance visits by class only. For maintenance contracts, create one project per customer for the contract period so cumulative costs stay visible against contract revenue.
How Manual Accounting Creates a Weekend Backlog
Receipts pile up in the center console. Invoices go out three days after the job wraps. By the time month-end hits, you're spending a full Saturday sorting through transactions you barely remember. A consistent workflow prevents that backlog.
Daily Tasks (30 to 45 Minutes)
Photograph every receipt with the QuickBooks Online mobile app the moment you get it. Review auto-categorized bank feed transactions and correct mismatches using bank rules you've set up for frequent HVAC vendors. Check that technician time entries are assigned to the right customer projects and tagged to the correct classes.
If your field service software connects to QuickBooks Online, most job data flows automatically from completed work orders to invoices. Your daily review confirms accuracy rather than entering data from scratch. Real-time expense tracking keeps your job costing current and your profitability reports honest.
Weekly Tasks (2 to 3 Hours)
Run an Accounts Receivable Aging report and follow up on anything past 30 days. Review expense categories to catch misclassified transactions. Pull a Project Profitability report for jobs completed that week and compare estimated costs against actuals. Reviewing job costs weekly rather than monthly lets you catch budget overruns before they compound.
Monthly Tasks (4 to 7 Hours)
Reconcile every bank account against your statements. Run a Profit and Loss by Class report to compare margins across service calls, installations, and maintenance contracts. Look ahead at the coming month, especially heading into shoulder seasons when revenue dips between heating and cooling demand.
Bookkeeping Mistakes That Eat Margins
Your QuickBooks reports say jobs are profitable, but your bank account disagrees. That gap usually traces back to a handful of errors HVAC contractors make more often than other trades.
Tracking Wages Instead of True Labor Cost
A technician earning $25 per hour actually costs closer to $35 to $38 per hour once you add payroll insurance costs, health insurance, and paid time off. If your QuickBooks Online service items use base wages as the cost rate, every job looks more profitable than it is.
Update each service item's cost field to reflect the fully burdened rate before you run another profitability report. If you haven't already, consider setting up a dedicated payroll bank account to track labor costs separately from other expenses.
Booking Customer Deposits as Revenue
When a customer pays a deposit on an installation, that money isn't earned yet. Recording it as income inflates your revenue and creates tax headaches. The cleaner approach: create a "Customer Deposit" invoice item linked to an "Unearned Revenue" liability account, then apply that deposit to the final invoice once the work is complete.
Skipping Overhead on Job Costs
Direct labor and materials aren't the full picture. Your trucks, insurance, shop rent, and licensing fees all support every job you run. Calculate an overhead rate (total overhead divided by total direct labor hours is one common method), then apply that rate consistently to every job.
Use QuickBooks Online Classes to track overhead by service type and review your allocation quarterly to keep rates accurate as your business evolves.
Why Double Data Entry Is Killing Your Productivity
Entering the same transaction twice, once in your field app and once in your accounting software, wastes hours you don't have during peak season. The fix is connecting the tools you already use so data flows once and lands in the right place.
Sync Your Field Service Software
Start with the highest-impact connection: your field service management software. Platforms like ServiceTitan, Housecall Pro, and Jobber sync completed jobs, invoices, and payments directly into QuickBooks Online. Contractors who set up these connections commonly report cutting more than half of their manual data entry. Next, connect your bank accounts so QuickBooks Online's bank feed feature imports and categorizes transactions automatically.
Match Your Banking Structure to Your Books
Those connections work best when your banking structure matches the account structure you've built in QuickBooks Online. If every deposit and expense lands in one undifferentiated checking account, you're still sorting manually. Relay lets you create up to 20 checking accounts1, so you can separate business accounts by purpose: one for materials, one for payroll, one for operating expenses, one for tax reserves.
Each account syncs to QuickBooks Online. From there, map those transactions to your chart of accounts and categories within QuickBooks Online so every deposit and expense lands in the right reporting bucket automatically. That turns bank reconciliation from a weekend chore into a quick confirmation.
1Relay is a financial technology company and is not an FDIC-insured bank. Banking services provided by Thread Bank, Member FDIC. FDIC deposit insurance covers the failure of an insured bank. Certain conditions must be satisfied for pass-through deposit insurance coverage to apply.
Capture Field Expenses Automatically
Receipt apps like Expensify connect directly to QuickBooks Online, extracting receipt data and recording expenses without manual entry. Each expense gets automatically categorized and assigned to the right project, so your technicians don't need to touch the accounting side at all. For teams with multiple technicians making purchases in the field, issuing employee spending cards tied to specific accounts gives you real-time visibility into every dollar spent without chasing receipts.
Put Your HVAC Books to Work
Without aligned banking and accounting structures, your reports start from a pile of unsorted transactions instead of clean data. The structure outlined here turns your QuickBooks Online reports into decision-making tools instead of month-end paperwork. Relay1 supports that structure by keeping your banking aligned with your books from the start, so every report reflects reality without extra sorting. HVAC contractors who want to take this a step further can explore the Profit First method for contractors to build profit allocation directly into their banking workflow.
The setup is a one-time push, and the ongoing discipline runs 30 to 45 minutes daily plus a few hours weekly and monthly. The payoff is knowing exactly which service lines earn money and which ones just look busy. Sign up for Relay to pair your accounting setup with a banking structure built for the same level of detail.
1Relay is a financial technology company and is not an FDIC-insured bank. Banking services provided by Thread Bank, Member FDIC. FDIC deposit insurance covers the failure of an insured bank. Certain conditions must be satisfied for pass-through deposit insurance coverage to apply.




