Commercial HVAC Data Model — Sites & Assets | FieldCamp
How a commercial HVAC business runs in FieldCamp: multi-site asset registers, planned-maintenance agreements, and the deficiency-to-repair pull-through loop.
A commercial HVAC business runs on the same connected records as any other field service operation in FieldCamp — a customer calls, you quote the work, you schedule and dispatch a crew, you bill, and you get paid.
What sets commercial HVAC apart is everything that lives between those jobs: a portfolio of buildings, hundreds of serialized rooftop units and chillers, multi-year maintenance agreements, and a running backlog of repairs found in the field.
FieldCamp models that layer with a small set of purpose-built records that sit on top of the core spine — so the transaction flow you already have stays exactly as it is, and the asset-and-agreement world the commercial business runs on gets its own first-class home.
FieldCamp works for any size, from a single-truck operator to a multi-location franchise, residential or commercial. The records, fields, and stages on this page are a starting point — everything can be tailored to how your shop actually runs.
What the core already gives you
The commercial transaction spine is the same one every FieldCamp account ships with, and it needs no change.
- A Request captures the first call or service ticket.
- An Estimate carries the quote, including the repair quotes that come out of maintenance visits.
- A Job is the work order, scheduled as one or more Visits in the field.
- An Invoice bills the work, and Payment records what came in.
Commercial billing also works as-is. Net-30 terms, purchase-order numbers, and consolidated billing are all part of the standard money model — no extra record required.
What the core does not natively describe is the shape of a commercial account: one customer that owns many buildings, each holding many pieces of equipment that are serviced for years across many jobs. That is what the commercial HVAC setup adds.
What commercial HVAC adds
The setup layers in four purpose-built records, each created on FieldCamp's customization engine the same way you would add any record type of your own.
Together they capture the three things that define the commercial business: a persistent multi-site asset register, planned-maintenance agreements as recurring-revenue records, and a deficiency backlog that pulls repair work through.
Site — a serviced building
A Site is one physical building or campus address under a commercial customer. It is the anchor the whole portfolio hangs from.
One customer — often a property-management firm or a facilities group — owns many Sites, so the building becomes its own record rather than a single address field on the customer.
| Field | What it tracks |
|---|---|
| Site Name | A readable name for the building. |
| Address | The structured street, city, state, and ZIP, with directions. |
| Building Type | Office, Retail, Warehouse, Medical, School, or Industrial. |
| Square Footage | The size of the building. |
| Access Notes | Gate codes, roof-hatch instructions, and on-site cautions. |
| On-site Contact | The building contact's name and phone. |
| Coverage | A pill showing Under Agreement, Lapsed, or None. |
A Site belongs to a Customer and holds many Assets.
Its record page leads with the coverage pill in the header, then carries the site details, the address with a map and directions, the on-site contact, the access instructions, a card view of every Asset at the building, and tables of the Visits performed there and the open Deficiencies still outstanding.
Asset — a serviced piece of equipment
An Asset is a single serialized unit: a rooftop unit, chiller, air handler, boiler, cooling tower, split system, or pump. It is the heart of the commercial model.
Unlike a residential furnace that lives under one home, a commercial Asset is a standalone record that survives across years and many jobs — so you can list and search every Asset at a site, or across an entire customer's portfolio, and carry one unit's full history forward.
| Field | What it tracks |
|---|---|
| Asset Tag | A unique identifier for the unit. |
| Type | RTU, Chiller, AHU, Boiler, Cooling Tower, Split, VRF, or Pump. |
| Manufacturer · Model # · Serial # | The nameplate identity of the unit. |
| Tonnage / Capacity | The rated capacity. |
| Refrigerant | The refrigerant type, such as R-410A, R-22, R-32, R-454B, or R-134a. |
| Full Charge (lbs) | The full refrigerant charge, which sets the compliance leak-rate threshold. |
| Installed · Warranty Expires | Install date and warranty countdown. |
| Location on Site | Roof, mechanical room, or zone. |
| Condition | Good, Fair, Poor, or Failed. |
| Service Status | Up to date, Due, or Overdue. |
| Nameplate Photo | A photo of the unit's nameplate. |
An Asset belongs to a Site, is covered by a maintenance agreement, and holds its own list of open Deficiencies.
Its record page shows a condition pill in the header, the specs, a breadcrumb up to its Site, a warranty and certification countdown, the service history built from past Visits, its open Deficiencies, the maintenance forms submitted against it, and the nameplate photos.
The Asset register is what makes "show me every chiller at this customer that's overdue" a one-tap view. Because each unit is its own record, its service history, warranty, and refrigerant details follow the serial number — not the job.
Maintenance Agreement — the planned-maintenance contract
A Maintenance Agreement is the recurring-revenue record. It is a multi-year contract that covers a named list of Assets across one or more Sites, sets a visit frequency and a response commitment, and generates the scheduled maintenance jobs.
This is the structure a residential service plan cannot express: coverage is scoped to specific Assets and buildings, not just to a customer.
| Field | What it tracks |
|---|---|
| Agreement # · Title | The contract's identifier and name. |
| Annual Value | The yearly contract value. |
| Annual Escalation % | The yearly price increase. |
| PM Frequency | Monthly, Quarterly, Semi-annual, or Annual. |
| SLA Response (hrs) | The committed response time. |
| Start · End · Renewal | The contract's term and renewal date. |
| Auto-Renew | Whether the agreement renews automatically. |
| Billing Terms | Monthly, Quarterly, or Annual upfront. |
| Per-Visit Value | The value of each maintenance visit. |
| Signed Contract | The signed agreement document. |
An Agreement belongs to a Customer, covers many Sites and many Assets, and generates the maintenance Jobs.
Its record page leads with its stage, then shows the terms, a row of key numbers — covered assets, covered sites, contract value, next renewal — and tables of the covered Assets, the covered Sites, and the maintenance Jobs it has produced, alongside the signed document and a renewal reminder.
Deficiency — a repair finding on an asset
A Deficiency is a single problem found on a specific Asset during a maintenance visit: a worn bearing, a cracked heat exchanger, a failing compressor. It is the record that turns inspections into repair revenue.
Each finding lives in a backlog — per asset, per site, and per customer — and stays there until it is quoted, approved, and resolved. That backlog surviving across visits is the commercial margin engine.
| Field | What it tracks |
|---|---|
| Finding | A short title for the problem. |
| Description | The detail of what was found. |
| Severity | Critical, High, Medium, or Low. |
| Found On | The date it was discovered. |
| Photo Evidence | A photo of the problem. |
| Est. Repair Cost | The estimated cost to fix it. |
| Status | Its stage through the repair workflow. |
A Deficiency belongs to the Asset with the problem, links to the Visit where it was found, and converts into an Estimate and then a repair Job.
Its record page shows a status banner, the severity and cost, a breadcrumb to its Asset, the photo evidence, and a table of the linked Estimate and Job once the repair is sold.
The maintenance lifecycle
The two custom workflows are where commercial HVAC runs its recurring revenue and its repair pull-through. A Maintenance Agreement moves through a renewal lifecycle, and every Deficiency moves from a field finding to a sold repair.
When an Agreement becomes active, FieldCamp creates the first maintenance Job and the job's own recurring schedule produces the rest.
When a tech opens a Deficiency during a visit, moving it to Quoted converts it into an Estimate, and approving it converts it into a repair Job.
The Agreement runs its own lifecycle in parallel — drafted, sent for signature, made active, flagged up for renewal, then renewed or expired.
Maintenance jobs are generated when an Agreement goes active, then repeat on the job's own recurring schedule. Calendar-driven renewal reminders — "alert me 30 days before this agreement renews" — run through FieldCamp's automation product rather than the record workflow itself.
Residential vs commercial
The residential HVAC setup and the commercial setup are two parallel layers on the same core. A mixed shop runs both side by side, and they do not conflict.
Residential
One homeowner owns one property with a handful of units. Equipment is tracked under that single address, maintenance is a straightforward service plan, and payment is usually a card charged on site. This is the HVAC & Plumbing property-and-equipment layer.
Commercial
One account — a facilities company, property-management firm, or chain — owns many Sites, each holding dozens or hundreds of serialized Assets. Maintenance is a multi-year Agreement scoped to a named asset list, the revenue engine is the Deficiency backlog, and billing is Net-30 with a purchase order.
The differences are concrete and structural, not cosmetic.
| Dimension | Residential | Commercial HVAC |
|---|---|---|
| Account shape | One homeowner, one property | One account, many buildings |
| Location | The home as a single property | A standalone Site record per building |
| Equipment | A few units under one address | A standalone Asset register, serialized, spanning years and jobs |
| Maintenance | A service plan on the account | An Agreement scoped to named Assets across Sites, with value, escalation, and a response commitment |
| Revenue engine | A replacement quote at the home | A Deficiency backlog that pulls repair quotes through |
| Billing | Card on file, charged on site | Net-30 with a purchase order, often consolidated |
| Compliance | A warranty-expiry reminder | A refrigerant log captured on every applicable visit |
Built for any size. A single-truck commercial contractor and a multi-location mechanical franchise run on the same records. The Site, Asset, Agreement, and Deficiency layer is there whether you service three buildings or three hundred — and it sits on the same transaction spine the smallest residential shop uses.
Built on the customization engine
None of these records are a separate product bolted on.
Site, Asset, Maintenance Agreement, and Deficiency are custom objects built on the same engine you would use to add a record type of your own — with their own fields, their own stages and workflows, and record pages assembled from the same library of building blocks as every core record.
That means the commercial setup is yours to extend. Add a field to an Asset, rename a stage on the Deficiency workflow, or arrange the Agreement page the way your account managers read it — without touching the transaction spine underneath.
Related records
The account that owns the buildings, assets, and agreements — and carries the billing terms.
The work order maintenance agreements generate and repair deficiencies convert into.
The field appointments where techs run the maintenance checklist, log refrigerant, and find deficiencies.
The repair quotes deficiencies become, and the Net-30 invoices that bill them.
Coming from BuildOps
Most commercial mechanical contractors run on a platform like BuildOps or ServiceTitan Commercial, and the shape they already work in maps cleanly into FieldCamp — the customer, the buildings under them, the assets at each building, the work orders, the projects, the maintenance contracts, and the price book all have a home here.
The difference is that in FieldCamp you own and shape the model, rather than fitting your shop to a fixed one.
| In BuildOps | In FieldCamp | Notes |
|---|---|---|
| Customer | Customers | The account responsible for billing — a facilities firm, property manager, or chain. One record carries the billing terms for the whole portfolio. |
| Site / Building | A Property or Building — as a custom object under the customer | BuildOps' one-customer-to-many-buildings split, modeled as the Site record this page describes. |
| Asset / Equipment | Equipment | The serialized rooftop unit, chiller, or air handler, tracked as a standalone asset with full service history across years and jobs. |
| Work Order / Job | Jobs | The work order — one-off, multi-day, or recurring. |
| Appointment / Visit | Visits | Each scheduled trip on a job, with dispatch, en-route, on-site, and sign-off. |
| Project | A custom Project object that groups related Jobs at one site | Built on the same engine as custom objects, for the multi-job installs and retrofits a single work order does not cover. |
| Maintenance Contract | Service Agreements | The planned-maintenance agreement that covers a named asset list, sets a visit frequency, and schedules the maintenance Jobs. |
| Technician | Team Members | Carry certifications as skills and territory as service areas. |
| Quote / Invoice | Estimates & Invoices | Quoting with deposits and Net-30 terms, plus the consolidated invoices that bill the portfolio. |
| Preventative Maintenance schedule | A recurring Job generated by the Service Agreement | The agreement creates the first maintenance Job and the job's recurring schedule produces the rest. |
| Price Book | Price Book | Equipment, parts, refrigerant, filters, and labor, with vendor pricing and taxable flags. |
What you gain. In BuildOps the structure is fixed — the objects, their fields, and how they relate are set for you.
In FieldCamp every one of those records is yours to rename, extend, restage, and relayout, so you can match your old setup first and then go past it with custom objects & fields and your own stages and workflows — including the Deficiency backlog that pulls field findings through to sold repairs.
One honest difference. BuildOps puts deep progress and contract billing at the center of its project work — work-in-progress tracking, percent-complete draws, and contract-value billing on long-running installs.
FieldCamp models the commercial spine through the standard Estimate and Invoice flow, with Net-30 terms, purchase orders, and consolidated billing built in. If milestone or progress billing on large capital projects is central to how you bill, plan that part of the move deliberately.
See also
More in the FieldCamp data model.
The residential-leaning property and equipment layer this commercial model runs alongside.
How to create your own record types and fields.
Define the stages each record moves through.
How the core records connect, and how to make them your own.
Cleaning Business Software — Data Model | FieldCamp
How a residential and light-commercial cleaning business runs in FieldCamp — recurring home plans, deep and move-out cleans, and crews on core records.
Construction Software — Data Model | FieldCamp
How a construction business runs in FieldCamp — multi-phase projects, change orders, subcontractors, daily logs, and permits built on the core records.