HVAC Business Expense Tracker

HVAC Business Expense Tracker

Equipment, parts and service-call mileage captured as you spend — so you can tell whether the busy season actually paid, while it is still happening.

Start Free — Scan Gmail for Receipts →

60-day free trial · No credit card

The HVAC year is not twelve equal months

Quick answer: how does an HVAC business track expenses?

Capture the spend where it actually happens — at the supply-house counter and in the supplier emails — instead of reconstructing it months later. ExpenseBot reads emailed supplier, equipment and subcontractor receipts out of Gmail on a nightly scan and reads vendor, date and amount from photographed counter tickets, then writes each one into a categorized Google Sheet in your own Google Drive. Because equipment, parts, mileage and the incoming payment can all be tagged to the same job, you can see profit per install or per maintenance plan rather than one annual total that averages your peak season away.

Cooling season, heating season, and the quiet stretches in between: revenue and spend both spike and both fall away. That is ordinary for the trade, and it is exactly what makes annual bookkeeping unhelpful. A single year-end figure tells you the business made money. It does not tell you whether the fortnight when every unit in town failed at once was profitable, or whether the overtime, emergency supply runs and rush-priced equipment ate the difference.

The only way to answer that is to have the costs captured with enough detail, and attached to enough context, that you can look at the season on its own. Which mostly means capturing them at the time — because nobody rebuilds a July of counter tickets in the following March.

Equipment and parts, captured as you buy them

HVAC spend arrives in two forms and ExpenseBot handles both. The paper ticket you walked out of the supply house with: photograph it from your phone and the vendor, date and amount are read off the picture. The emailed supplier, material, equipment-rental and subcontractor invoices: those are found for you.

You connect Gmail once and a nightly scan reads the receipt and invoice emails already sitting there — extracting vendor, date, amount and category, and writing each as a row in a Google Sheet with the original email kept behind it as documentation. It labels what it has already read so nothing is counted twice, and it never sends email and never deletes anything.

There is no integration with any particular supply house and none is needed — the mechanism is the receipt itself, whoever sent it. That means a counter account at a local wholesaler works exactly the same as a national chain, and switching suppliers mid-season changes nothing about your books.

Service-call mileage without a GPS app

A service day is a chain of short drives, and short drives are the easiest deduction to lose. ExpenseBot reads the job addresses in your Google Calendar and estimates the drive distance between them at your country's mileage rate — IRS in the US, CRA in Canada, HMRC in the UK. No background GPS app draining a phone that is already running your day.

Be clear about what that is: because it works from calendar entries rather than recorded drives, the distances are estimates. That suits a scheduled service route with addresses in the calendar. If you want a recorded per-drive log, that is a different kind of tool. The mileage tracker overview covers how this works and what the current rates are.

Estimates — confirm with your tax professional.

Profit per install, and profit per maintenance contract

Tag equipment, parts, mileage and the payment that comes in to the same job — by customer, address or job number — and the costs roll up against what the job billed. HVAC has two shapes and they fail in opposite directions, which is why one number for the whole business hides both.

A single high-ticket install

One equipment line dominates everything else. The margin is decided before a tool comes off the van, by what the unit cost against what it was quoted at — so a quote written weeks earlier against a price that has since moved is the thing to catch. The small stuff (fittings, refrigerant, the second trip for a part) is easy to dismiss individually and is exactly what turns a thin quote into a loss.

A recurring maintenance plan

The opposite problem: no single cost is big enough to notice. It is many small visits — filters, consumables, an hour on site, the drive there and back — spread across a year against a price agreed once at the start of it. Whether the plan is worth running is a question you cannot answer without adding up every visit, which is precisely the arithmetic nobody does by hand.

Same mechanism for both: the per-job view puts revenue next to materials, mileage and other costs. Profit by client takes the same idea up a level when one customer spans several jobs.

Install, service call, maintenance plan — where the money goes

Job shapeWhat it costsWhere the spend is capturedWhat "profit per job" means here
One-off installEquipment (the dominant line), refrigerant and fittings, permit fees, crew hours, deliverySupplier invoice by email; equipment order confirmations; photographed pickup ticketsOne job, one billed amount — the equipment line usually decides the margin
Service callParts off the van, refrigerant, mileage between calls, occasional emergency supply-house runPhotographed counter receipts; emailed parts invoices; Calendar-derived mileage estimatesSmall tickets where mileage and time are a large share of the cost
Maintenance planFilters and consumables, repeat visits across the year, mileage per visitEmailed consumable orders; per-visit mileage; parts tagged to the same customerCosts only visible once every visit is rolled up against the plan's price

