(443) 600-8990Get a free consultation
  1. Home
  2. Blog
  3. Heating and cooling
Heating and cooling

Install vs. service margins: how to see which one actually pays

A step-by-step guide for HVAC owners to set up QuickBooks Online so install and service profitability are visible every month, not guessed at.

Install vs. service margins: how to see which one actually pays

September 30, 2026 · Mitt Patel · 5 min read

You just closed a $9,000 install and ran four service calls this week at $220 each. At the end of the month, your bank balance looks fine. But if someone asked you which of those jobs actually made you money, could you answer without guessing?

Most HVAC owners can't, and it's not because they're careless. It's because their books were never set up to separate the two.

Why this happens

In most small HVAC shops' QuickBooks Online files, every sale goes to one income account, something like "Services" or "Sales." Every invoice, whether it's a full system install or a $220 tune-up, lands in the same bucket. So does every cost tied to it, if costs get tracked at all.

That setup gives you one number at the end of the year. It's not fine for running a business day to day. When install and service revenue blend together, a few bad habits creep in:

  • You price installs based on what competitors charge, not what they cost you after equipment, permits and labor.
  • You keep sending techs on service calls assuming they're profitable, when in some months they're barely covering payroll.
  • You can't tell if a slow month is a service problem, an install problem, or both, so you can't fix the right thing.
  • You chase every install lead without realizing service work may carry the better margin.

A worked example

Say your shop had a month like this:

Install jobs (2 total):

  • Revenue: $18,000
  • Equipment and parts: $10,000
  • Install labor: $3,000
  • Install profit: $5,000, about 28% of install revenue

Service calls (20 total):

  • Revenue: $4,400 (20 calls at $220 average)
  • Parts: $600
  • Service labor: $1,800
  • Service profit: $2,000, about 45% of service revenue

Total revenue for the month: $22,400, and gross profit before overhead: $7,000. If all of that sits in one income account, that's all you'd see, and you'd think business is decent.

But look closer. Service work returned a higher margin percentage than installs this month, even though installs brought in about four times the revenue. If you didn't know that, you might keep pushing install leads and treating service calls as filler work for slow weeks. The numbers say the opposite might be smarter, at least this month.

This is the answer the Profit and Loss by Class report gives you, once it's set up. No spreadsheet, no manual sorting through invoices.

How to set it up in QuickBooks Online

  1. Turn on class tracking. Go to Settings, then Account and Settings, then Advanced. Under Categories, turn on "Track classes." Set it to warn you if a transaction has no class, so nothing slips through.
  1. Create two classes: Install and Service. Keep it simple at first. You can add more later (like Maintenance Agreements) once the basics are working.
  1. Set up separate items for equipment, parts and labor. In Settings, go to Products and Services. Create items such as:
  • Equipment (furnaces, condensers, air handlers)
  • Install parts and materials
  • Install labor
  • Service parts and materials
  • Service labor

Map each item to an income account and, where you track it, a cost of goods sold account. This is what lets you see gross margin by job type, not just revenue.

  1. Assign a class to every invoice and bill. When you invoice a customer, pick "Install" or "Service" at the line level or the whole-transaction level, depending on whether a job mixes both. Do the same when entering bills for equipment purchases, parts, and subcontracted labor.
  1. Run payroll with classes in mind. If your payroll system supports it, tag technician hours by class so install labor and service labor land in the right bucket. If it doesn't sync automatically, a simple monthly journal entry splitting payroll by hours worked on each type of job will get you close enough to be useful.
  1. Run the Profit and Loss by Class report monthly. Go to Reports, search for "Profit and Loss by Class," and run it for the month. You'll see Install and Service side by side, with their own revenue, costs and profit.

Mistakes that undo it

  • Leaving transactions unclassified. If class tracking isn't required on every entry, some invoices and bills will slip through with no class, and your report will show an "unclassified" column that quietly eats your accuracy.
  • Lumping equipment and labor into one item. If "Install" is a single line item with one price, you can't tell whether a job's margin came from labor efficiency or from marking up equipment. Separate items matter.
  • Skipping the payroll split. Labor is often the biggest cost in both install and service work. If it all posts to one class by default, your margins will look distorted, usually flattering the wrong category.
  • Forgetting mixed jobs. Some visits include both a repair and a small upsell, or a maintenance visit that turns into a part replacement. Decide ahead of time how you'll split those, even if it's a rough rule like "service unless it involves new equipment."
  • Setting it up once and never checking it. Classes and items need to stay current as your service list or install packages change. A setup from two years ago may not reflect how you price jobs today.

Monthly checklist

  • Confirm every invoice and bill from the month has a class assigned.
  • Run the Profit and Loss by Class report and compare install and service margins.
  • Check that payroll costs were split or estimated by class.
  • Look for any "unclassified" revenue or expenses and fix the source.
  • Compare this month's margins to the prior month or the same month last year, if you have that history.

Common questions

Do I need separate bank accounts for install and service?

No. Classes work within your existing accounts. You're tagging transactions, not moving money into separate accounts. One checking account is fine.

What if a job has both install and service work on it?

Split the invoice by line item and assign each line its own class. If that's too much detail for a particular job, pick the category that reflects most of the work and stay consistent with that rule going forward.

Can I track individual technicians instead of just install versus service?

Yes, though it depends on what you're trying to learn. Classes can be set up by technician, by crew, or by job type. Install versus service is a good place to start because it answers the biggest question first; add more detail later if it's useful.

How far back can I set this up?

You can turn on class tracking anytime, but it only applies going forward unless you go back and reclassify old transactions. Starting clean from the current month is usually more practical than reworking history.

North Hudson Bookkeeping helps HVAC owners set this up and keeps the classes and items current as pricing and job types change, so the Profit and Loss by Class report stays something you can rely on. The first call is free.

Want this handled for you?

Monthly bookkeeping from $500 a month: every account reconciled, clear reports and a short summary each month. Book a free 20-minute call or call (443) 600-8990.

Get a free consultation

Talk to MittCall or text (443) 600-8990 · or book a free consultation
Free consultationFree callCallTextWritten quoteQuote