FieldproxyAI-native field service software

Photos and proof of work

How can AI check technicians' job photos before a job is closed?

Make each job type require a named set of photos, then have an AI step check every photo on the phone or right after upload: is it sharp enough, does it show the right thing, and can the serial number or meter reading be read and does it match the job. Photos that pass let the job close; photos that fail ask the technician to retake while still on site, and only unclear cases go to a person in the office. A required photo field alone only proves a photo exists, so the value comes from the content check and from blocking the close until it passes or someone overrides it.

  • Name the required shots per job type (e.g. meter face, serial plate, finished install), not just a minimum count.
  • Run the check before the technician leaves site, so a retake costs a minute instead of a return visit.
  • Three outcomes, not two: pass closes the job, fail asks for a retake, unsure goes to a human queue.
  • Read the value the photo is for (serial, kWh, part number) and compare it with the job record.
  • Keep an override with a reason and a switch to turn AI checks off per job type.
Fieldproxy

AI photo checks catch missing, blurry and wrong photos well. They do not prove a photo was taken on that site that day, and they still need a person for the cases they flag.

Facts checked as of November 2026. Sources at the end of the page.

Step by step

How it works, step by step

The same shape works for meter reads, installs, cleaning, inspections and repairs. What changes is the list of shots and what each one must show.

1. Write a photo spec per job type

For each job type, list the shots and what each must show. A meter read might need: meter face with the full kWh register readable, serial number plate, and the meter box with seals visible. An install might need: before, the finished unit, the serial plate, and the connection close-up. Each shot is its own required field with a short instruction and a sample photo, not a free gallery.

2. Capture in the app, in order

The technician app walks through the shots one by one. Photos are taken in the app (not picked from the camera roll, unless you allow it), stamped with the time and GPS position, and stored offline if there is no signal.

3. Check quality first

A cheap image check runs before any AI reading: is it too dark, too small, or blurry. A common blur test is the variance of the Laplacian, which scores how many sharp edges an image has; the threshold has to be tuned to your own photos. A failed quality check asks for a retake at once.

4. Check content against the spec

A vision model answers the questions written in the spec for that shot: is this a meter face or a serial plate; is the register fully visible; is the gas meter photographed instead of the electricity meter; is the poster on the right stand. It returns a pass, a fail with a reason the technician can act on, or unsure.

5. Read the values and compare them

Text in the photo (serial number, kWh reading, part number, asset tag) is read into fields on the job. Then simple rules compare them with what you already know: the serial matches the asset on the job, the reading is not lower than the last one, the part number is on the parts list. A mismatch is a fail or a flag, set per field.

6. Gate the close

The job cannot move to Completed while a required shot is missing or failed. The technician can retake, or request an override with a reason (e.g. meter inaccessible, customer refused access). Overrides and unsure results land in a review queue in the office.

7. Review only the flags, and learn from them

The office reviews the queue, not every photo. Each decision (accept, reject and send back, accept with a note) is stored with the photo, so you can see which checks fire too often and tune the spec or threshold.

Where it breaks

Why it goes wrong

These are the problems buyers described on our sales calls, by trade and size.

Someone in the office looks at every photo

A risk inspection firm with about 40 contractor field agents told us the office reviews every photo on every job, when only a small share have a problem. The review is the bottleneck, not the field work.

The photo exists but the value is missing

The same firm gets meter photos that are blurred, or show the date but no kWh read. A required photo field passes, because a photo was attached. The gap shows up days later, after the agent has left the area.

Wrong subject, found too late

A display installation company covering thousands of retail sites wanted to know if the photo shows the correct material before the driver leaves. A satellite equipment installer described long back-and-forth with its support team over install photos. Both are cheap to fix on site and expensive after.

Required fields that can be skipped

Some tools only warn. In Jobber, if a visit is completed with required checklist fields blank, the team member is prompted to go back, but can still complete the visit and leave the checklist unfinished.

AI that guesses and nobody can switch off

A commercial electrical contractor with 30 to 40 visits a day asked whether AI photo interpretation can be turned off, because a wrong guess on what a photo is for causes more work than it saves. General vision models say themselves that they can make mistakes on low-quality, rotated or very small images, and that counts of many small objects may not be exact.

Photos that are real but not from this job

A photo from the camera roll, or from last month's visit, passes a content check. EXIF dates such as DateTimeOriginal are writable fields, so they are a weak proof on their own. In-app capture with the job's time and GPS stamp is a better default. Content Credentials (C2PA) can sign the capture device and a hash of the image, but they can be stripped from a file, and a photo without them is not proof of a fake.

The options

Ways to do it

ApproachWhat it checksWeak spotGood for
Photos by message, office reviews by handWhatever the reviewer noticesEvery photo needs a person; problems found after the tech has leftA few jobs a day
Required photo fields in your FSM (e.g. ServiceTitan required forms, Housecall Pro required checklist items)That a photo was attached. In both, incomplete required items block finishing the jobDoes not look at what the photo showsMaking sure photos are taken at all
Photo AI add-on on your platform (e.g. SharinPix on Salesforce)Reads a meter value into a field, asks for a retake if the photo is illegible, flags the wrong meterLives on top of a Salesforce org you already runTeams already on Salesforce
Build your own with vision and OCR APIs (Claude, Google Cloud Vision, Amazon Rekognition)Anything you can describe; Rekognition DetectText reads up to 100 words per imageYou build the capture app, gate, queue and rules yourselfTeams with developers and an unusual check
FSM with photo specs, AI checks and a close gate built in (Fieldproxy)Required shots per job type, content and value checks, close blocked until pass or overrideNeeds a written photo spec per job type before go-liveTeams of 10+ techs or contractors with many photo-heavy jobs

