AI Job Costing for Field Service: From Spoken Note to the Right Rate

by Sandlabs Team, Founder, Sandlabs

Most field service businesses have spent the last few years getting the field part right. The technicians have an app, the jobs are scheduled, the photos are attached, the notes are captured. The van is a connected office. And yet the office is still slow, and the margin is still thinner than the volume suggests it should be. The reason is almost always the same: the work gets captured well and costed by hand.

Job costing - deciding what each completed job is actually worth and getting it onto an invoice at the right price - is the step that field service management software supports but rarely finishes for you. Someone still reads the note and picks the rate. This post is about closing that last gap with AI: turning a plain job note into the correct billable code, at volume, without another platform to log into.

What job costing means in field service

Job costing in field service is the practice of attributing the right price to each job based on what was done, so that the invoice reflects the actual billable work. Depending on how you operate, "the right price" comes from one of a few places:

  • A client rate card or Schedule of Rates. Common in maintenance, facilities, and social housing, where a contract fixes a price for every coded task. We cover the housing case in depth in automating SOR coding for social housing maintenance.
  • An internal price book. Your own catalogue of standard jobs and prices, applied consistently across technicians.
  • Time and materials against a costed estimate. Where labour and parts are tracked against what the job was quoted to cost.

In all three, the same thing is true: the money is decided when someone maps the completed work to a code or line item. Do that accurately and you bill what you earned. Do it loosely and you leak revenue, one small job at a time.

Your field service management software captures the job. It doesn't cost it.

This is not a knock on the tools. Platforms like AroFlo, Simpro, and ServiceM8 are good at what they do - scheduling, dispatch, job records, timesheets, invoicing. If you are comparing them for exactly this kind of work, we have a detailed breakdown in AroFlo vs Simpro vs ServiceM8 and a wider look at AI for Australian trades software.

But there is a specific seam these systems leave open. They will happily store a job note, a set of photos, and a list of line items. What they do not do is read "swapped the failed isolation valve under the sink and made good the cabinet base" and decide, on their own, that this is two billable lines at particular rates on this particular client's price book. That decision - the costing decision - still falls to a person.

At low volume, that person is fine. At hundreds of jobs a day, the costing step becomes the bottleneck: invoicing lags behind the field, coding quality varies with whoever is doing it, and billable items slip through because a busy coder did not catch every one buried in a terse note.

Why job costing has stayed manual

Two reasons, and both have quietly changed.

Field language is too variable for rules. You cannot build a lookup table that turns notes into codes, because your technicians will describe the same job a dozen different ways, and no keyword rule survives that. Older automation - macros, RPA, rigid templates - falls over the moment the wording drifts, which is constantly.

The price book is specific and it moves. Every client rate card is worded differently, and internal price books get revised. Costing correctly means holding the right price book in mind for the right job and choosing between lines that can look almost identical. That is expert knowledge, and it lives in a few experienced heads.

What has changed is that language models can now reason about what a note means rather than matching the words in it, and can keep a specific price book in context while doing so. That combination is what makes job costing automatable in a way it simply was not a few years ago. If you are weighing whether to build this yourself or lean on features bundled into your platform, custom AI agents versus bundled field-service AI lays out the trade-offs.

How AI job costing works, end to end

The pattern we build follows four steps, and the human-in-the-loop step is deliberate, not a stopgap.

1. Capture the note as it already happens. The technician describes the work in their own words, by voice or text, on site. No new codes to memorise, no field dropdown to hunt through. Whatever you already use to record job notes stays.

2. Interpret and match to a code. An AI engine reads the note, works out what was actually done, and retrieves the correct line or lines from the relevant price book - the specific client rate card or your internal catalogue - with a quantity and a confidence score for each.

3. Confirm what needs confirming. Clear, high-confidence matches are ready to invoice. Anything ambiguous is flagged for a fast human check rather than guessed. Your coder stops doing the routine 80 percent and spends their judgement on the genuinely uncertain cases.

4. Write it back into your system. The confirmed codes land on the job in your field service management software, ready to bill. The platform stays the system of record; nothing downstream changes.

