Back to the blog

September 16, 2026 · 9 min read

Bookkeeping for HVAC Companies: Equipment, Parts and Service Agreements

By 909 Bookkeeping

How to keep books for an HVAC company. Tie equipment, parts and service agreements to the job they belong to, and keep recurring revenue and one time work apart. Plain English from 909 Bookkeeping.

Trade illustration for this bookkeeping guideA flat illustration of a house with a furnace and a wrench, showing equipment and service tracked for an HVAC company.LEDGER

What HVAC books need to track

An HVAC company does three kinds of work. There are installs, where you put in a new furnace or air conditioner. There are repair calls, where you fix a unit that broke. There are service agreements, where a customer pays you a set amount each year to check and tune their system.

Each kind of work has its own costs and its own income. When the books mix them all into one pile, you can not tell which kind pays and which kind costs you. A clean month shows each kind on its own, with the costs and the income tied to the job.

A job uses parts, equipment, labor and sometimes a permit. Some jobs bill a flat rate. Some bill time and materials. Some bill a deposit up front and the rest at the end. Each piece needs its own line on the job.

Here is what a clean job looks like.

LineWhat it means
Equipment, job oneThe furnace or air conditioner billed to job one
Parts, job oneThe small parts and supplies billed to job one
Labor, job oneThe tech hours billed to job one
Agreement incomeThe yearly fee from a service agreement

When each line ties to the job, your profit per job is real. When the lines sit in one account, you are guessing.

How equipment and parts show up in your books

Equipment is the biggest cost on an install. The furnace, the air conditioner, the coil and the line set all come from a supply house. You get a bill for each pick up or delivery. That bill is a job cost.

Parts are the smaller costs on a repair call. A capacitor, a contactor, a thermostat or a pound of refrigerant. Each one is a job cost too, just smaller.

The clean way is to book each bill to the job it was bought for. The furnace goes to job one. The capacitor goes to job two. When the job is done, you can see what it cost to do it.

The messy way is to book the whole supply house bill to one parts account. Now job one looks cheap, job two looks cheap, and the real cost sits where no one can find it. You can not bid the next job right because you do not know what the last one cost.

Here is a simple way to keep equipment and parts straight.

  • **Match each supply house bill to the job: ** the bill shows the delivery address or the job name.
  • - **Split equipment from parts: ** a furnace is equipment, a capacitor is a part, and the two sit in their own lines.
  • - **Tag each line with the job number: ** so the total for the job is real at month end.
  • - **Reconcile the supply house statement to the bank: ** what you paid should match what cleared.
  • - **Add up the cost per job at month end: ** that total feeds your profit per job.

When equipment and parts sit by job, your profit per job is real. When they sit in one pile, you are guessing.

How service agreements sit in your books

A service agreement is a yearly fee a customer pays you to check and tune their system. Some pay it all at once. Some pay it in monthly pieces. Either way, the money comes in before most of the work is done.

That timing is what makes agreements hard to track. The cash lands today. The tune up visits happen later in the year. When the books book the whole fee as income on the day it comes in, your profit looks too high in that month and too low in the months you do the visits.

The clean way is to book the agreement fee to a service agreement income line, and to spread the income across the year as you do the visits. The parts and labor for the visits go to a service agreement cost line. When you do, your recurring revenue shows on its own, and the cost of the agreements shows on its own too.

Here is what to keep straight.

  • **Book the agreement fee to a service agreement line: ** not to general service income.
  • - **Spread the income across the year: ** as you do the visits, not all on the day the fee comes in.
  • - **Book the visit parts and labor to a service agreement cost line: ** away from one time repair work.
  • - **Tag each agreement to the customer: ** so you can see which agreements are active and which ones renew.

When agreements sit on their own lines, you can see whether they pay the company or cost the company. When they sit with one time work, the story is lost.

How to keep installs and repairs apart

An install is a big job with a big cost and a big invoice. A repair call is a small job with a small cost and a small invoice. The two should stay apart in your books.

When you mix them, the install profit looks lower than it is, because the repair costs drag it down. Or the repair profit looks higher than it is, because the install income props it up. You can not tell which kind of work to chase.

