HVAC Invoicing Software Connected to Every Service Job

A technician finishes a furnace call at 4:40 on a Thursday. In most shops that is the start of the billing, not the end of it: a ticket goes in a folder, somebody retypes it on Monday, and the part number is already an argument. HVAC invoicing software earns its place by removing that gap entirely.

In Opsler the invoice is not a new document. It is the job, priced. The inducer motor pulled off the van is on it at the price your book says. The minutes on the job clock are on it. The office can hold it for review or let it go straight out, and the customer opens it from a link without creating an account.

What Should an HVAC Invoice Include?

An HVAC invoice has to survive a phone call three weeks later from someone who has forgotten what was wrong with their furnace. These are the parts of the document that do that work, and all of them are on the PDF the customer receives.

Who you are

Business name, address, phone, email and tax ID across the header, taken from your business settings rather than typed each time.

Who it is for

The customer, from the customer record, with the invoice number in the format INV-202601-0042 — year, month, and a sequence that restarts monthly.

What was done, line by line

Description, quantity, unit price and line amount for each part and each service, so a capacitor and two hours of diagnostic time are two visible things rather than one number.

Tax where tax belongs

Applied per line and totalled, which matters in jurisdictions that tax a part and the labor to fit it at different rates.

Warranty lines at zero

A covered item shows at $0 with its original price retained on the record, so the customer sees what the coverage saved them instead of seeing nothing at all.

How to pay it

Any notes you added, plus your enabled payment handles — Venmo, Cash App or Zelle, with QR codes where you have set them.

Turn a Completed Job into a Draft Invoice

The HVAC billing workflow starts before anyone thinks about billing. A draft invoice exists from the moment the job does, and it fills itself in as the work happens.

Parts leave the truck and land on the invoice

A part consumed on the job comes off the stock of the location it was pulled from and appears as a line item. Its cost price rides along on the record for margin, separate from the price the customer sees.

The clock becomes the labor line

Recorded minutes convert to hours against that technician's rate. If the office corrects the time afterwards, the timers scale proportionally rather than being overwritten. Job clocks are a Pro feature.

What was found gets added on site

A cracked heat exchanger discovered once the panel is off becomes another line before the invoice is finalised, with the reason recorded against the job.

Completion is the moment the draft becomes real. Stock deducts, the totals lock in and the invoice takes its first live status. How the job itself is built and tracked before that point sits on work order management.

Convert an Approved Estimate into an Invoice

On replacement work the estimate to invoice path is where quoted scope usually leaks. A tiered proposal offers three answers and the customer picks one, so the system has to know which one and carry only that.

Customer choosesLine items that become the jobLeft behind
GoodGood tier onlyBetter and Best
BetterGood plus BetterBest
BestEverything on the proposalNothing

Whatever converts arrives as an editable draft invoice with each line carrying the tax rate it had on the estimate, and the job notes record the estimate number, the tier chosen and the quoted total. Text-only lines — headings and explanatory notes on the proposal — are filtered out rather than billed. The conversion mechanics live on estimate to job conversion.

Add Labor, Parts, Taxes and Adjustments

Four kinds of HVAC invoice line items, each with a different source and a different consequence for what the job is worth.

Line typeWhere it comes fromWhat it does to margin
PartPulled from a stock location on the jobCarries its cost price into the material cost
LaborJob clock, or entered as a labor lineCosted at the technician’s hourly rate
ServiceA price-book item covering parts and labor togetherCosted as one bundled figure
CustomTyped on site for something with no price-book entryUsually carries no cost price, so it reads as pure margin

Tax per line

Each line holds its own rate and tax amount and the invoice totals them. Opsler applies the rates you configure; it does not decide the correct rate for an address or track nexus.

One discount, on the invoice

A discount applies to the invoice as a whole rather than line by line — one of the things an approval queue exists to catch before it reaches a customer.

Warranty at zero, cost still real

A covered line is forced to $0 charge and $0 tax on the server, not just hidden in the interface, while the original price is retained and the true cost still counts against the job.

Where those cost figures end up is set out under per-job profitability.

Technician and Office Responsibilities

