
Industry · HVAC
Bill every hour. Renew every agreement.
Grivara OPS runs your commercial HVAC service company, from the agreement to the signed ticket.
For commercial HVAC service contractors with their own crews and maintenance agreements: offices, retail, healthcare and warehousing.
Three leaks that never show up on the P&L.
None of them feels like a disaster. Together they are the year's margin.
Three hours per tech, every day
Only 65% of a technician's 8.8-hour day reaches an invoice — about 5.7 hours. The rest goes to paperwork, shop time and travel, plus 1.13 hours of driving that trip charges never recover.
With three techs, that's close to a full technician-day given away, daily.
Field Promax report, via ACHR News (2026)
The belt that got installed and never got billed
Material a tech uses and doesn't write on the ticket never gets charged. It doesn't hurt because each item is small: a Poly-V belt, a filter drier, four pounds of R-134a.
One unrecorded belt a week is roughly a thousand dollars a year, per tech.
Parts catalog pricing, 2026
The agreement that lapsed and kept getting serviced
Maintenance agreements are the highest-margin work a service shop does, and your recurring share is what decides the company's value the day you sell it: under 25% recurring trades at 3–5× EBITDA; above 40%, at 7–10×.
And yet the renewal date lives in a spreadsheet that belongs to nobody.
Published HVAC service-business valuation benchmarks (2026)
The loop
An agreement that feeds itself.
The agreement books its visits; the visit dispatches the tech; the tech leaves hours, parts and evidence on the order; and what they spot on the rooftop becomes the next quote. That loop is the business — everything else serves it.
At your desk
On site, on someone else's roof
Where the work happens and the margin is won or lost.
Agreement
The contract with its scope, its monthly value and the units it covers.
Service agreement
Schedule
Every covered unit books its own preventive visit, with nobody scheduling it.
Interval plan
Dispatch
The order goes out with its priority, its SLA clock and its owner.
Order + SLA clock
Close
The tech leaves hours, parts, photos and a signature on that same order.
Signed ticket · photos
Renew
The rooftop finding becomes the next quote, and the agreement renews on time.
Quote
- At your desk
01Agreement
The contract with its scope, its monthly value and the units it covers.
Service agreement
On site, on someone else's roof
Where the work happens and the margin is won or lost.
02Schedule
Every covered unit books its own preventive visit, with nobody scheduling it.
Interval plan
03Dispatch
The order goes out with its priority, its SLA clock and its owner.
Order + SLA clock
04Close
The tech leaves hours, parts, photos and a signature on that same order.
Signed ticket · photos
05Renew
The rooftop finding becomes the next quote, and the agreement renews on time.
Quote
Back to the agreement, and out again