The clean way is to book installs to install lines and repairs to repair lines. Each kind gets its own income and its own cost. At month end, you can see the profit on installs and the profit on repairs, side by side.

Here is the rule.

  • **Installs go to install income and install cost: ** the furnace, the labor and the permit.
  • - **Repairs go to repair income and repair cost: ** the capacitor, the labor and the trip fee.
  • - **Service agreements go to their own lines: ** away from both installs and repairs.
  • - **A job that starts as a repair and turns into an install: ** gets split when the scope changes.

How to track profit per job

The whole reason to track work by job is to see what each job paid. You take the income for the job. You take out the equipment for that job. You take out the parts for that job. You take out the labor for that job. What is left is what that job paid you.

You do not need to get this exact to the penny every time. You need it the same way every month. When you look at a list of jobs and what each one paid, the pattern shows up. Some installs pay well. Some repair calls pay well. Some drain the company.

Here is a simple check you can run every month.

  • **Add up the income for each job: ** what you billed the customer.
  • - **Add up the equipment for each job: ** the furnace or air conditioner.
  • - **Add up the parts for each job: ** the small supplies.
  • - **Add up the labor for each job: ** the tech hours.
  • - **Subtract the costs from the income: ** what is left is what the job paid.

When you see it this way, the jobs that pay and the ones that drain stand out. That is the whole point of tracking work by job.

The month end close for an HVAC company

At month end, every job needs its costs added up. The equipment, the parts, the labor and the permits all pull together into one job total. The income for the job sits next to it. The difference is the profit for the job.

We start with the bank. We match each supply house bill to the bank payment. We match each customer payment to the bank. We tie each line to the job. Then we add up the job. We send you the profit and loss report and a balance sheet. The job totals sit inside the report.

Here is a simple month end check.

  • **Match the supply house statement to the bank: ** every bill cleared.
  • - **Confirm each line ties to a job: ** no orphan costs sitting in one parts account.
  • - **Add up the job total: ** equipment plus parts plus labor plus permits.
  • - **Compare the job total to the income: ** the gap is the profit per job.
  • - **Check the service agreement income: ** spread across the year, not all in one month.

A situation we clean up

The installs that looked like they lost money

An HVAC company runs six installs and many repair calls in a month. Every supply house bill lands in one parts account. Every customer payment lands in one income account. The service agreement fees land there too. At the end of the month, the books show one big pile of costs and one big pile of income. The owner can not tell whether the installs paid or the repairs paid, and the agreement income looks like it all came in one month.

Here is how we handle it. We pull the supply house bills for the month. We tie each one to the job it was bought for. We split the equipment from the parts. We move the repair calls to repair lines and the installs to install lines. We move the service agreement fees to their own line and spread the income across the year. When we are done, the owner can see the profit on installs, the profit on repairs, and the real income from agreements. The profit per job is real for the first time. We set up a rule so the next bill and the next payment land on the right job from the start.

Mistakes we fix

  • Supply house bills booked to one parts account with no job tag
  • Equipment and parts mixed in one line with no split
  • Service agreement fees booked as general income all in one month
  • Repair calls and installs mixed in the same income and cost lines
  • Customer payments booked to general income with no job tied to them
  • No reconciliation between the supply house statement and the bank

Common questions

Do I book a furnace to the job or to one parts account? To the job. The supply house bill shows the delivery address or the job name. Tag the line with the job number so the total for the job is real at month end.

How do I track a service agreement in my books? Book the fee to a service agreement income line, away from one time work. Spread the income across the year as you do the visits, and book the visit parts and labor to a service agreement cost line.

Should installs and repairs sit in the same lines? No. Book installs to install lines and repairs to repair lines. Each kind gets its own income and its own cost, so you can see which kind of work pays.

How do I see profit per job? Add up the income for the job, take out the equipment, parts and labor, and what is left is what the job paid. Run the same check every month and the pattern shows up.

Ready for books that close on time?

Free 20-minute call. We reply with a fixed quote within one business day.

Book a callCall