Shops disagree about how much billing authority belongs in the field, and the honest answer is that it depends on the technician. Mobile HVAC invoicing in Opsler is set per job, not once for the whole company, using a checkbox on the job when it is created.

Approval left off

The technician completes the job, chooses to send, and the invoice goes to the customer as Sent. Fastest route to payment, and the right one for a maintenance visit off a tight price book.

If they collected on site instead of sending, the invoice is approved automatically and moves to Paid once the payment is recorded, and the customer receives a receipt rather than a bill.

Approval switched on

The finished invoice becomes Pending Approval and appears in the office queue and on the admin dashboard. An admin reviews the lines, then clicks Approve and Send, which approves and emails the customer in one action.

Rejecting requires a written reason. The invoice drops back to Draft, the reason is stored on it, and the technician is notified — so the correction happens where the knowledge is.

Either way, a customer cannot pay against a document that is not finished: payment is refused on Draft, Pending Approval and Void invoices, with an explicit error rather than a silent failure. The routing rules and the approval queue itself are covered under automated invoicing.

Send Invoices by Email and Customer Portal

HVAC invoice delivery runs on two channels, and it is worth being exact about which, because competitors in this category advertise a third that Opsler does not have yet.

Email

The invoice PDF goes to the address on the customer record, sent when the technician sends it or when an admin approves and sends from the queue.

Live

Customer portal

A token link, no account and no app. It opens the invoice with every line item, the per-line tax, subtotal, total and notes, a PDF download, and a Pay Now button when you have put a payment link on it.

Live

SMS

Planned as a bring-your-own-provider option so you would keep your own carrier rate. Not live, and nothing in the invoicing workflow assumes it.

Planned — not live

The same link keeps working after the job, which is why the portal is where a homeowner goes in February to find the January invoice. Its full scope is on the customer portal page.

Track Payment Status and Supported Methods

HVAC payment tracking in Opsler means knowing exactly where every invoice stands and what has been recorded against it. It does not mean Opsler holds your money, because it never does.

The eight statuses an invoice can hold

  • DraftBeing built. Cannot be paid against.
  • Pending ApprovalWaiting on the office. Cannot be paid against.
  • ApprovedSigned off, not yet sent.
  • SentWith the customer.
  • Partially PaidSomething has landed, a balance remains.
  • PaidBalance under a cent.
  • OverduePast its due date, moved by the nightly check.
  • VoidCancelled. Excluded from revenue.

Methods you can record

Cash, check, ACH or wire, Venmo, Cash App, Zelle, card, or other — each with a date, amount, reference and optional note, and a receipt emailed to the customer afterwards.

0% platform fee, and here is the mechanism

Opsler is not a payment processor. Money never passes through it. You paste your own Stripe, Square or PayPal link onto the invoice, or you collect directly, and Opsler records the result. There is no platform percentage because there is nothing for a platform to take a percentage of — you pay whatever your own processor charges and nothing on top.

Partial and on-site

Several payments can sit against one invoice, recalculating paid and due each time. When a technician collects at the property, that amount can define the total, and the change from the previous total is written into the payment note.

Reminders and Recurring Billing

This is the section where field service products tend to promise the most and specify the least. Here are HVAC billing reminders as they are actually implemented, and where they stop.

Automatic overdue reminders

A nightly check moves invoices past their due date to Overdue and then sends reminders on your schedule. You set three numbers: days after the due date for the first, days between the ones that follow, and a cap on how many are sent. Email only. Paid and voided invoices drop out automatically.

Send one by hand

An admin can push a reminder at any time from the invoice, which still counts against the cap. Every attempt is written to a reminder history on the invoice with its date and result, and a failed send does not burn one of your slots.

Recurring work, not recurring charges

A maintenance agreement is scheduled as a recurring job series on Pro, and each visit produces its own job and its own invoice. That is recurring service billing, not a subscription that charges a stored card on a date. Opsler holds no cards.

Connect Accounting and Job Profitability

Once an invoice is finished it feeds two things: your margin picture, and your books. Neither happens by magic.

Margin

