Guides
How to Use Notion for an HVAC Company: Service Calls and Equipment
Learn how to set up Notion for an HVAC company with sites, equipment records, service calls, maintenance agreements, and invoices, plus PDF service tickets
By Sanat Biswal · 2026-10-31 · 5 min read
{/ synced-from-notion — do not edit manually /}
An HVAC company’s busiest days are its hottest and coldest ones.
The phone rings with a dead air conditioner on the first heat wave of the year, a furnace that quit overnight, a customer who says the unit was serviced last spring but can’t remember by whom.
Dispatch, history, and parts all have to come together in a few minutes, and most small shops hold that in a whiteboard, a shared inbox, and one dispatcher’s memory.
Notion can hold it in one place. This guide is for owner-operators and small HVAC companies that run a few technicians and a mix of repairs, installs, and maintenance agreements.
It follows a customer from the first call to the invoice and the next maintenance visit.
It shows how to set up leads, sites, equipment, service calls, technicians, and payments, how to keep a record for every piece of equipment, and how to turn records into PDFs such as service tickets, estimates, and equipment reports.
It also covers safety records and customer privacy. It is general information about organizing a business, not legal, technical, or safety advice.
HVAC work is regulated in most places, with rules on licensing, permits, gas and electrical work, and refrigerant handling, so check what applies where you work.
Quick Answer on how to use Notion for HVAC Company:
To use Notion for an HVAC company, create linked databases for Leads, Sites, Equipment, Service Calls, Technicians, and Payments.
Give every unit its own equipment record with its install date, warranty, and service history. Let formulas show warranty status, equipment age, and when maintenance is due.
Record every service call with the same short template: the reported problem, the diagnosis, the work done, and the recommendation. Flag emergencies that are waiting too long and callbacks that need review.
Put the key facts in report-ready fields, so a service ticket or an estimate PDF takes minutes.
Notion works well for HVAC because the work centers on equipment that lasts years. A site has equipment, equipment has a service history, and each call adds to it.
A rollup finds the last maintenance date, a formula adds the interval to get the next one, and another formula turns an install date and a warranty length into a coverage status.
Notion isn’t a live dispatch system, a GPS tracker, a payment tool, or a replacement for the records your regulator requires. It doesn’t send reminders by itself, so it works best beside your phone, your calendar, and your payment tool.
For documents customers receive, you can export a page as a PDF or generate one from a template.
Table of Contents
What Notion Can and Can’t Do for an HVAC Company
Notion is good for:
- Tracking inquiries, estimates, and bookings.
- Keeping sites, equipment, and service history in one place.
- Showing warranty status, equipment age, and maintenance due dates.
- Recording what was found and done on every call.
- Flagging emergencies that are waiting and callbacks that need review.
- Creating consistent service tickets, estimates, and invoices.
- Live dispatch or GPS tracking.
- Online booking with live availability.
- Taking payments.
- Automatic reminders to customers or technicians.
- Replacing licensing, permits, or the records your regulator requires.
- Know your record rules. Many places require licensed technicians, permits for certain work, and records of refrigerant purchased, added, and recovered. Find out what applies to you and how long you must keep records.
- Record safety findings clearly. If a technician finds a gas leak, a carbon monoxide problem, a cracked heat exchanger, or an unsafe electrical condition, write down what was found, what was done, and what the customer was told. Follow your safety procedures and local rules on shutting equipment off and notifying the customer. Notion records the event. It doesn’t replace the procedure.
- Never store access codes. Keep gate codes, alarm codes, and key locations out of Notion. Share them by phone or another secure method.
- Keep personal details minimal. Record what you need to serve the customer. If a customer mentions a medical need for heating or cooling, use a simple flag such as “Priority: occupant health” and not a medical history.
- Photos belong in secure storage. Link to nameplate and condition photos from the call, and delete them as your policy says.
- Payment details such as card numbers should never be stored in Notion.
- Leads stores people who’ve asked for help. Add these properties: Name, Phone, Email, Source, Request Type (Repair, Maintenance, Install, or Quote), Urgency, Status (New, Estimate Sent, Booked, Lost, or Not Now), Last Contact, and Notes.
- Sites stores each customer location. Add: Site Name, Customer Name, Address, Site Type (Home, Shop, Office, or Other), Agreement (a checkbox), Agreement Plan, Agreement Start Date, Priority Flag, Equipment (relation), and Notes.
- Equipment stores each unit. Add: Unit Name, Site (relation), Type (Furnace, Air Conditioner, Heat Pump, Boiler, Mini Split, or Other), Make, Model, Serial Number, Install Date, Warranty Years, Expected Life (years), Maintenance Interval (months), Last Maintenance (a rollup), Warranty Expiry (a formula), Age (a formula), Maintenance Due (a formula), and Status (Active, Replaced, or Removed).
- Service Calls stores each visit. Add: Site (relation), Equipment (relation), Technician (relation), Requested At, Call Date, Type (Emergency, Repair, Maintenance, Install, Inspection, or Callback), Priority, Status (New, Scheduled, On Site, Done, or Follow-up Needed), Reported Problem, Diagnosis, Work Performed, Parts Used, Recommendations, Labor Hours, Labor Rate, Parts Cost, Trip Fee, Invoice Total (a formula), and Maintenance Date (a formula).
- Technicians stores your people. Add: Name, Phone, License Number, License Expiry, Certifications, and Notes. A rollup of linked Service Calls shows who’s working when.
- Payments stores money in. Add: Service Call (relation), Site (relation), Amount, Due Date, Paid On, Method, Status (Due, Paid, or Late), and Paid Amount (a formula).
- By site: all units for one location, for the technician on the way.
- Replacement review: units with the flag, grouped by site, for proactive estimates.
- Warranty ending: units whose warranty ends in the next 90 days, so you can offer an inspection or an agreement.
- Today: calls today, grouped by technician and sorted by time.
- Board: a board grouped by Status, so the dispatcher sees the whole day.
- Escalate: calls with the flag, at the top of the dispatcher’s page.
- Follow-up needed: calls where the work isn’t finished, such as waiting for a part.
- Reported problem: what the customer said, in their words
- Findings: what the technician saw and measured, in plain language, with readings if your process records them
- Diagnosis: the cause, or the likely cause if it needs confirming
- Work performed: what was done, in order
- Parts used: each part, with a part number if you have one
- Refrigerant: type and amount added or recovered, exactly as your rules require
- Safety notes: anything found, done, or told to the customer
- Recommendations: what the customer should consider, such as repairs, replacement, or maintenance
- Next step: follow-up date, parts on order, or nothing further
- Photos link: a link to secure storage
- Maintenance due: units with the Due Soon flag, grouped by equipment type, so you can book all the cooling checks together in spring and the heating checks in fall.
- Overdue: units with the flag, so no agreement customer is missed.
- Agreement sites: units at sites with an agreement, sorted by due date.
- Service tickets or work orders: the date, the technician, the problem, the work done, parts, and recommendations
- Estimates and proposals: the options, prices, what’s included, and how long the price is valid
- Invoices and receipts. Notion Receipt Template shows how to structure a receipt.
- Maintenance agreements: scope, visits, price, and terms, with wording checked by someone qualified
- Equipment reports: the unit, its age, warranty, history, and condition, for a customer, a landlord, or a property sale
- Maintenance checklists and inspection reports: what was checked and what was found
- Commissioning or handover sheets for new installations
- Customer after-visit summaries: what was done and what to watch for
- Create your template with your company name, your license details, your logo, and your layout.
- Add placeholders in double curly braces where the data should go, such as
{{Site_Name}}or{{Work_Performed}}. - Make sure each placeholder matches the name of a Notion property.
- Start the document with a Notion database button or a status property.
- Ready to Generate creates a PDF from the database record.
- Generate Page converts the Notion page into a PDF.
- Generate PDF and Doc creates a PDF and a Google document.
- Preview creates a Google document so you can check it before making the final PDF.
- Generate E-Signed Doc creates an e-signed PDF in the database workflow.
- Give technicians access only to their own calls, or send them a job sheet instead.
- Keep pricing, margins, payments, and revenue in views that only the owner can open.
- Keep technician license numbers and personal details visible only to those who need them.
- Never give customers access to the workspace. Send each customer only their own PDFs.
- Keep access codes, card details, and health information out of Notion.
- Remove access on the day someone leaves.
- Review who has access every few months.
- How to Use Notion for a Pest Control Business
- How to Use Notion for a Moving Company
- How to Use Notion for Contractors
- Notion Receipt Template
Notion is not made for:
If you already use a phone system, a calendar, a payment tool, and an approved system for regulated records, treat Notion as the working layer beside them. Link to the official record where one exists, and don’t assume a Notion page satisfies a legal requirement.
Safety, Compliance, and Privacy
HVAC technicians work with gas, electricity, refrigerants, and heights, in people’s homes and businesses.
Rules differ by country, state, and trade, so check what applies to you. While you are testing, use made-up customers.
Use of 6 Databases
Start with these 6 databases. You can add more later, such as Parts, Quotes, or Permits.
A relation connects a record in one database to a record in another. Link Equipment to Sites, and link Service Calls and Payments to both Sites and Equipment.
Now a unit’s page shows its age, its warranty, and every call it has had, and a site’s page shows all its units together.
Equipment Records: One Page per Unit
The most useful thing an HVAC company can know is the history of the unit in front of the technician. An equipment record makes that a ten-second lookup.
Create one Equipment record per unit, and fill in the nameplate details on the first visit: make, model, serial number, and install date if known. Photograph the nameplate and link the photo from the record.
On Equipment, add these formulas:
Warranty Expiry: dateAdd(prop("Install Date"), prop("Warranty Years") 12, "months")
Warranty Status: if(dateBetween(prop("Warranty Expiry"), now(), "days") >= 0, "In warranty", "Expired")
Age (years): floor(dateBetween(now(), prop("Install Date"), "days") / 365)
Replacement Flag: if(prop("Age (years)") >= prop("Expected Life") - 2, "Review for replacement", "")*
A unit installed in 2019 with a ten-year warranty is covered until 2029, and a unit that is 13 years old with a 15-year expected life is flagged for a conversation about replacement.
Treat the flag as a prompt and not a verdict, because a well-kept older unit can run for years. Check manufacturer warranty terms before you tell a customer a repair is covered, since many warranties depend on registration, installation, and maintenance records.
Make these views of Equipment:
Service Calls: From Request to Dispatch
A call comes in. Within a few minutes you need to know who the customer is, what equipment they have, how urgent it is, and who can go.
Create a Service Call with the site, the equipment, the reported problem, and the priority, and set the status to New. If the caller is a new customer, create the lead first and convert it. Then assign a technician and a time, and set the status to Scheduled.
Add one flag on Service Calls to keep emergencies from waiting:
Escalate: if(or(prop("Status") == "New", prop("Status") == "Scheduled") and prop("Priority") == "Emergency" and dateBetween(now(), prop("Requested At"), "hours") >= 2, "Escalate", "")
It shows any emergency that has been waiting two hours without a technician on site. Change the number to match the response time you promise. Make sure Requested At holds a date and a time.
Make these views of Service Calls:
Notion isn’t a live dispatch tool, so keep your phone and messaging for real-time contact, and use Notion to record what was agreed.
> 💡 Pro Tip: Ask for the equipment’s make, model, and age before you dispatch. A technician who arrives knowing the unit and its history, and carrying likely parts, can often fix it in one visit.
The Service Call Template
Every call should leave the same short record. Build it as a Service Call template, so a technician fills in the same fields every time, and the ticket is ready when they finish.
Keep it short enough to complete on a phone:
Write specific, plain notes. “Capacitor failed, replaced, unit now cooling, recommend replacing the 14-year-old condenser within two years” is useful. “Fixed AC” is not.
The customer will read the ticket, and so might the next technician, an inspector, or an insurer.
Add a formula so maintenance visits feed the equipment record, since a plain rollup can’t filter by type and status:
Maintenance Date: if(prop("Status") == "Done" and prop("Type") == "Maintenance", prop("Call Date"), empty())
On Equipment, roll up Maintenance Date from Service Calls using the latest date, and call it Last Maintenance.
Estimates and Replacement Options
Customers with an old unit often need to choose between a repair and a replacement. A clear estimate helps them decide, and it protects you if they later dispute the price.
For repairs, add the labor, the parts, and the trip fee to the call. On Service Calls:
Invoice Total: prop("Labor Hours") prop("Labor Rate") + prop("Parts Cost") + prop("Trip Fee")*
Here is a made-up repair. Amounts are in your own currency.
| Item | Value |
|---|---|
| Labor | 2 hours at 95 = 190 |
| Parts (capacitor and contactor) | 140 |
| Trip fee | 79 |
| Invoice total | 409 |
Add text properties for each option and a property for the option the customer approved. Don’t promise savings or comfort you can’t support, and follow the rules on how you can describe efficiency and costs where you work. Check whether the work needs a permit, and note it.
State clearly on every estimate how long it’s valid and what could change the price, such as hidden conditions or code upgrades.
Maintenance Agreements and Seasonal Scheduling
Maintenance agreements smooth out the seasons. A customer who pays for a spring cooling check and a fall heating check keeps you busy in the slow months, and gives you a chance to catch problems before they become emergencies.
On Sites, mark which have an agreement, and on Equipment, set the maintenance interval in months. Then add:
*Maintenance Due: dateAdd(prop("Last Maintenance"), prop("Maintenance Interval"), "months")
Overdue Flag: if(prop("Status") == "Active" and dateBetween(now(), prop("Maintenance Due"), "days") > 0, "Overdue", "")
Due Soon Flag: if(prop("Status") == "Active" and dateBetween(prop("Maintenance Due"), now(), "days") >= 0 and dateBetween(prop("Maintenance Due"), now(), "days") <= 30, "Due in 30 days", "")*
For units that have never had a maintenance visit, the due date is blank, so give new equipment a first-visit date, or filter them into a separate view.
Make these views of Equipment:
Group the due list by neighborhood or postcode before you book, to cut driving time.
Contact agreement customers before the season starts, because the week the first heat wave arrives, nobody can book them.
Callbacks and Warranty Work
A callback is a customer saying the problem is back after a repair. Handled well, it builds trust. Handled badly, it ends the account.
Record a callback as a Service Call with the type Callback, linked to the same equipment. Look at the earlier call: what was diagnosed, what was replaced, and what you told the customer. If the same fault returns, the original diagnosis may have been wrong, or a related fault may exist. If it’s a different fault, say so clearly and explain why.
Be clear about which kind of cover applies. Your own workmanship terms, a manufacturer’s parts warranty, and an extended warranty are different things, and each has conditions. Check the terms before you tell a customer a visit is free.
Make a view called Callbacks with every call of the type Callback, grouped by equipment.
If one unit appears often, review it before the next visit. A pattern may mean a deeper problem, a customer who needs a replacement conversation, or a technician who needs support.
Invoices and Payments
Most HVAC work is billed per job. Write the terms in your agreement, and use Notion to track them.
For each call, create a Payment record with an amount and a due date. Notion can’t sum only the paid payments with a plain rollup, so use a helper formula on Payments:
Paid Amount: if(prop("Status") == "Paid", prop("Amount"), 0)
Add a late flag:
Late flag: if(prop("Status") == "Due" and dateBetween(now(), prop("Due Date"), "days") > 0, "Late", "")
A view called Payments due shows what’s coming and what’s late. Payments happen in your payment tool, and you update the status in Notion when the money arrives.
For larger jobs, such as a replacement, you may take a deposit and a final payment, so create a record for each. Follow your agreement’s terms, and be clear and kind in any reminder. Tax rules differ by country, so check what applies to you. Notion Receipt Template shows how to structure a receipt.
Your Business Numbers
An HVAC company has a few numbers worth watching. Here is a made-up quarter.
| Item | Value |
|---|---|
| Service calls completed | 150 |
| Callbacks | 9 |
| Callback rate | 6% |
| Agreement customers | 120 |
| Annual agreement price | 180 |
| Agreement revenue per year | 21,600 |
| Emergency calls | 20 |
| Reached within target | 18 |
| Emergency response rate | 90% |
A rising callback rate can point to a diagnosis problem, a parts problem, or a technician who needs support. A low response rate in summer may mean you need more capacity or better scheduling.
Also watch the time between a request and the first visit, the share of calls fixed on the first visit, how many agreement customers renew, and where leads come from.
A small sample can mislead, so treat these as guides. They leave out parts, fuel, wages, insurance, and tax, so check the full figures with an accountant. Test every formula with made-up numbers and check it with a calculator.
A Monday in July for a Small HVAC Company
To see how the pieces fit, here is one made-up Monday during a heat wave.
7:00 am. The dispatcher opens the Board view. Eleven calls are on it, three marked Emergency. Each call shows the site, the unit, and the notes from last time.
7:30 am. The Escalate view shows an emergency at a care home that’s been waiting two hours. She moves a technician from a routine job, sets the call to Scheduled, and phones the customer.
9:00 am. A technician arrives at a house and opens the equipment record on his phone. The unit is eleven years old, the capacitor was replaced last summer, and the warranty ended two years ago. He knows what to check first.
11:00 am. He finishes the call and fills in the template in the van: a failed capacitor, the part and cost, a note that the compressor is drawing high, and a recommendation to plan for a replacement. The customer asks for options, so he flags the call as Follow-up needed.
1:00 pm. The Callbacks view shows a repeat visit at one unit. She reads the earlier call and sends the senior technician instead.
3:00 pm. The Replacement review view shows a customer with a thirteen-year-old unit. She prepares an estimate with three options, to send as a PDF.
5:00 pm. She sets a completed call to Ready to Generate. The service ticket goes to the customer as a PDF.
Nothing depended on anyone’s memory.
The Documents That Leave Notion
Customers don’t use your workspace, so some records need to become files:
For a single page, you can use Notion’s export option. How to Export Notion to PDF shows the settings. Customers judge an HVAC company partly by the clarity of its paperwork, and Notion’s own export gives you limited control over layout.
How to Add Your Logo and Brand Colors to Notion PDFs explains how a template solves that.
Generating PDFs with PDFOutput
PDFOutput creates documents from your Notion data using a template. A template can be a Google document, a Word file, a PDF file, or a Notion page. If you already have a service ticket or estimate layout in Word or Google Docs, you can reuse it.
Here is how it works:
These are some of the status options:
The e-signed option may help with estimates and maintenance agreements. Whether an electronic signature is valid for a given document depends on your location and the type of document, so check before you rely on it. You can save the finished file to a property in your database, so a ticket stays on the call record. You can also save it to a Google Drive folder and store the link in a property.
[Image 2: A service call record with its status set to Ready to Generate and the service ticket PDF attached]
Two kinds of document work well. A service ticket uses the fields on one service call: the date, the technician, the site, the equipment, the reported problem, the diagnosis, the work performed, the parts, the total, and the recommendations. An equipment report uses the fields on one equipment record: the unit, its age, its warranty status, and a short history written as text. If you’d like a report that lists every call a unit has had, test a template with a sample unit that has several, and check that each appears. If it doesn’t, keep a short summary as text on the equipment record, and use that in the template.
Before using any document tool with information about your customers, ask the provider how data is handled, where it’s stored, and what agreements are available, and keep the answers with your records. The safest approach is to generate documents from records that hold only what the recipient should see. Don’t put access codes on a customer document. If your regulator or a customer requires specific information on a service record, make sure your template includes it, and check the wording with someone qualified. Check the name and address on every document before you send it.
Start with the service ticket, since you’ll send it most often. Use Preview first and check for empty fields, the right site, and wording you’re happy for the customer to keep.
> 📌 Key Takeaway: Give every unit its own record, record every call with the same short template, and let formulas show what’s due. Then service tickets, estimates, and equipment reports come from records you already have.
Who Can See What
Your workspace will hold addresses, equipment histories, and notes about people’s homes and businesses, so control access tightly.
Common Mistakes
Dispatching blind. A technician who arrives without knowing the unit or its history wastes the first half hour. Link every call to an equipment record.
Vague tickets. “Fixed AC” helps nobody. Write the cause, the work, and the recommendation.
Treating Notion as the official record. If your regulator requires a specific system for refrigerant or permits, use it, and link to it.
Storing access codes. Keep gate and alarm codes out of Notion entirely.
Leaving safety findings undocumented. If something unsafe was found, record what was found, what was done, and what the customer was told.
Assuming a warranty applies. Warranties depend on registration, installation, and maintenance. Check the terms before you promise.
Ignoring callback patterns. Three callbacks at one unit is a signal, not bad luck.
Missing the season. Contact agreement customers before the first heat wave or cold snap, not during it.
Too many properties. If a call record takes twenty minutes, it won’t get filled in. Keep the template short.
No owner for the structure. If more than one person edits the workspace, pick one person responsible for the setup. Properties get renamed and formulas break, so tell that person not to rename properties used in PDF templates, because the placeholders must match exactly.
Skipping a test. Run a month with made-up customers first, and fix what annoys you before you use real records.
Frequently Asked Questions
Can Notion be used to run an HVAC company?
Yes, for the working records. It can organize leads, sites, equipment, service calls, technicians, and payments. It doesn’t offer live dispatch, online booking, payments, or automatic reminders, and it doesn’t replace any record your regulator requires.
How do I track HVAC equipment in Notion?
Create an Equipment database with one record per unit, linked to a site. Store the make, model, serial number, install date, and warranty length, and use formulas for the warranty expiry, the age, and the next maintenance date. Link every service call to the unit.
How do I schedule HVAC maintenance in Notion?
Set a maintenance interval on each unit, roll up the date of the last completed maintenance call, and add the interval with a formula to get the next due date. Flag units that are overdue or due in the next 30 days, and group the list by equipment type and area.
What should an HVAC service ticket include?
Typically the date, the technician, the site, the equipment, the reported problem, the findings, the work performed, the parts used, the cost, safety notes, and the recommendations. Check what your regulator and your customers require, including any refrigerant records.
Can Notion keep my refrigerant or permit records?
It can hold your own working notes, but whether it meets a legal record requirement depends on your regulator and your rules. Find out what’s required where you work, use the required system if there is one, and link to it from Notion.
Is it safe to store customer information in Notion?
Notion lets you control who sees each page, but your duties depend on the rules where you work. Collect only what you need, keep access codes, card details, and health information out, and limit access to the people who need it.
Can I create service tickets and estimates from Notion?
You can export a page as a PDF, or use a template-based tool such as PDFOutput to fill a ticket or estimate template with data from each record. Put the key facts in clearly named properties on one record, test it on a few sample records first, and check each document before you send it.
Related Reading
A good HVAC setup in Notion keeps the history with the equipment: a record for every unit, a clear view of what’s due, a short and specific record of every call, and a ticket or estimate the customer can understand. Keep access codes and health details out, follow your local rules on safety and records, and run a month with made-up customers first. When your service tickets, estimates, and equipment reports need to leave Notion, PDFOutput can fill your template from each record and save the PDF to your chosen storage.
Want service tickets as clean PDFs? Try PDFOutput.