The agreement is signed once. It is honoured every week.
Every visit, every hour and every part on those units has to reach the invoice and the customer's history. That is where an agreement renews — or where it is lost.
What follows
A week in a service contractor's life, screen by screen.
From the three o'clock phone call to the number you check on Monday. Everything below is the product working — not an illustration.
- The work
- Hours and parts, on the order that gets invoiced.
- The week
- Every visit and every emergency, in your vocabulary.
- The customer
- They report from the portal and see when you're coming.
- The agreement
- The SLA you promised, and the unit costing you money.
The order
Hours and parts live where they get billed.
An order carries its customer, its unit, its priority and its SLA clock. Inside, labor, parts and costs are separate tabs that have to reconcile with each other. What the tech recorded is what gets invoiced — there's no second version in a notebook.
- Customer, site and unit on the same order
- Labor, parts and cost, reconciled against each other
- Response and completion clocks, by priority
- Photos, comments and files attached at close
The board
The whole week on one screen, in your vocabulary.
24/7 Emergency. Waiting on parts. Seasonal PM. Refrigerant recovery. Diagnostics. The statuses, priorities and categories are yours — they don't come from a generic CRM, you configure them. And the request that came in through the customer portal arrives flagged as such.
- Statuses, priorities and categories you define
- The unit and the site, visible on every row
- Customer requests arrive flagged from the portal
- Saved views: today, overdue, and whatever you need
The customer portal
The customer stops calling. They report, and it's already an order.
This is the customer's screen, not yours. The building manager signs in with a code, describes the failure, and it lands directly as a work order on your board — with its asset, its customer and its priority. Then they follow the status without calling to ask, and your dispatcher stops being a switchboard.
They report it; the order opens itself
“A work order will be created for your provider to handle it.” No phone call for someone to transcribe, no email that gets lost.
Their next visit, on their calendar
Every scheduled visit shows up with its date, its asset and its status. The customer knows when you're coming without anyone confirming it by phone.
They sign in with a code
No users or passwords to administer: the customer requests a code by email and signs in.
Their history, without asking you
Every order of theirs with its status and dates — open, waiting on parts, closed. They stop calling to ask where things stand.
Only their own
Each customer sees only their own assets and orders. Never anyone else's.
You approve who gets in
Approved, invited, self-registered or blocked: anyone who signs themselves up waits for your go-ahead before seeing anything.
A QR code in the mechanical room
The portal comes with its link and its QR code. Print it, stick it next to the unit, and whoever finds the fault reports it from there.
And the phone is still there
The portal shows your number. Anyone who'd rather call, calls — it just stops being the only way into your operation.
The commitment
The agreement's SLA, measured — not promised.
Every priority carries its response and completion clock, and the system keeps score: how many you closed on time, how long you actually took, and which ones you'll breach today if nobody moves. Then it tells you who's breaching them — by priority, by asset and by owner. A 40% breach rate isn't the problem; not knowing it is.
- Breach rate and real resolution time
- Broken out by priority, category and owner
- What's at risk right now, before it breaches
- The clock pauses waiting on parts, customer or approval
The unit
Which unit is costing you money, by name and number.
Every outage keeps its start time, its cause and its work order. Availability, MTBF, MTTR and downtime cost per unit come from that — along with PM compliance against what the agreement promised. When the customer asks why the chiller needs replacing, the answer is already written.
- Availability, MTBF and MTTR per unit
- Downtime cost, at the hourly rate you set
- Preventive compliance against what was scheduled
- Failure codes, so you can see what repeats
An ordinary Friday
The hospital chiller stops cooling.
The whole loop in a single event, from the call to the quote.
- 01The call comes inCH-01, a 200-ton chiller at Hospital Metropolitano, stops cooling. The order opens as 24/7 Emergency and the clock starts: two hours to respond.
- 02The unit decidesCH-01 requires a technician certified for refrigerant handling at level 3. That doesn't live in anyone's head — it lives on the unit's record, and dispatch uses it.
- 03It gets repairedRecovery to cylinder, leak repair, recharge and test. Six hours of downtime. Labor and parts costed line by line.
- 04The pattern shows upCH-01's trailing 12-month leak rate is 41%. That unit doesn't need another recharge — it needs a replacement quote.
- 05And what almost got awayThe order closed, but the unit's outage stayed open. The system flags it — 38 days and 7 hours accrued against equipment that's already back at work. Without that flag, the month's availability lies.
Who has to approve it
Five roles, five different reasons to use it.
From the owner to the tech on the roof: what each one asks before they buy in, and what we answer.
Owner
“Another system nobody will use.”
The answer: Start with the agreement. If it renews on time and the hours get billed, the system pays for itself and gets used on its own.
Service manager
“I don't have time to set it up.”
The answer: A full operation is 10 units, 5 sites and 4 agreements. That gets loaded — it doesn't get configured for months.
Dispatcher
“I dispatch faster over WhatsApp.”
The answer: Until the unit demands a certification, or the customer asks what time the tech arrived last week.
Lead technician
“I'm not filling out forms on a rooftop.”
The answer: Photos, checklist, signature. In return they arrive with the unit's full history on their phone — it gives more than it asks.
Compliance analyst
“I already keep the paperwork in a folder.”
The answer: The folder doesn't warn you when a certificate expires or which unit went over its leak threshold.
What they ask before saying yes
- Does this replace my accounting system?
- No, and it shouldn't. Accounting bills; Grivara OPS operates. The closed work order is what hands it the hours and parts that need invoicing.
- Will my technicians actually use it?
- What's asked of them on site is what they already do: photos, checklist, signature. In return they arrive with the unit's full history and the order already classified.
- How long does it take to set up?
- A concrete reference instead of a promise: the operation on this page is 10 units, 5 sites, 4 agreements and 11 costed work orders. That gets loaded, not configured.
- My operation doesn't look like that.
- The agreements and quotes above aren't features we shipped — they're objects that organization defined, with their own fields and their own relation to work orders. And permissions are set by resource and action, not by locked plans.
- Do my customers see anything?
- If you turn it on, yes: a portal where the customer reports a failure and follows their orders. On the board above, OT-00011 came in exactly that way.
- What about refrigerant tracking?
- Every charge and recovery is a service record with its cylinder, its technician and its cost. The trailing 12-month leak rate lives on the unit, next to its next PM visit.
Everything the platform gives your HVAC operation.
Under every screen is the full platform, with the security, governance and scale of your whole operation.
- Multi-site and multi-country register
- Every unit, building and client in one source of truth, with costs in the currencies you operate in.
- Technician certifications with expiry
- Skills and certificates by level, required by the unit; expirations are flagged before they land.
- Automatic alerts and escalation
- Daily checks warn of preventive coming due and SLA at risk; subscribers escalate the critical ones.
- Parts and truck stock
- Reserve the part for the job and deduct it on use, with origin and conflicts controlled.
- Service windows and booking
- Block the unit during maintenance and book the visit with no overlaps, buffers and minimum notice.
- Customer portal
- Customers report a failure, follow their orders and see their history — code-based access, scoped to their own.
- Your own business objects
- Agreements, quotes and whatever else your operation needs, defined as objects with their own fields and relations to work orders.
- Analytics and exports
- Availability, MTBF, MTTR, SLA compliance and cost per unit, with exports for reviews and audits.
- Full audit trail
- Who changed what and when, on every order, every record and every approval.
- Fine-grained roles and permissions
- Who sees, does and approves is set by resource and action; each client and site sees only its own.
- Documents and evidence
- Certificates, manuals, photos and signatures attached and kept with the unit.
- Budget by category
- Allocated and consumed by equipment type and by unit, with threshold alerts.
Modeled 1:1
Your HVAC reality, exactly as it is, not a CRM with bolted-on modules.
Every concept in your operation has an object in Grivara OPS. All eleven exist, and you can see them working in the screenshots above.
- Rooftop unit, chiller, mini-split, air handler
- An asset, with its full service history.
- Maintenance agreement
- Your own business object, with its related work orders.
- The agreement's preventive visit
- A maintenance schedule by interval that raises the order.
- Refrigerant charge and recovery
- A service record with parts, hours and cost.
- Technician certificate (EPA-608, NATE)
- A skill with level and expiry, required by the unit.
- Signed ticket and job photos
- Files on the order, kept with the asset.
- The customer's phone call about a failure
- A portal request that opens as a classified work order.
- The agreement's response commitment
- An SLA policy by priority, with clock, pauses and warning.
- Unit outage
- A state interval with failure code and hourly cost.
- Quote
- A business object, linked to the order it converts into.
- Cost per unit and per agreement
- A budget by category, with threshold alerts.
The next step
Bring one agreement. We'll model it in the demo.
One hour, your real operation on screen: your units, your sites and your agreements. No migration, no committee, and no changing your accounting system.
- We model two or three of your agreements live, with the units they cover
- We run the unbilled-hours and unrecorded-parts math on your own figures
- You leave with a concrete starting point, or an honest “this isn’t for you”
Request your demo
One hour, on a date that works for you. We'll write back with open slots.
From the agreement to the signed ticket, every unit with a record.
Request a demo