A big equipment purchase: expensed now, or written down?

This one catches HVAC businesses more than most trades, for a simple reason: the equipment is expensive. A replacement unit, a recovery machine, a vacuum pump, a van — these are the purchases where the answer stops being obvious.

What decides it is a threshold rule: below a certain value a purchase is generally treated as an expense in the year you bought it, and above it, it is capitalised and written down over several years instead. The threshold, and the rules around it, vary by country and change over time — which is exactly why this page does not print a number. High-value HVAC equipment frequently sits close enough to the line that it is worth asking rather than assuming.

What an expense tracker can do is make sure the purchase is captured, categorized and still findable — with the original invoice attached — when your accountant asks which side of the line it fell on. Deciding the treatment is their job.

Estimates — confirm with your tax professional.

Seeing the season while it is still happening

Because income is tracked alongside expenses, what you have at any point is a running profit-and-loss built from what has actually been captured — not a projection, and not a model. It is a record, kept current. The value in a seasonal trade is that "current" means you are reading the peak during the peak instead of six months after it, when the decisions it should have informed have already been made.

Keeping it honest through a busy stretch is mostly a capture-hygiene problem, and it is worth two minutes at the ends of a season:

Before the peak starts

  • Gmail connected, so supplier and equipment invoices are captured without anyone remembering to
  • Job addresses going into the calendar as you book them — that is what the mileage estimate reads
  • Tags set up for the jobs and customers you already know are coming

Before it ends

  • Photograph the counter tickets still sitting in the van — they are the ones that go missing
  • Check that the big equipment purchases landed with their invoices attached
  • Make sure payments received are tagged to the jobs they paid for, so the roll-up is complete

Clean books at year end

Everything lives in a categorized Google Sheet in your own Google Drive. You own it, you can open it without ExpenseBot, and you keep it if you ever leave — there is no export to request because the ledger was never held anywhere else.

When it is time to file, share the sheet, or push expenses to QuickBooks Online or Xero, or generate an import file for Sage 50 and Sage Intacct. Accountants and bookkeepers use ExpenseBot free, so yours can work directly in it. The same workflow framed for the wider trade is on the contractor expense tracker page, there is a roofing version if you also run roofing work, and the income and expense tracker covers the structure itself.

Capture this season while you are in it

Connect Gmail and ExpenseBot reads your supplier and equipment receipts into a categorized Google Sheet in your own Drive — $10/month, 60-day free trial, no card to start.

Start free — no credit card, 60-day trial

Frequently asked questions

Can I see whether my busy season actually made money?

Yes. Because ExpenseBot tracks income alongside expenses, you get a running profit-and-loss you can read during the season rather than after it — built from what has actually been captured. That is the difference between knowing in August and finding out the following April, when an annual total has already averaged the peak away.

How do equipment purchases get handled?

They are captured like any other expense, from a photographed supply-house receipt or an emailed one. Whether a large purchase is expensed this year or written down over time depends on threshold rules that vary by country and by year — that is a question for your accountant, not for an expense tracker. Estimates — confirm with your tax professional.

Does it track profit on a maintenance contract as well as a one-off install?

Yes — tag the visits, parts and mileage to the same customer or job, and the payments against it, and ExpenseBot rolls the costs up against what was billed. The two shapes behave differently: an install is usually one big equipment line, while a maintenance plan is many small visits whose costs only become visible once they are added up.

Do I need a GPS tracker for service calls?

No. Distances are estimated from the job addresses in your Google Calendar at your country's mileage rate, with no background GPS app. Because it works from calendar entries rather than recorded drives, the distances are estimates — confirm them with your tax professional.

Does ExpenseBot schedule or dispatch my techs?

No. ExpenseBot captures and organises spend and income; it is not a dispatch or field-service management system. If you already run scheduling software, this sits alongside it and deals with the money side.

Does it connect to my HVAC supply house?

There is no direct integration with any supply house, and it does not need one. If the supplier emails you a receipt or invoice, ExpenseBot reads it out of Gmail on its nightly scan. If you walked out with a paper ticket, photograph it and the vendor, date and amount are read from the photo.

What happens to my records if I stop using it?

The Google Sheet is in your own Google Drive, so it stays with you — still categorized, openable with no ExpenseBot account. You are not asking anyone for an export.

Does this work for a one-van operation as well as a small crew?

Yes. The workflow is the same either way; the difference is volume. The per-job tagging matters more as soon as you have enough jobs running at once that you cannot hold which one cost what in your head.