HVAC business software and reporting, on top of QuickBooks and your FSM
You already pay for a platform that runs jobs and a ledger that runs money, and the margin on any one job still lives nowhere you can see. We build the layer between them: job costing that includes the drive and the callback, A/R you can act on, purchasing that knows what's sold versus what's ordered, memberships that renew themselves. Custom where your platform can't, automation where it can, and your systems stay exactly where they are.
What changes for you as the owner
3 things that decide this
- 01You see margin per job, per tech and per month, pulled from the FSM and QuickBooks together, instead of a report from each that disagree and a spreadsheet that tries to reconcile them.
- 02Purchasing stops being a surprise. Sold, ordered, received and still missing show up in one place, and the install date waits for the unit instead of the other way round.
- 03Memberships, renewals and A/R run on schedule. The revenue that depends on someone remembering stops depending on anyone.
From close-out to the renewal, and what each step writes back
These are the stations of the HVAC chain that business software owns. Pick your platform to see where the numbers come from and go.
Station 01 · Purchasing and equipment
- Today
- Equipment selection, accessories and POs live between the FSM, the distributor portal and whoever does purchasing. A back-ordered unit gets discovered the day before the install.
- What we automate
- Each sold job carries what was sold, ordered, received and still missing. POs raise from the sold job, the supplier's availability is checked where the portal allows it, and the install date waits for the last item.
- What stays human
- Your purchasing lead still picks the supplier and negotiates the price. We make sure they see the gap before the crew does.
Writes to ServiceTitanPO reference and equipment status on the job; install date held until received.
Station 02 · Invoice and collect
- Today
- Invoices go out late, declined cards sit in a folder, and A/R is whatever QuickBooks says on the day someone looks.
- What we automate
- Invoice at close-out, card retried on failure, a polite text after seven days, and an aging list that lands on the right desk every Monday.
- What stays human
- Disputes and goodwill stay with a person, because nobody wants a bot deciding whether to waive a fee.
Writes to ServiceTitanInvoice and payment status; your QuickBooks sync stays exactly as it is.
Station 03 · Job costing and margin
- Today
- Labour is in the FSM, equipment cost is in QuickBooks, the drive time and the callback are in nobody's number, and the margin report from each system disagrees with the other.
- What we automate
- Cost pulls together from the FSM and QuickBooks: labour including drive, equipment, subs, permits, warranty and callbacks, against the invoice. Margin per job, per tech, per job type and per month, refreshed without anyone exporting anything.
- What stays human
- You still decide what a bad margin means. We make the number true and put it in front of you.
Writes to ServiceTitanRead-only pulls from jobs, timesheets and invoices; nothing written back.
Station 04 · Memberships and renewals
- Today
- Agreements lapse quietly, tune-ups don't get scheduled, failed cards sit, and members aren't flagged when they call.
- What we automate
- Renewal reminders on schedule, spring and fall tune-ups booked against capacity, failed payments retried and chased, members flagged at intake, and an unbilled-agreements list each month.
- What stays human
- Saving a lapsed member is still a call from you. We make sure you know who's about to lapse.
Writes to ServiceTitanMembership status and the next scheduled visit.
Before this come the call, the estimate and the job. The hub page walks the whole chain.
Four things your platform's reports won't give you
Job costing that includes everything
Labour with drive time, equipment, subs, permits, warranty and the callback that ate the margin. Pulled from the FSM and QuickBooks, reconciled once, shown per job, per tech, per job type and per month.
A/R you can act on
Invoice at close-out, retries and reminders that don't need a person, and an aging list on the right desk every Monday, with the customer's history next to the balance.
Purchasing that knows what's sold
Sold, ordered, received, missing, per job. POs raised from the sale, install dates that wait for the unit, and no crew arriving to a job with the wrong coil.
Memberships that renew themselves
Renewals, seasonal tune-ups, failed-card retries, member flags at intake, and the monthly list of agreements that haven't been billed. The repeat revenue stops living in someone's head.
Your FSM has reports. QuickBooks has reports. Neither has your margin.
ServiceTitan, Housecall Pro, Jobber and FieldEdge each have a reporting tab, and each one reports on what it knows: jobs, hours, invoices raised. QuickBooks reports on what it knows: money in and out. The number an owner actually wants, the true margin on a job type this month with the callbacks and the drive time in it, sits between them, which is why it usually ends up in a spreadsheet someone rebuilds every quarter.
That gap is what we build, and it's custom software by any honest definition: a data layer that reads from both systems, a set of rules about what counts as cost, and the screens you'd actually open on a Monday. Some shops call it an ERP layer; we'd rather call it the numbers, in one place, true. Your FSM and your ledger stay exactly where they are.
- 01Read-only pulls from your platform and QuickBooks; we never re-key into your ledger.
- 02Rules about cost that you set: does drive time count, does a warranty callback, does the tech's truck stock?
- 03Screens built for the owner's Monday, not for an accountant's month-end.
“They will treat your vision like their own and build it that way.”
Ron Klabunde · Founder, SmartREI ↗
Some of the systems we have shipped
- AuditFree. We look at last month's margin the way your FSM shows it, the way QuickBooks shows it, and the gap between them.
- DiagnoseWe map the path into your board and sit with your desk for an afternoon.
- BuildFixed price from the diagnostic. Tested on your real numbers and real jobs.
- RunMonitoring, a named engineer, and the first two months of maintenance free.
Best fit: five or more trucks, a CSR desk, and a platform you've outgrown in places. Not a fit: a one-truck owner-operator. You can stop after any stage; the audit report is yours either way.
Before you book
01Do you replace QuickBooks or our FSM?+
No. QuickBooks stays your ledger and your platform stays your board. We read from both and build the layer between them: the job costing, the A/R view, the purchasing tracker, the membership engine. If something genuinely can't be done without changing a system, we'll show you that on the audit rather than discover it in month three.
02Our FSM already has a job costing report. Why is yours different?+
Yours is right about what the FSM knows and silent about what it doesn't: equipment cost in QuickBooks, the drive time in the tech's day, the callback that came two weeks later. We pull those in and reconcile once, so the margin on a job type this month is a number you can trust rather than two numbers that disagree.
03Can it track what's sold versus what's ordered for installs?+
Yes, per job: sold, ordered, received, missing. POs raise from the sold job, the distributor's availability is checked where their portal allows it, and the install date waits for the last item instead of being set and then moved.
04Can it run maintenance agreements and renewals?+
Yes, off the customer records you already have. Renewal reminders on schedule, spring and fall tune-ups booked against real capacity, failed cards retried and chased, members flagged the next time they call, and a monthly list of agreements nobody has billed. It writes to your platform's membership or recurring-job object, whichever you run.
05How much access do you need?+
Read access to your platform and QuickBooks for the reporting layer, and write access only for the specific things we agree to write back, like PO references, invoice status or membership status. We confirm what your accounts expose during the audit, before anyone estimates, and everything is under NDA.
06Is this the whole of what you do for HVAC companies?+
No, it's the money and management layer. The phone is its own layer, dispatch and the field are another, estimating and follow-up another again. The hub page walks the whole chain; this one is the numbers.
A senior engineer, not a sales rep
Abdul Basit founded Hashlogics in 2017, and the team runs from Lahore with a US LLC. Clients rate the work 5.0 on Clutch, and in 2026 it was named Best AI-Native Software House of the Year at TechNova.
Your audit call is with an engineer who has read call logs and job boards like yours. Bring last month's numbers if you have them, and we'll work from those.
- NDA before the first conversation.
- No pitch on the call. A report you could hand to another firm.
- Fixed price after the diagnostic, so the number isn't a guess.

Go deeper
- AI, automation and custom software for HVAC companies →The whole chain, from the first ring to the renewal.
- Dispatch and field automation for HVAC →The operations layer that feeds these numbers.
- Best HVAC business software →An honest roundup across dispatch, CRM and answering, with us last.
- ServiceTitan alternatives for HVAC →Who should leave, who shouldn't, and the third option: keep it and build the layer.
- HVAC job costing: where the margin actually goes →Labour, equipment, callbacks, and the numbers in four places.
- Tracking HVAC equipment from sold to installed →Sold, ordered, received, missing.
- Maintenance agreements: the revenue nobody bills on time →Renewals, tune-ups and failed cards.