Invoice revenue less direct labor cost less material cost gives gross profit, and dividing that by revenue gives the margin. It excludes overhead, payroll burden, vehicle running costs and anything still in progress. The figures surface as period totals on the revenue dashboard.

The books

Invoices and their recorded payments export as QuickBooks-formatted or Xero-formatted CSV files on Pro, which you import yourself. There is no direct, automatic, real-time or two-way sync, and nothing you change in the ledger comes back. For HVAC accounting software questions — every column, the import paths, the weekly handoff — see HVAC accounting exports and the accounting CSV export feature page.

HVAC Repair Example, Limitations and FAQs

An HVAC invoice example is more useful than another list of adjectives, so here is one January no-heat call, start to finish, followed by everything Opsler will not do for you.

No heat, 80% furnace, failed inducer motor

  1. Technician diagnoses a seized inducer motor and starts the job clock
  2. Pulls the motor from Van 2 — stock deducts there, cost attaches to the job
  3. Adds a pressure switch found cracked during the swap, with the reason recorded
  4. Marks the job complete with before-and-after photos and the customer signature
  5. Draft invoice finalises: two parts, the labor line and per-line tax
  6. Because this job had approval ticked, it lands in the office queue
  7. Admin reviews the pressure switch charge and clicks Approve and Send
  8. Customer opens the portal link, downloads the PDF and pays through the payment link
  9. Payment recorded, status moves to Paid, receipt emailed

Where Opsler stops

  • No card processing, ACH gateway, stored cards or tap-to-pay — Opsler records payments, it does not take them
  • No SMS invoice delivery or SMS payment reminders
  • No direct, automatic or two-way accounting sync
  • No sales tax rate lookup, nexus tracking, filing or remittance
  • No consumer financing applications at the kitchen table
  • No progress draws, retainage or AIA billing for new construction
  • No Manual J or load calculations, duct design, CAD, diagnostics or equipment control
Everything on this page above the limitations is in the product today. Pro costs $25 per seat per month with no seat minimum, and the 14-day trial does not ask for a card.

HVAC invoicing questions

Can an HVAC technician raise and send the invoice from the driveway?

Yes, and whether they do is your decision per job. When the job is created, a checkbox called Require approval before sending invoice sets the route. Leave it off and the technician can complete the job and send the invoice themselves. Tick it and the finished invoice lands in the office queue as Pending Approval, where an admin reviews it and clicks Approve and Send, or rejects it back to draft with a written reason that goes to the technician.

Does invoicing still work with no signal in a mechanical room?

Creating it does. The technician can build the invoice and record what the customer handed over with no connection at all; the work queues on the device and syncs when the phone finds a signal. Each queued payment carries a key that identifies it, so if the sync retries, the second attempt is recognised and ignored rather than charging twice. Sending the invoice to the customer needs a connection, because that part is an email.

Does Opsler process card payments?

No, and that is deliberate. Opsler records payments; it does not move money. You put your own Stripe, Square or PayPal link on the invoice and the customer pays you through it, or you take cash, a check, an ACH transfer, Venmo, Cash App or Zelle and record what came in. Because no money passes through Opsler, there is no platform percentage on top of your processor's rate. For contrast, Housecall Pro publishes card processing from 2.59% and bank payments at 1% on its own pricing page, checked 2 August 2026.

Can a customer pay half now and half on Friday?

Yes. Several payments can be recorded against one invoice and the amount paid, amount due and status recalculate after each one, so the invoice moves to Partially Paid and lands on Paid only when the balance falls under a cent. A separate case is on-site collection, where the technician takes the amount actually agreed at the property; that figure can set the invoice total, and the adjustment is written into the payment record for audit.

Are there SMS reminders for unpaid HVAC invoices?

Not today. Reminders go by email, on a schedule you set: how many days after the due date the first one goes, how many days between the ones after it, and how many to send before it stops. SMS is planned as a bring-your-own-provider option and is not live, so nothing on this page depends on it.

View as plain text

Ready to Run Your Business Without the Chaos?

Scheduling, dispatch, estimates, invoicing, customer portal, and a free branded website — start completely free, upgrade to Pro when you scale.

Free forever on the Budding plan. No credit card required.

Explore all 42 features·See full pricing