HVAC

$0 Invoices Going Out the Door? Here's How to Catch Them

A tech forgets to add labor, sends a blank invoice, or discounts the wrong amount. An invoice approval workflow means every invoice gets reviewed before the customer sees it.

May 7, 2026|5 min read

TL;DR

Your tech finishes a $1,200 repair and sends an invoice for $847 — he forgot the labor. Or he sends a completely blank invoice. $0. It happens more than you think, especially when your guys are running five calls a day in 100-degree heat. Opsler's invoice approval workflow routes every field tech invoice through an office review before the customer sees it. Missing labor, wrong discounts, blank line items — they all get caught at the approval stage, not after the customer already paid the wrong amount.

The Invoice Nobody Checked

Tuesday afternoon. Peak summer. Your tech Dave just finished replacing a compressor on a 5-ton Carrier rooftop unit. Three hours of work on a flat roof in direct sun. The parts were $847 — compressor, filter drier, new refrigerant charge. Labor should have been $350.

Dave's exhausted. He's got two more calls before 6pm. He opens the app, taps through the invoice, adds the parts from the pricebook, and hits send. Done. On to the next one.

Except he forgot the labor line. The invoice went to Mrs. Williams for $847. Parts only. She paid it that night. Happy customer. Why wouldn't she be? She just got $350 worth of labor for free.

You don't catch it until the end of the month when your bookkeeper is reconciling. “Hey, this Williams job — was it really just parts? There's no labor on the invoice.” Now what? Call the customer back three weeks later and say you made a mistake? Good luck with that conversation.

That's $350 gone. And it's not a one-time thing.

Talk to any HVAC shop owner running 8+ techs and they'll tell you: invoice errors are constant. A tech applies a 50% discount instead of 5%. Labor hours are wrong because the guy was also doing a parts run in the middle and forgot to exclude that time. Someone sends a draft invoice that has placeholder line items. I've seen a $0.00 invoice go out to a customer for a full system installation. Not a typo. The tech just tapped “send” before adding anything.

Your techs aren't doing this on purpose. They're focused on the condensing unit, not the accounting. They just brazed a new compressor into a lineset in 102-degree heat and you want them to also be accurate with decimal points? That's not a people problem. That's a process problem.

Invoice Approval WorkflowDraftTech createsReviewOffice checksApproveAdmin signs offSentCustomer gets itCaught at Review StageInvoice #4821 — Missing labor charge ($0.00)→ Returned to technician for correction

Invoices move from Draft to Review to Approved before the customer ever sees them. Errors get caught at the review stage.

How the Approval Workflow Catches Mistakes

1

Tech creates a draft invoice during the job

While your tech is still on-site, they build the invoice in the Opsler app. Parts from the pricebook. Labor hours from the automatic time tracker. The invoice stays in DRAFT status while they're working — they can add items, adjust quantities, attach photos. Nothing goes to the customer yet.

2

Tech submits — invoice moves to PENDING_APPROVAL

When the tech finishes and submits the invoice, it doesn't go to the customer. It goes to your office queue. This is the checkpoint. The invoice sits in PENDING_APPROVAL until someone with approval authority reviews it. Your tech can move on to the next call. The office handles the numbers.

3

Office reviews line items and approves or rejects

Your office manager scans the invoice. Compressor replacement — check. Filter drier — check. Refrigerant charge — check. Labor? Missing. She can either add the labor line herself with per-item editing, or reject the invoice back to the tech with a note: “Add 3 hours labor at $115/hr.” Either way, the error gets fixed before the customer sees the number.

4

Approved invoice gets sent to the customer

Only after approval does the invoice move to SENT. The customer sees the correct amount. Every line item is accounted for. No follow-up calls to explain a revised invoice. No eating the difference because it's too awkward to ask for more money after the fact.

5

Admin invoices skip the review — role-based auto-approval

Not every invoice needs babysitting. When your office manager or admin creates an invoice directly, it skips PENDING_APPROVAL and goes straight to APPROVED. They know what they're doing. The approval gate is specifically for field-created invoices where the tech's focus is on the equipment, not the math.

Invoice #4821Customer: WilliamsJob: AC Compressor ReplaceParts: Compressor$847.00Labor:$0.00Total:$847.00⚠ Labor charge missing — should be $350+FLAGGED$350 in labor recovered before sending

A $0 labor charge caught at the review stage — $350 recovered before the invoice goes out.

The Numbers You're Not Seeing

Here's the thing about invoice errors: you only catch the ones that are obvious. The $0 invoice. The one where someone accidentally typed $47 instead of $470. But the sneaky ones — missing a labor line, applying the wrong discount tier, forgetting to add the refrigerant charge — those slip through because the final number still “looks right.”

Most HVAC shops with 8-12 techs running full schedules see at least 2 invoice errors per week during peak season. Sometimes more. The average undercharge is about $300 — a missing labor line here, a discount applied to the wrong item there.

Run the math:

2 errors/week × $300 average undercharge × 52 weeks = $31,200 per year.

That's revenue you earned. Your tech did the work. Your parts were used. You just didn't bill for all of it. And you didn't even know because the invoice went out, the customer paid, and nobody looked back.

The approval workflow doesn't add complexity to your process. It adds a checkpoint. Two minutes of review per invoice. Your office manager opens the pending queue, scans each invoice, approves the clean ones, and flags the ones that need fixing. Takes 15 minutes at the end of the day to review everything that came in.

Fifteen minutes of review. $31,200 in recovered revenue. That's the math that matters.

And there's a credibility benefit too. When every invoice that reaches your customer is clean, accurate, and professional — no scratch-outs, no “revised invoice” follow-ups, no awkward phone calls — you look like a company that has its act together. Because you do.

Frequently Asked Questions

No. Opsler uses role-based auto-approval. If an admin or office manager creates an invoice, it can skip the review step and go straight to APPROVED status. Only invoices created by field technicians go through the PENDING_APPROVAL stage. The logic is simple: your office staff know what to charge. Your techs in the field are focused on the equipment, not the line items.

The invoice moves through 8 possible statuses: DRAFT (tech is still working on it during the job), PENDING_APPROVAL (submitted for review), APPROVED (office signs off), SENT (delivered to customer), VIEWED, PARTIAL (partially paid), PAID, and OVERDUE. Most invoices go DRAFT → PENDING_APPROVAL → APPROVED → SENT → PAID. The key step is that approval checkpoint between your tech finishing and the customer seeing it.

Yes. When you reject an invoice during the approval step, you add a note explaining what's wrong — 'Missing 3 hours of labor' or 'Discount should be 10% not 50%.' The tech gets notified and can edit the draft to fix the issue. Then it comes back through approval again. The rejection note stays in the record so you can see what was caught and when.

Opsler locks invoices during editing to prevent concurrent changes. If your tech is updating line items in the field and someone in the office tries to open the same invoice, they'll see that it's currently being edited. No overwriting each other's changes. No 'who saved last?' confusion.

In practice, no. Most offices review and approve invoices within minutes — it's a quick scan of the line items, not a full audit. And consider the alternative: an invoice goes out wrong, the customer pays the wrong amount, and now you're chasing the difference or eating the loss. A 2-minute review is a lot cheaper than a $300 undercharge you discover three weeks later.

Ready to Run Your Business Without the Chaos?

Scheduling, dispatch, estimates, invoicing, customer portal, review management, and a free branded website — all in one plan at $149/month.

10 days free. No credit card required. Cancel anytime.

View as plain text