Enterprise DNA

Omni by Enterprise DNA

Enterprise DNA Resources

Step-by-step how-tos. Practical AI operating-system thinking for owners, operators, and teams doing real work.

220k+

Data professionals

Omni

AI agents and apps

Audit

Map the manual work

Guide Intermediate Omni Ops

Stop Losing Money on Unbilled Service Time

Learn how trades businesses can catch forgotten labour, add-ons, and service work before invoicing with AI-driven note and time review.

Sam McKay |
Stop Losing Money on Unbilled Service Time

A technician arrives for a scheduled HVAC maintenance visit. The customer mentions a noisy blower motor. The technician spends another 45 minutes investigating it, replaces a small part from the van, and writes, “Checked intermittent blower noise, adjusted fitting, tested unit” in the job notes.

The invoice goes out for the maintenance visit only.

Nobody deliberately gave away that work. The technician was trying to help. The office team was processing a stack of completed jobs. The owner was taking calls, solving a supplier issue, and trying to get two crews rescheduled after a weather delay.

Yet that 45 minutes, the diagnostic work, and the part may never be billed.

This is one of the quieter leaks in plumbing, HVAC, electrical, and roofing businesses. It doesn’t show up as an obvious unpaid invoice. It hides in incomplete job notes, unclear time stamps, verbal approvals, change requests, and a gap between what happened on site and what made it onto the invoice.

For trades businesses doing $1 million to $25 million in annual revenue, we commonly see this type of leakage land somewhere in the 10% to 20% range when forgotten add-ons, extra time, small materials, unapproved variations, and missed follow-up are all considered. Not every dollar can or should be recovered. Some work is goodwill. Some jobs are fixed price. But many businesses have a material amount of completed, billable work that isn’t being reviewed before invoicing.

That can add up to the $50,000 to $200,000 annual leakage range quickly.

The answer isn’t asking your office manager to spend more nights reading technician notes. The answer is building a reliable check between completed field work and invoice creation.

Where unbilled service time slips through

Most trades owners know their technicians aren’t deliberately withholding information. The problem is the workflow.

A job starts with a booking or work order. The technician clocks in, travels, does the scheduled work, and often deals with something extra. They may diagnose a related fault, wait for a customer decision, collect parts, perform a temporary repair, or return after a break in the day.

By 4:30 p.m., they are entering notes from memory on a phone while sitting in traffic or restocking the vehicle.

The notes might say:

  • “Found leak under vanity, replaced trap, customer approved”
  • “Added 2 hours due to access issue”
  • “Had to pull extra cable through roof space”
  • “Return visit needed after parts arrive”
  • “Installed customer-supplied fitting, tested okay”
  • “Spent time locating fault, fault was in outdoor circuit”

Each note contains a possible billing event. But it may not be structured correctly in the field service system. The technician may select the original job code and close the job. They may forget to add a labour line. The extra part may be scanned out of the van but never connected to the invoice. The dispatcher may see a completed job and assume the pricing is right.

This gets worse when the business is busy.

An owner can lose 20 or more hours a week to dispatching crews, answering calls, moving appointments, handling customer questions, chasing parts, and resolving issues that arrive without warning. Invoice review becomes a rushed end-of-day task. The team bills what is easy to identify and moves on.

The result is not usually one big missed invoice. It is 30 minutes here, an emergency uplift there, a second trip not charged, a roof access complication, a diagnostic visit that became a repair, or a part used without a matching line item.

The margin damage is real because you have already paid for the labour and used the material. You have taken on the cost without collecting the revenue.

The difference between goodwill and leakage

Not every extra minute should be invoiced. Good trades businesses use discretion.

A plumber may tighten a loose fitting while already on site. An electrician may replace a small connector as part of a broader job. An HVAC technician may spend a few extra minutes explaining filter maintenance to a homeowner. A roofer may make a small adjustment after a final inspection.

That is customer care. It can win repeat work and referrals.

The issue is that most businesses don’t have a consistent way to distinguish intentional goodwill from a missed charge. Without that distinction, everything that isn’t explicitly invoiced gets treated as free.

You need a short review process that asks four practical questions before an invoice is sent:

  1. Did the technician spend more time on site than the scheduled scope allowed?
  2. Do the notes mention diagnosis, repair, return work, extra materials, access issues, or a customer-approved change?
  3. Do time stamps, GPS arrival data, vehicle stock movements, or photos support an additional charge?
  4. Is the extra work covered by the agreed quote, warranty, fixed-price package, or planned goodwill?

That review doesn’t need to slow invoicing down. Done properly, it gives the office team a short exception list instead of a mountain of job records.

Why manual review breaks down

The standard manual process sounds reasonable.

A technician completes a job. The office receives the paperwork. Someone checks the notes and prepares the invoice. If something looks unclear, they call the technician. Then the invoice goes to the customer.