Two things distinguish this from "AI features" bolted onto a note. First, transcription is not costing - turning speech into text gives you a cleaner note, not a billable decision. Second, the connection into your job system is a private, scoped Sandlabs connector running inside Claude, purpose-built for this task, rather than a general integration or yet another app your team has to adopt.

Job costing is a revenue problem, not a time problem

It is easy to pitch this as hours saved, and it does save hours. But the reason to prioritise it is revenue.

You bill what you earned. Fewer missed line items and fewer mis-codes mean fewer under-billed jobs and fewer rejected or clawed-back claims. The work you already did in the field actually reaches an invoice at the right price.

Cash arrives sooner. When costing keeps pace with the field instead of stacking up in the office, invoices go out faster and the gap between doing the work and getting paid shrinks. If invoicing is your specific pain, how to automate invoicing without Zapier is a useful companion.

Consistency stops depending on people. One costing standard applies to every technician and every job, so quality does not swing with who is coding that day, and a new hire does not need to learn the whole price book before they are useful.

Time saved is real. It is just the by-product. The headline is margin you stop leaving on the table.

Security and control

Because job notes can contain customer and site details, the controls matter. We describe what the system does, not what your business is required to do - that is your call, not ours.

  • A person confirms before anything is booked. The system proposes; a human owns the uncertain calls. Nothing is invoiced on an unchecked guess.
  • Least-privilege, scoped access. The connector into your job system holds only the permissions the costing task needs, and every action is logged.
  • Your data stays yours. Client rate cards and job notes are not used to train public AI models.
  • Claims match what we deliver. We only make data-handling and isolation claims the built system actually supports, and we design to your residency or isolation requirements where you have them.

Sandlabs is an enabling-technology provider. We build the costing layer; we do not provide legal, compliance, or regulatory advice.

Who this is for

If you run a high-volume field service or maintenance operation - trades, facilities, property maintenance - and costing is where your invoicing slows down or your margin quietly erodes, this is the layer that addresses it. It sits alongside the field service management software you already run, as the costing intelligence that turns field language into the right, billable code at the volume you actually operate at.

The deepest worked example is the social housing case, where the price book is a client Schedule of Rates: read automating SOR coding for social housing maintenance for the full picture, or what a Schedule of Rates is if the pricing model itself is new to you.

FAQ

What is AI job costing?

AI job costing uses a language model to read a technician's plain-language job note, work out what was done, and match it to the correct billable code on the relevant price book or rate card - with a quantity and a confidence score - so that clear matches flow through and only uncertain ones need a human check.

Does this replace my field service management software?

No. It adds a costing layer on top of the platform you already use, such as AroFlo, Simpro, or ServiceM8. Notes are interpreted, matched to a code, confirmed where needed, and written back into your existing system, which stays the source of truth for scheduling and invoicing.

How is AI job costing different from voice-to-text on my job app?

Voice-to-text produces a cleaner written note. It does not decide which price-book line the job should be billed under. Job costing takes the note, however it was captured, and makes the billable decision - mapping it to the correct code for that client or catalogue.

Will it work with our own price book, not just client rate cards?

Yes. The engine reasons against whichever price book applies to the job - a client Schedule of Rates, a client rate card, or your internal catalogue - and matches to the correct line in that specific library.

How do you stop it from mis-costing jobs?

Every proposed code carries a confidence score. High-confidence matches are ready to bill; anything uncertain is flagged for a human to confirm before it is booked. The person stays in control of the calls that need judgement, which is what keeps the numbers trustworthy.

See it on your jobs

If job costing is the step slowing your invoicing or costing you margin, we would like to look at your setup. Book a free 30-minute intro call at sandlabs.com.au/book-a-call or email [email protected].

More articles

Claude AI Pricing (October 2026): Every Plan in USD + AUD

Claude Pro is US$20/mo (A$34 in Australia), Max US$100-$200, Team from US$20/seat with a 2-seat minimum. Every plan, API rate and GST rule, re-checked 20 Oct 2026.

Read more

Claude Code Pricing 2026: Pro vs Max vs Team vs API (USD + AUD)

Claude Code has no price of its own and is not free: it comes with Pro (US$20, A$34 in Australia), Max, Team or the API. Headroom by plan, and when the API is cheaper.

Read more

Let's build something great together.

Melbourne, Australia — serving founders worldwide. [email protected]