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 Unbilled Time in Your Plumbing Business

Use AI to capture drive time, parts runs, callbacks, and after-hours plumbing work that technicians forget to log and bill.

Sam McKay |
Stop Losing Unbilled Time in Your Plumbing Business

Unbilled time is usually hiding in plain sight

Most plumbing owners don’t have a billing problem because their hourly rate is wrong. They have a billing problem because the workday contains dozens of billable moments that never make it into the job record.

A technician drives 25 minutes from a completed call to pick up a fitting. The dispatch board still shows them as available. Nobody adds the trip to the invoice.

A plumber returns to a job because the first repair revealed another issue. The customer sees it as one job. The team sees it as a quick callback. The owner absorbs an extra hour, vehicle cost, and materials because no one decides what should be billed.

A crew works until 8:15 pm to stop a leak. The technician intends to update the job the next morning. By then, the emergency rate, overtime note, and detail on the extra material have been replaced by three new service calls.

This isn’t carelessness. It’s what happens when technicians are moving between jobs, dispatch is handling calls, and the owner is still the person expected to reconcile every gap at the end of the week.

For plumbing, HVAC, electrical, and roofing businesses doing $1 million to $25 million a year, we commonly see leakage in the $50,000 to $200,000 range. That doesn’t mean every dollar comes from unbilled technician hours. It includes missed after-hours calls, estimate follow-up that never happens, small material charges, drive time, unapproved change work, and callbacks that aren’t coded clearly.

The opportunity is not to ask your technicians to complete more forms. It is to use AI to capture the evidence of work as it happens, route exceptions to the right person, and create a clean billing decision before the memory of the job fades.

The four time leaks that drain plumbing margins

The most expensive leaks are rarely dramatic. They’re repeated hundreds of times across a year.

Drive time between jobs and material runs

Many plumbing businesses bill a call-out fee or build travel into their rate. That works until the original scope changes.

The plumber arrives, diagnoses the issue, then needs a specific valve, pump, or fitting. They drive to a supplier, wait at the counter, return to site, and complete the repair. The materials may make it onto the invoice. The extra 60 to 90 minutes often does not.

There are good reasons for this. The technician may not know whether the customer approved the extra time. Dispatch may be busy. The office may see the supplier receipt but have no job note explaining why the run was needed.

An AI workflow can connect job status, GPS or mobile check-ins, supplier receipts, technician voice notes, and dispatch messages. It doesn’t automatically charge a customer for every minute. It flags a likely billable event and asks the right question:

  • Was this material run caused by a change in scope?
  • Was the customer told about the additional work?
  • Is travel included in the agreed price?
  • Should this time be added as labour, a call-out adjustment, or written off?

That distinction matters. Good automation gives your team a decision queue. It doesn’t create invoices without commercial control.

Callbacks with unclear ownership

Callbacks are a fact of life in the trades. Some are workmanship issues that you should absorb. Some result from a customer changing their mind, a separate fault, restricted access, or a problem that could not be diagnosed during the first visit.

The issue is not the callback itself. The issue is when every return visit is logged under the original job with no reason code, no notes, and no review.

A technician might spend 45 minutes handling a second issue on a kitchen leak job. If they simply mark the job complete, your office has no prompt to ask whether it is a warranty return, additional authorised work, or a new service call.

AI can read technician notes, transcribed voice updates, photos, job history, and customer messages to identify a probable callback. It can then create a simple review item for the service manager. The manager sees the original job, elapsed time, new materials used, and the technician’s explanation in one place.

That is a better process than relying on the invoice clerk to notice a duplicate address two days later.

After-hours work that gets diluted by morning

After-hours work is often where the margin disappears fastest. A customer calls with a burst pipe at 6:40 pm. The owner answers, calls a technician, and makes notes on a scrap of paper. The technician completes the work, sends a text saying “all sorted,” and goes home.

Next morning, the customer is entered as a standard service job. The emergency dispatch time, overtime, and premium charge are either missed entirely or debated after the fact.

The first fix is to stop losing the call. The 24/7 Dispatch Voice Agent can answer after-hours enquiries, determine whether the issue is an emergency, collect the address and job details, book the appropriate slot in your dispatch tool, and text the customer confirmation.

The second fix is to preserve the commercial context. When a job is created from an after-hours call, it should carry the original call time, urgency classification, customer approval language, and any emergency pricing rules. The technician then starts from a job record that already knows why the call was treated differently.

This gives your office a defensible trail. It also avoids the awkward situation where a customer receives a premium invoice with no record that emergency pricing was explained.