In a small business, that may work when there are five jobs a day. It gets unreliable when there are 30, 60, or 100 field jobs moving through the system each week.

The admin team has to interpret abbreviations, voice notes, photos, service codes, time sheets, supplier receipts, and messages from technicians. They are also handling inbound calls, booking emergency work, taking payments, and updating customers.

The owner often becomes the human exception handler. Someone asks, “Can we charge for this?” The answer takes five minutes. Multiply that across a week and the owner is still working at 8 p.m., while the most important revenue checks remain inconsistent.

There is another issue. Technicians are usually not trained as invoice auditors. They know the work. They may know the customer. They don’t always know which line item, labour code, travel allowance, or markup policy applies.

A system that relies on perfect field data entry will disappoint you. A better system expects incomplete information and surfaces the jobs that need a human decision.

This is where Omni Ops can take a meaningful load off the office.

What an AI review agent does before invoicing

An AI agent for unbilled service time is not a tool that automatically charges customers for anything it finds. That would create disputes and undermine trust.

Its job is to read the evidence, compare it with the job scope, and flag exceptions for review.

Here is what the end-to-end process can look like.

1. Pull completed-job data into one review queue

At a defined point each day, the agent receives completed or near-complete jobs from your field service platform. Depending on your setup, it can review:

  • Scheduled job type and quoted scope
  • Technician notes and voice-to-text notes
  • Clock-in, arrival, start, and completion time stamps
  • Parts and inventory movements
  • Photos and attachments
  • Prior customer messages
  • Existing invoice line items
  • Estimate details and approved variations
  • Return visit records

The agent doesn’t need perfect data to begin. It needs enough information to compare what was planned, what appears to have occurred, and what has been billed.

For example, an electrical job booked as “replace faulty power point” may show 3.5 hours on site, notes mentioning fault finding in a second circuit, two additional cable items, and an invoice containing one fixed labour line.

That is an exception worth looking at.

2. Parse notes for billable signals

Technician notes aren’t clean data. They are shorthand, trade language, and incomplete sentences. This is where AI is useful.

The agent can identify phrases that indicate possible additional work, including:

  • Fault finding or diagnostics beyond the booked job
  • Extra labour caused by access, safety, weather, or site conditions
  • Additional parts fitted
  • Customer approval on site
  • Emergency attendance outside normal hours
  • A second issue discovered during the visit
  • Return trips and partial completion
  • Disposal, travel, or equipment requirements
  • Work outside the original estimate

It can also identify signals that should reduce or remove a proposed charge, such as warranty work, callback, goodwill, bundled maintenance inclusion, or “no charge approved by manager.”

The point is not to replace your pricing policy. The point is to apply that policy consistently.

3. Compare notes with time stamps and invoice lines

The strongest review comes from combining information sources.

A technician note saying “extra hour to access unit in ceiling” is useful. It becomes more credible when the job time stamp shows the technician was on site 90 minutes longer than planned.

A note saying “used extra isolation valve” matters more if van stock shows that part leaving inventory.

A roofing note saying “customer asked us to repair adjacent flashing” should be compared with the original scope and any photo evidence.

The AI agent can create a concise flag such as:

Job completed 78 minutes over scheduled duration. Notes mention fault diagnosis and replacement of an additional capacitor. One capacitor removed from vehicle stock. Invoice includes maintenance visit only. Review potential diagnostic labour, part, and repair line item.

That is far better than asking an administrator to reread the full job record and guess what is missing.

4. Route only the exceptions to the right person

A good process does not create another dashboard nobody checks.

The agent can send a daily exception queue to the person responsible for invoicing, with categories like:

  • Likely missed labour
  • Possible unbilled materials
  • Scope variation requires approval check
  • Return visit not invoiced
  • Time stamp discrepancy
  • Warranty or goodwill confirmation required

Each item should include the evidence and a recommended next action. That action might be “add 0.5 hours at diagnostic rate,” “confirm with technician,” “send variation approval request,” or “mark as goodwill.”

The office person remains in control. They approve, edit, or dismiss the recommendation. Over time, the agent learns the language, job types, and policies that matter in your business.

5. Capture the decision for future jobs

Every reviewed exception should improve the operating system.

If your office repeatedly marks “additional access time” as chargeable above 30 minutes, that becomes a clearer rule. If a maintenance agreement includes certain small parts, the agent can stop flagging them. If one technician routinely leaves notes without labour detail, the manager can coach that technician with specific examples.

That is how you reduce leakage at the source rather than just catching it at the invoice stage.

For a closer look at where these workflows fit across your operation, see Omni for trades businesses.

A realistic example from an HVAC service day

Consider a technician assigned to a $249 seasonal service visit.

