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 Work in Your Trades Business

Techs forget to log extra materials and scope changes. AI captures job photos, texts, and voice notes and turns them into billable line items automatically.

Sam McKay |
Stop Losing Money on Unbilled Work in Your Trades Business

You send a tech to replace a water heater. Three hours later the job’s done, the customer’s happy, and you invoice for the quoted price. Two weeks later you’re reconciling parts and realize your guy also replaced a corroded shutoff valve, ran new flex lines, and added a thermal expansion tank. None of it made it onto the invoice. You just ate $340 in materials and labor.

This happens in every trades business. Not once in a while. Every week. The tech is focused on solving the problem in front of them, not documenting every add-on in real time. By the time they’re back in the truck, half the details are gone. Your office doesn’t know what actually happened on site until the parts order comes through, and by then the invoice is closed and the customer has paid.

Most owners I talk to estimate they’re losing between $50,000 and $200,000 a year this way. That’s not revenue you failed to win. It’s work you already did and forgot to bill for.

Why Unbilled Work Slips Through

The core problem isn’t laziness. It’s that your techs are tradespeople, not data entry clerks. They’re solving an emergency leak or diagnosing a compressor failure. Stopping mid-job to open a tablet, navigate three screens, and log a part number breaks their flow. So they don’t do it. They tell themselves they’ll remember later. They don’t.

Even when your process says “take a photo of every part you install,” photos pile up in the camera roll with no context. A picture of a capacitor doesn’t tell your billing admin which job it belongs to, what the part number was, or whether the customer approved the add-on. You end up with a folder of orphaned images and a tech who swears he told someone about the extra work.

Text messages to the office are better than nothing, but they’re still manual triage. Someone has to read “added a filter and two feet of duct at the Maple St job,” figure out which open work order that maps to, look up your pricing for those items, and add the line items before invoicing. If your office is slammed or the message comes in after hours, it sits in a queue. By the time it surfaces, the job is billed and closed.

The dollar impact is bigger than the missed line items. When a tech forgets to document scope changes, you lose the ability to defend the final price. A customer sees a bill that’s $600 higher than the estimate, doesn’t remember approving the extra work, and pushes back. You either eat the cost to preserve the relationship or spend 20 minutes digging through call logs and photos to prove the conversation happened. Both outcomes cost you money.

What Capturing Unbilled Work Actually Means

Capturing unbilled work isn’t about surveillance or micromanaging your crew. It’s about creating a system that turns the information your techs already generate into billable line items without adding steps to their day.

Your techs are already taking photos of the work. They’re already texting the office when something changes. They’re already leaving voice notes in the truck about what they found on site. The question is whether that information makes it into your invoicing system in time to matter.

A good capture system watches those channels, understands the context, and updates the job record automatically. A photo of a new part gets matched to the open work order, the part number gets looked up in your supplier catalog, and a line item gets drafted for your office to approve. A text that says “customer wants us to replace the thermostat too” triggers a price lookup and adds it to the estimate before the tech leaves the site. A voice note describing the condition of the ductwork gets transcribed and attached to the job file so your follow-up estimate references the exact language the tech used.

This isn’t theoretical. One HVAC outfit we work with had techs sending an average of four texts per job with scope changes or material swaps. Half of those texts never made it into the invoice because the office was routing calls and dispatching the next job. They were losing around $1,800 a week in forgotten add-ons. We built an agent that monitors their dispatch text thread, pulls out anything that sounds like a scope change, matches it to the active job, and creates a draft line item in their invoicing tool. The office still reviews and approves it, but nothing falls through the cracks. They recovered about $70,000 in the first year.

How an AI Agent Captures Job Changes in Real Time

An agent that captures unbilled work sits between your techs and your back office. It watches the communication channels your crew already uses and translates their updates into structured data your billing system can act on.