As of November 2026, from each vendor's own help pages and docs (sources below). Check the current version before relying on one setting.

Worked example

A worked example: meter reads by contractor agents

Say a team of 40 contractor agents does 600 meter jobs a week, three required shots each: meter face, serial plate and seals. Made-up numbers.

StepWithout AI checksWith AI checks before close
Photos taken per week1,8001,800
Photos a person looks at1,800 (all of them)Only flags and overrides, say 1 job in 10: about 180
Office review time at 20 seconds a photo10 hoursAbout 1 hour
Blurred or missing kWh read, say 3% of jobs18 jobs found after the agent left; each needs a revisit or a callMost caught on site; agent retakes in a minute
Serial does not match the asset on the jobFound when billing or reporting, if at allFlagged at capture, before the job closes

Model cost is small next to review time. Anthropic's docs give about $1.30 per thousand 1000x1000 images on Claude Haiku 4.5 at standard input pricing, so 1,800 photos a week is a few dollars of input before any retries. Check current pricing for the model you use.

Before you buy

What to check before you buy

Good signs

  • Required shots are named per job type, each with an instruction and a sample photo
  • Quality and content checks run on the phone or within seconds of upload, while the tech is still on site
  • Results are pass, fail with a reason, or unsure, and unsure goes to a person
  • Values read from photos land in real fields and are compared with the job and asset
  • The job cannot be completed while a required shot is missing or failed, unless someone overrides with a reason
  • AI checks can be turned off per job type, and every override is logged
  • Photos work offline and are taken in the app with time and GPS stamps

Red flags

  • "Required" only means a warning the tech can tap past
  • The AI gives a score but no reason the tech can act on
  • Every photo still lands in one office inbox to review
  • No way to see which checks fire most, or to tune them
  • The vendor claims the AI can tell if a photo is fake or from another day
  • Each contractor agent needs a paid seat to take photos

In Fieldproxy

Setting it up in Fieldproxy

Fieldproxy is set up around your process, so the shots, checks and statuses below are configured with you. Field and status names are examples.

Photo spec on the job checklist

Each job type gets a checklist (/solutions/job-checklists) with one required photo field per shot, e.g. meter_face, serial_plate, seals. The technician app (/solutions/mobile-app) for Android and iOS takes the photos in order, with time and GPS check-in, and works offline.

Vision agent reads and checks each photo

The Vision agent (/agents/vision-agent) reads each photo into the record: the serial number, the reading, the model. Check rules written with you compare those values with the job, e.g. serial must match the asset, reading must be higher than the last one. It can also pair before and after photos on the job.

A close gate with an override

The job's status cannot move to Completed while a required shot is missing or failed. An override needs a reason and goes through an approval step (/solutions/approval-workflows), so a supervisor accepts or sends it back.

A review queue of flags only

Unsure results and overrides land in one office list. The Watcher agent (/agents/watcher-agent) flags jobs that closed with an override, agents whose photos fail more often than the rest, and readings out of range.

Video when photos are not enough

For installs that are easier to show than to photograph, the Video agent (/agents/video-agent) fills the form from one clip of what was shown and said on site.

Contractors without seats

Fieldproxy is one price per company with unlimited users, so contractor agents and subcontractors take photos in the app without adding licences. See /pricing.

How switching works

How switching to Fieldproxy works

We move your data over and set the system up to the way you already work. Fieldproxy replaces the old tool; it does not run alongside it.

  1. Send us real photos

    Twenty good and twenty bad photos for one job type, and what was wrong with each bad one. That becomes the first photo spec.
  2. We build the spec and checks

    Required shots, instructions, the values to read, the rules to compare them with, and who reviews flags.
  3. Test on last month's jobs

    We run the checks on photos you already have and tune them until the flags match what your reviewers would flag.
  4. Turn on the close gate

    Technicians start getting retake prompts on site. The office reviews the queue instead of every photo.

FAQ

Questions people ask

Can AI read a meter reading or serial number from a photo?
Yes, when the photo is sharp, straight on and the digits fill a fair part of the frame. Read the value into a field and compare it with the job, so a wrong read is caught as a mismatch rather than trusted.
Can it block a technician from closing a job until the photos pass?
Yes, if the close is gated on the check result and not only on a photo being attached. Keep an override with a reason for real exceptions, such as no access to the meter.
What happens when the AI is unsure?
It should say so. Unsure results go to a person in the office, who accepts or sends the job back. That queue is much smaller than reviewing every photo.
Can we turn the AI checks off?
You should be able to, per job type. Some job types only need the photo to exist, and some teams start with checks that flag but do not block, then switch on the gate once they trust them.
Can AI tell if a photo is old or not from that site?
Not reliably. Anthropic's own docs say Claude cannot determine whether an image is AI-generated. Use in-app capture with time and GPS stamps for that, not the model.
Does it work with no signal?
Photos can be taken and stored offline. Checks that run on the server happen when the phone reconnects, so on remote sites set the quality check to run on the phone and the content check to flag rather than block.
Can it check a big photo report after the fact, not just single photos?
Yes, the same checks can run across every photo in a finished report and list only the ones that fail. Checking at capture is still better, because the technician can retake on site.

Sources

Competitor details on this page come from the vendors' own pages and documentation, checked as of November 2026. Plans and prices change, so check the vendor's current page before you decide.

See it built on your workflow

Tell us how your jobs run today. We build a demo on your stages, forms and pricing before the call.