Small tasks that never reach the invoice

A forgotten task can look too small to chase. Replacing a connector. Collecting a pressure relief valve. Waiting while a building manager provides access. Resetting equipment after a planned repair. Calling the customer back to confirm a quote.

One item is not a business crisis. Across 10 technicians and 250 working days, it becomes material.

The goal is not to charge for every admin minute. It is to separate legitimate included work from work that should have been billed, approved, or at least measured. You can’t manage the margin on a service department if the job record only shows the time spent with a wrench in hand.

What an AI time-capture workflow looks like

The best systems don’t begin with a generic chatbot. They begin with a map of how your jobs move from enquiry to invoice.

In a typical plumbing business, the workflow looks like this.

  1. A customer calls, texts, fills in a form, or responds to an existing estimate.
  2. Dispatch creates or updates the job and allocates a technician.
  3. The technician travels, diagnoses, gets approval, completes work, and may need parts or a return visit.
  4. The office checks notes, invoices the job, follows up for payment, and decides whether to request a review.
  5. Someone notices the exceptions, if they have time.

AI should support the points where information is lost.

At call intake, the 24/7 Dispatch Voice Agent captures the issue, urgency, property details, and available times. It can distinguish “water coming through the ceiling now” from “tap is dripping and can wait until Thursday.” It sends the information to your dispatch workflow instead of leaving a voicemail for someone to interpret later.

During the job, technicians need a low-friction way to record what changed. For many teams, that means a 20-second voice note through the mobile app rather than a long typed update. The AI transcribes it, identifies references to a parts run, approval, additional fault, or after-hours work, then updates the job record with a proposed billing or review flag.

For example, a technician says:

“Customer approved replacement of the isolation valve. Had to pick up a 20mm valve from the supplier. Back on site at 3:40. Also found the hot water unit has corrosion, quoted separately.”

The system can identify three separate actions. Add the material receipt, flag additional travel and labour for invoice review, and create a follow-up task for the hot water quote.

At job close, the workflow compares elapsed time, technician activity, notes, materials, and original scope. If there is a mismatch, it does not assume fraud or error. It asks for a quick review before the invoice is sent.

Your office might see:

  • Job booked as standard repair, completed at 7:20 pm
  • Technician logged 2.4 hours against a one-hour allowance
  • Supplier receipt attached after diagnosis
  • Voice note contains “customer approved”
  • Emergency call was received at 5:58 pm

That is enough context to invoice correctly without making the office replay every job from scratch.

The operational backbone for this sits in Omni Ops, where agents can move information between your phone system, field service platform, accounting process, inbox, and customer messaging. The value comes from using the systems you already rely on, then filling the gaps between them.

Don’t automate billing before you define the rules

A common mistake is to hear “AI captures time” and assume the answer is automatic invoicing. That can damage customer trust quickly.

Your team needs written billing rules before automation can enforce or escalate them. These rules don’t need to be a 70-page manual. They need to be clear enough that a dispatcher, technician, and service manager would reach the same answer most of the time.

Start with five categories.

Included travel. Define what is included in a service area and what happens when a technician leaves site for parts. A planned travel allowance is different from an unexpected supplier run caused by newly discovered work.

After-hours pricing. Set the time windows, call-out fees, minimum charges, and approval wording. Make it visible at intake and again in the job record.

Callback categories. Use practical codes such as workmanship warranty, product failure, separate fault, customer-requested change, access issue, and incomplete original diagnosis. Each category should have an owner and a billing default.

Approval evidence. Decide what counts. It might be a customer signature, text confirmation, recorded call consent, or a technician note for work under an agreed threshold.

Invoice review thresholds. A $15 fitting may not need a manager check. A job with 90 minutes beyond the quoted allowance, an after-hours call, or a return visit probably does.

Once those rules exist, AI can make your team more consistent. It can also show you where the rules are too vague.

If every supplier run is being flagged but 80 percent are genuinely included, your process needs refinement. If callbacks labelled “warranty” regularly contain notes about a new problem, you have a coaching and margin issue worth investigating.

Recover the phone calls before worrying about the job notes

Unbilled time often starts with a missed call.

When the owner is dispatching crews, on the tools, or driving between sites, the phone may ring out. Half of callers won’t leave a voicemail. For urgent plumbing work, they simply call the next business on Google.

A missed service job can be worth $500 to $3,000 depending on the work. More importantly, it may have become a repeat customer, referral source, or maintenance relationship.