Here’s what that looks like in practice. Your tech is on site and realizes the breaker panel needs an upgrade to support the new HVAC unit. He takes a photo of the old panel and sends a text to the office: “Panel at 42 Oak is undersized, need to add a 200A upgrade, customer approved.” The agent sees the message, identifies the job by address, recognizes “200A upgrade” as a service you offer, pulls your standard pricing for that work, and creates a line item in the open work order. It flags the item for office review and sends a confirmation text back to the tech: “Got it, added panel upgrade to the Oak St job, $1,850.”

If the tech sends a photo instead of a text, the agent can read it. A picture of a part with a visible model number gets matched against your supplier catalog. A photo of a damaged component with a handwritten note in the image gets parsed and attached to the job. The agent isn’t trying to replace your judgment. It’s doing the tedious work of connecting the dots so your office can make the final call on pricing and approval.

Voice notes work the same way. A tech records a quick summary in the truck after the job: “Replaced the water heater like we quoted, also had to add a pressure regulator because theirs was shot, and I swapped out the old flex lines while I was in there.” The agent transcribes the note, identifies the add-ons, looks up your pricing, and drafts the line items. Your admin sees a clean list of proposed charges with the source audio attached. They can approve it in 10 seconds or adjust the pricing if the situation calls for it.

The result is that nothing your tech communicates gets lost. Every photo, text, and voice note that describes work performed gets turned into a billable line item before the invoice goes out. You’re not asking your crew to change how they work. You’re just making sure the information they already share makes it into the system.

The Office Side: Review and Approval Without the Triage

The other half of the problem is what happens in your office. Even when techs document everything perfectly, someone still has to translate that information into invoices. That person is usually juggling dispatch, answering the phone, and chasing down suppliers. Billing happens in the gaps, which means it happens late or not at all.

An agent that handles triage changes the equation. Instead of your admin digging through texts and photos to figure out what happened on each job, they get a clean list of proposed line items with the source material attached. The agent has already done the lookup work, matched the parts to your catalog, applied your standard pricing, and flagged anything that looks like an exception.

Your admin’s job becomes review and approval, not detective work. They scan the list, confirm the pricing makes sense, and push the line items into the invoice. If something looks off, they can drill into the source photo or text and adjust it. The whole process takes a fraction of the time because the grunt work is already done.

This also solves the timing problem. When a tech sends a scope change update at 6 p.m. and your office is closed, the agent still processes it. By the time your admin opens the system the next morning, the line item is drafted and waiting for approval. You’re not racing to update invoices before they go out. You’re working from a queue that’s already 90% complete.

For trades businesses that run lean office teams, this is the difference between billing everything you did and billing what you remembered to document. One electrical contractor we worked with had a single admin handling dispatch, invoicing, and supplier orders for a six-truck operation. She was good at her job, but she couldn’t be in three places at once. Scope changes that came in during dispatch hours got handled. Everything else was a coin flip. We built her an agent that triaged all the inbound updates and created draft line items. Her billing cycle dropped from three days to one, and their unbilled work fell by about 60% in the first quarter.

Connecting the Dots Across Your Workflow

The real power of an AI agent isn’t just capturing individual updates. It’s connecting those updates to the rest of your workflow so the information flows where it needs to go without manual handoffs.

When a tech logs a scope change, the agent doesn’t just update the work order. It checks whether the customer has already approved the cost. If not, it drafts an approval request and sends it via text or email, using the language your business typically uses. The customer replies, the approval gets logged, and the line item moves from pending to confirmed. Your office never touched it.

If the scope change requires a part you don’t have in stock, the agent can flag it for your purchasing workflow or even generate a supplier order if you’ve set up that integration. The part gets ordered, the expected delivery date gets added to the job notes, and your dispatcher knows not to schedule the completion until the part arrives.

This kind of workflow orchestration is what separates a useful agent from a toy. It’s not enough to capture the information. The agent has to route it to the right place, trigger the right follow-up actions, and keep everyone in the loop without creating more work for your team.