The job is scheduled for 60 minutes. The technician arrives on time and stays for 2 hours and 15 minutes. Their notes say the customer reported poor cooling, the technician found a weak capacitor, replaced it, tested the system, and recommended a future duct clean.

The invoice is drafted at $249 because the service code was selected when the job was opened.

A manual process may miss the difference. The technician has completed seven jobs that day. The office has 18 invoices to prepare. The customer is waiting for their receipt.

An AI review agent flags the job because:

  • Time on site exceeded the scheduled duration by 75 minutes
  • Notes contain diagnostic and repair language
  • A capacitor was used from vehicle inventory
  • The original job was a maintenance service, not a repair
  • The draft invoice contains no parts or additional labour

The agent does not automatically add charges. It sends a review card to the service coordinator. They confirm that the customer approved the repair, apply the correct capacitor and labour pricing, and send an accurate invoice that day.

That is not aggressive billing. It is billing for work completed with customer approval.

Now multiply that type of check across every completed service job. Even a modest recovery rate can justify the process quickly.

Don’t ignore the calls and estimates feeding the same leak

Unbilled service time is one revenue leak. Missed demand is another.

If calls go to voicemail while your crew is on the tools and you are dispatching jobs, some callers simply move to the next plumbing, electrical, HVAC, or roofing business in the search results. A missed job can be worth anywhere from $500 to $3,000, depending on the trade and work required.

The 24/7 Dispatch Voice Agent answers those calls, distinguishes urgent work from scheduled work, books the right slot into the dispatch tool, and sends the customer a confirmation text. It makes sure opportunities actually enter your workflow.

Then the Estimate Follow-Up Agent can track every quote that leaves the business and follow up on day 2, day 5, and day 14. In many trades businesses, a structured follow-up process can revive a meaningful portion of stale estimates. We often see 15% to 25% as a workable range where the estimates were valid, the lead was real, and nobody followed up properly.

These agents work together. The voice agent prevents lost calls. The follow-up agent protects quoted revenue. The service-time review agent makes sure completed field work reaches the invoice.

If you want to map this against your own dispatch, billing, and follow-up process, Book a 60-min Omni Audit. It is a working session, not a deck presentation.

Start with a two-week leakage review

You don’t need to rebuild your entire field service operation before finding opportunities.

Take two weeks of completed jobs and select a representative sample. Include maintenance visits, repairs, quoted jobs, emergency work, and return visits.

For each job, compare the scheduled scope, technician notes, time on site, parts used, and final invoice. Track the following:

  • Jobs where actual time materially exceeded scheduled time
  • Jobs with extra parts in notes or inventory records
  • Jobs mentioning customer approval or additional requests
  • Jobs with return visits but no second invoice
  • Jobs closed with unclear or missing notes
  • Jobs marked as fixed price where scope changed on site
  • Jobs sent to invoice more than 48 hours after completion

Don’t try to recover historical charges without care. Focus on finding the pattern. You may discover one job type, one handoff, or one system field that creates most of the issue.

A roofing business may find that access and weather delays aren’t consistently recorded. A plumbing business may see after-hours callout fees missed on jobs booked by phone. An electrical contractor may find that small materials are being used but not attached to work orders. An HVAC company may identify maintenance calls that routinely turn into repair work without a separate invoice line.

The objective is a controlled revenue process, not pressure on technicians.

Use the after-hours worksheet alongside billing review

After-hours calls often create both sides of the problem. They are easy to miss when nobody answers, and they are easy to underbill when a technician is sent quickly with limited job details.

The After-Hours Call Recovery Plan for Trades gives you a practical checklist for deciding who answers, what information gets captured, how emergencies are classified, and how the job reaches dispatch.

You can also access the direct after-hours call recovery worksheet to use with your office team. Pair it with the completed-job review process so that the original call details, customer expectations, callout conditions, and final invoice stay connected.

What an Omni Audit gives you

The best automation opportunities are usually sitting in the gaps between systems and people. The dispatch platform may hold the job. The technician app holds notes. Inventory tracks parts. Accounting holds the invoice. No one system is checking the full story.

That is what we examine in the AI audit for trades businesses.

In 60 minutes, we work through three outputs:

  1. A clear map of where revenue, time, and follow-up are leaking in your current workflow.
  2. A priority list of agent opportunities, including service-time review, call handling, estimate follow-up, and review collection.
  3. A practical first implementation plan based on your existing systems and the level of operational change your team can absorb.

There is no generic transformation deck. We look at the actual work moving through your business.

You can also review the broader Omni platform and browse our operations resources if you are still building a view of where AI agents can fit.

If your team is completing good work but invoices don’t always reflect it, start there. Capturing a few missed labour hours, parts, and approved variations each week can change the economics faster than most owners expect.

Book a 60-min Omni Audit and we will identify where unbilled service time is getting lost, what should remain goodwill, and what your team can recover without adding another layer of admin.