Running an HVAC or plumbing company means you're already managing inventory, technicians, dispatch, warranties, service agreements, and callbacks. Bookkeeping is the last thing you want to deal with.
But the financial side of a trade business is different from a retail store or a consulting firm. Job cost tracking is more complex, parts move through jobs, and the seasonal cash flow swings hit harder. A generic bookkeeping setup misses most of that.
Why Trade Businesses Need More Than Basic Bookkeeping
Most generic bookkeeping setups treat all businesses the same. Track income. Track expenses. Done.
HVAC and plumbing companies have complexity that approach misses:
- Jobs can span multiple days or weeks
- Parts and materials vary wildly by job type
- Technician labor needs to be tracked at the job level
- Warranty callbacks cost real money but don't generate revenue
- Service agreements create prepaid income that needs to be recognized correctly
- Seasonal revenue swings create cash flow challenges
If your bookkeeping doesn't account for these specifics, your financial reports won't reflect what's actually happening in the business.
The Core Things to Track
Job-Level Costs
Every HVAC or plumbing job has materials, labor, and sometimes subcontractor costs attached to it. These need to be tracked at the job level, not just lumped into broad expense categories.
Use QuickBooks Online's Projects feature to assign income and expenses to individual jobs. Pull the Project Profitability report monthly to see which job types are your strongest performers and which ones are dragging your margins down.
A lot of HVAC companies find that small service calls are more profitable per hour than large equipment installs once they run the numbers. That changes how you price, how you schedule, and which work you go after.
Parts and Materials Inventory
If you stock parts in your vans or warehouse, you have inventory. Inventory is an asset on your balance sheet, and when you use a part on a job, that cost needs to move from inventory to cost of goods sold.
Many trade businesses handle this informally, which creates inaccurate job costing and distorted profit numbers. QuickBooks Online has basic inventory tracking. For higher-volume shops, a field service platform that integrates with QBO (like ServiceTitan or Housecall Pro) handles this more precisely.
Labor by Job
Technician labor is usually your second-largest cost after materials. If you're not tracking hours by job, you can't calculate your actual labor cost per job and your job costing is incomplete.
At minimum, your technicians should clock in and out by job. That lets you see which techs are running long, which jobs are eating time, and whether your flat-rate pricing is actually covering the hours being worked.
Service Agreement Revenue
If a customer prepays for an annual maintenance plan, that money is not all earned on the day you receive it. It should be recognized over the service period. In accounting terms, when you receive the money, it goes to a liability account (Deferred Revenue). Each month, a portion gets recognized as income.
This matters because if you treat all prepaid service agreement revenue as immediate income, your monthly financials will be distorted. Months with a lot of renewals will look great. Months without them will look artificially bad.
Warranty Callbacks
When you go back to fix something for free, it costs you labor and sometimes parts, but you don't bill anything. This needs to be tracked. It shows up in your expenses but not your revenue.
If your callback rate is high, your job costs will look elevated with no corresponding revenue to offset them. A good bookkeeper flags this pattern so you can dig into whether it's a training issue, a parts quality issue, or something else.
The Reports That Matter Most
Monthly P&L
Look at gross margin by service line if possible (install vs. service vs. maintenance). A declining gross margin is usually the first sign that labor or material costs are getting out of hand.
Project Profitability Report
Review this monthly in QBO. Filter by job type to see average margins across equipment installs, service calls, drain jobs, and so on.
Accounts Receivable Aging
Trade companies often deal with net-30 or net-45 terms with commercial clients. The AR aging report shows you who owes you money and how long they've owed it. If you have a lot sitting in the 60-plus day column, your cash flow will be tight even if you're profitable on paper.
Cash Flow Statement
Important if you carry inventory or do large installs before receiving final payment. The cash flow statement shows you the actual movement of money, not just the accounting entries.
The Software Stack That Works
For most HVAC and plumbing companies in the $500K to $5M revenue range, this setup works well:
- QuickBooks Online for core accounting and reporting
- Housecall Pro, ServiceTitan, or Jobber for dispatch, scheduling, and job management (with QBO integration)
- Ignition for client agreements and payment collection
- Financial Cents for internal workflow tracking (your bookkeeper's side)
The key is having your field software and QBO synced so jobs created in the field show up in your books without manual double-entry.
What Good Bookkeeping Actually Looks Like for a Trade Business
Good bookkeeping for an HVAC or plumbing company isn't just reconciling bank accounts. It's:
- Closing the books monthly with a complete P&L and balance sheet
- Tracking jobs at the project level
- Flagging cash flow risks before they become problems
- Helping you understand your gross margin by job type
- Making sure your sub payments and 1099s are handled correctly
- Giving you the numbers you need to make smart decisions about hiring, pricing, and growth
At KWK Books, we work specifically with trade contractors in Austin. We know the cost structure, the seasonality, and the job-level tracking that makes these businesses run clean.
Ready to get your books under control? KWK Books works with home service businesses in Austin. Clean books, clear decisions, no jargon.
Book a Free Discovery Call