One plumbing business we work with had a recurring problem with parts delays. A tech would identify a needed part, text the office, and then the job would sit in limbo because no one followed up with the supplier. We built an agent that watches for parts requests, checks stock levels with their main suppliers via API, and either confirms availability or escalates to the purchasing manager if the part is on backorder. The job timeline gets updated automatically, and the customer gets a proactive text explaining the delay. They went from losing about 15% of jobs to parts confusion to near-zero dropoff.

What an Omni Audit Uncovers for Your Business

Every trades business has its own version of the unbilled work problem. The specifics depend on your trade, your dispatch process, how your techs communicate, and what tools you’re already using. An Omni Audit is a 60-minute working session where we map your current workflow, identify where information is getting lost, and show you exactly what an agent would do in your operation.

We don’t bring a deck. We bring questions. How do your techs communicate scope changes today? What happens to that information when it comes in after hours? How long does it take your office to turn a completed job into an invoice? Where do you think money is slipping through?

By the end of the hour, you’ll have three things. First, a process map that shows where unbilled work is leaking out of your system. Second, a sketch of the agent that would close those gaps, including what it watches, what it automates, and where your team still makes the decisions. Third, a dollar estimate of what you’re leaving on the table today and what capturing that work would add to your bottom line.

Most trades businesses we audit are losing between $4,000 and $15,000 a month in unbilled work. The ones with lean office teams or high variability in job scope are at the higher end of that range. If you’re doing $3 million a year and losing even $5,000 a month, that’s $60,000 in profit you already earned but never invoiced. Fixing it doesn’t require hiring another admin or overhauling your process. It requires an agent that watches the information your team is already generating and makes sure it turns into revenue.

Book a 60-min Omni Audit and we’ll walk through your workflow together. If you want to see what other trades businesses are building with Omni, take a look at the AI audit for trades businesses.

A Practical Starting Point: After-Hours Coverage

If you’re not ready to overhaul your entire capture process, start with after-hours. That’s when most unbilled work gets lost, because there’s no one in the office to triage updates and your techs are least likely to document thoroughly.

We’ve put together a step-by-step plan that walks you through setting up an after-hours capture system. It covers what to monitor, how to route updates, and how to make sure nothing that happens between 5 p.m. and 8 a.m. falls through the cracks. You can grab the After-Hours Call Recovery Plan for Trades and start using it this week.

The plan is built around the same principles we use when we build agents: watch the channels your team already uses, automate the triage and lookup work, and surface everything that needs a human decision in a format that’s easy to review. You don’t need custom software to start. You need a process that treats after-hours updates as seriously as the ones that come in during business hours.

Why This Matters More Than You Think

Unbilled work isn’t just a billing problem. It’s a trust problem. When a customer gets an invoice that’s higher than they expected and you can’t immediately explain why, they assume you’re padding the bill. Even if you dig up the text thread or the photo that proves they approved the extra work, you’ve already planted doubt.

An agent that captures scope changes in real time solves this before it becomes an issue. The customer gets a text confirming the add-on and the price while your tech is still on site. The approval is logged. When the invoice arrives, there are no surprises. The line items match the approvals, and the customer remembers the conversation.

This also protects your techs. When the office has a complete record of what happened on every job, your crew doesn’t get blamed for cost overruns or forgotten details. They can focus on doing good work, knowing the system will capture the rest.

For the owner, it means you’re running the business you think you’re running. You’re not discovering three months later that your material costs are 15% higher than your invoices because half your add-ons never got billed. You’re not writing off work because you can’t prove the customer agreed to it. You’re capturing everything you do, billing for it, and getting paid.

If you’re serious about closing the gap, the next step is to map where your unbilled work is hiding. Book my Omni Audit and we’ll find it together. Or explore more about how AI agents are changing operations for trades businesses in our guides and insights sections.

The work is already done. You just need to get paid for it.