The 24/7 Dispatch Voice Agent gives every caller an immediate response. It qualifies emergency versus scheduled work, gathers the information a dispatcher would normally collect, books according to your rules, and sends a confirmation text. It can also escalate only the genuine emergencies to the on-call person.

That means the person on call receives a structured brief instead of a vague missed-call alert at 10 pm.

If your operation has a mix of phone, SMS, and web enquiries, this is also where Omni Apps can provide a simple internal view. Dispatch can see open time-capture flags, unresolved callback classifications, call outcomes, and jobs awaiting invoice review without jumping between inboxes.

A good first step is to measure one week of calls. Track calls answered, missed calls, after-hours calls, jobs booked, and calls that received a response within five minutes. Then compare it with the jobs invoiced from that cohort. The gaps usually become clear quickly.

If you want help finding the exact breakpoints in your own process, Book a 60-min Omni Audit. We will look at the workflow from first call through to invoice, identify where data disappears, and prioritise the fixes that have a clear commercial return.

Follow up on estimates and completed work

Time leakage and revenue leakage tend to travel together. A business that can’t consistently capture an extra supplier run often has a folder full of estimates that were sent but never followed up.

The Estimate Follow-Up Agent tracks every estimate that leaves your system. It follows up on day 2, day 5, and day 14 using messages tuned to the job type and value. A blocked drain quote needs a different message from a full hot water replacement or a commercial maintenance proposal.

Follow-up alone can convert 15 to 25 percent of stale estimates in many service businesses, though your results will depend on lead quality, pricing, and how quickly the estimate was sent. The key point is simpler. If there is no process, there is no follow-up.

The Review and Reactivation Agent handles another task that usually gets left until someone has spare time. It asks happy customers for a review the day after a completed job, then reconnects with customers at appropriate service intervals.

These agents matter because they reduce the pressure on the office. When dispatch isn’t manually chasing every quote and every review request, they can spend more time resolving the invoice exceptions that need human judgment.

For a broader view of what this kind of operating model can cover, see Omni for trades businesses. It is built around the practical workflows that sit between calls, dispatch, field work, invoicing, and customer follow-up.

Use this checklist to fix your after-hours call process

If after-hours calls are a known issue, start with a process review before you buy another tool. Who answers the phone? What information do they collect? How is emergency pricing communicated? Where does the call record live? Who checks that the job was invoiced with the correct rate?

Our After-Hours Call Recovery Plan for Trades is a practical worksheet for documenting those steps. You can also download the plan directly and use it with your dispatcher or service manager in a 30-minute review.

The checklist won’t replace the operating discipline. It will help you identify the missing handoffs before they become another month of lost emergency work.

What happens in an Omni Audit

An Omni Audit is not a sales deck and it isn’t a generic AI brainstorm. It is a 60-minute working session focused on your actual workflow.

We start with the path of a real job. A customer calls after hours. Dispatch creates the job. A technician attends, finds additional work, runs for parts, returns to site, and closes the job. Then we inspect what your current systems capture, what they miss, and who is expected to fill the gaps.

You leave with three outputs:

  1. A mapped view of the manual handoffs and leakage points.
  2. A prioritised list of AI agent opportunities, including what should remain a human decision.
  3. A practical next-step plan based on impact, integration effort, and the data you already have.

For some businesses, the first priority is answering every call. For others, it is an invoice-review queue that catches out-of-scope work and after-hours charges. A business with a strong call centre may get more value by starting with estimate follow-up and callback classification.

That is why the audit matters. Copying another plumbing company’s software stack is not a strategy. Your job mix, service area, technician capacity, and existing systems determine where the fastest recovery sits.

You can read more about the approach in the AI audit for trades businesses, then Book my Omni Audit.

Start with one job type and prove the result

Don’t try to automate every service process in the first month. Pick one job type where leakage is easy to see.

For a plumbing business, that might be after-hours emergency calls. For an HVAC contractor, it could be parts runs on repair jobs. For an electrical business, it may be quoted work that turns into additional scope on site. For roofers, it may be weather-related return visits and material changes.

Run the process for 30 days. Track the number of flagged events, the number reviewed, the number correctly billed, the number written off, and the reasons for write-offs. You will quickly learn whether the issue is poor capture, unclear pricing rules, weak technician notes, or an approval process that breaks down in the field.

The point is not to squeeze every minute from your customers. It is to stop giving away work that your team completed, your customer approved, and your business needed to stay profitable.

When the job record reflects the real job, you can make better decisions on pricing, staffing, technician coaching, and customer service. That is the foundation for a trades business that grows without the owner spending every evening chasing what happened during the day.