FieldproxyAI-native field service software

Photos and proof of work

How do I require before and after photos before a technician can complete a job?

Add the photos to the job's checklist as named, required fields (for example two before shots taken at arrival and two after shots taken at the end) and set the job so it cannot move to Completed while any required field is empty. Make the app take the photos in the camera, stamp each one with the time and place, and store them offline when there is no signal. Check that your software truly blocks the close: in some tools a required field is only a warning the technician can tap past.

  • Name each shot (before: wide view, before: close-up; after: wide view, after: close-up), not just "photos: 4".
  • Before shots are only locked in at arrival if the app asks for them when the job is started.
  • "Required" must block the status change to Completed, not just show a banner.
  • Camera only, with time, GPS and a readable place name stamped on the image and saved in the record.
  • Keep an override with a written reason, and review every override in the office.
Fieldproxy

Required photos prove a photo was taken, not that the work was done well. For checking what the photos show, see the page on AI photo checks.

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

Step by step

How it works, step by step

The setup is the same for cleaning, installs, repairs and inspections. What changes is the list of shots per job type.

1. Write the shot list per job type

For each job type, list the photos by name and stage. An ATM clean might need: before, full machine front; before, screen and keypad close-up; after, full machine front; after, screen and keypad close-up. A repair might need: before, the fault; after, the fixed part; after, the serial plate. Give each shot a one-line instruction ("stand two steps back, whole unit in frame") and a sample photo.

2. Make each shot its own required field

Put the shots on the job's checklist as separate photo fields, each marked required. One field per shot is better than one gallery with a minimum count, because the office can see which shot is missing and the report can place before and after side by side. Where a count does matter (e.g. "at least 3 photos of the damaged area"), set a minimum on that one field.

3. Ask for the before shots when the job starts

If the before photos sit on the same screen as the after photos, a rushed technician takes all four at the end. Put the before shots on the start step, so the job cannot move from Arrived to In progress until they are in. Store the capture time on each photo, so the office can see the before shots were taken before the after shots.

4. Block the close, not just warn

Tie the status change to the checklist: the job cannot move to Completed while a required photo field is empty. Test this on a phone before go-live, because tools differ. Some block the close; some show a banner and let the technician finish anyway.

5. Capture in the app, with a stamp

Turn off picking from the camera roll for these fields, so a photo from last week cannot be reused. Have the app write the date, time and GPS position onto the image and into the record. A place name (street and city) can be added by looking up the GPS position; it reads better in a client report than raw coordinates.

6. Work offline, upload later

Basements, plant rooms, rural sites and bank lobbies often have no signal. Photos should be saved on the phone, count toward the requirement straight away, and upload when the phone reconnects. The capture time must be the time the photo was taken, not the time it reached the server.

7. Allow an override with a reason

Some shots cannot be taken: the customer refuses, the area is locked, a site rule bans cameras. Let the technician pick a reason and close, and send every override to an office list for review. Without an override, people find their own workaround, like photographing the floor.

Where it breaks

Why it goes wrong

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

The staff are not tech people

An ATM cleaning company with about 120 cleaners across five zones wanted nothing more than: start the job, take the pictures, done. Every extra screen is a reason to skip the photos. The shot list has to be short and in order, with the camera opening straight from each field.

Required, but skippable

An EV charger maintenance network asked whether checklist photos are truly mandatory or whether engineers can skip them. In Jobber, a required checklist question left blank shows a banner, but the team member can still complete the visit and leave the checklist unfinished.

All the photos taken at the end

When before and after sit on one screen, before photos get taken after the work, or skipped and faked with a second after shot. A commercial cleaning company using contractor cleaners asked for minimum photos and a finished checklist before a job could close, because clients challenge visits that have no proof.

Photos with no time or place

A rainwater harvesting and site construction firm with 10 to 15 engineers wanted every photo stamped with the time as proof of attendance. A display installation business covering thousands of sites asked whether the stamp can show the city, because coordinates mean nothing to their client. EXIF fields such as DateTimeOriginal and GPSLatitude are writable, so a stamp burned onto the image and saved in the job record is stronger than file metadata alone.

Slow capture on big visits

A property refurbishment firm with about 10 trades said one photo takes seconds to take and upload, which adds up when a walk-round needs 20. Capture should save to the phone at once and upload in the background, so the technician is not waiting on each shot.

Photos stuck on one job

A restaurant HVAC contractor running 40 to 50 jobs a day wanted technicians blocked from closing without parts, photos and notes, and then wanted to see every photo for a location across jobs. If photos only live on the job, the before shot from last quarter is hard to find on the next visit.

The options

Ways to do it

How common tools handle required photos, as their own help pages describe it.

ApproachHow photos are requiredDoes it block the close?Watch for
Photos sent by message or emailA rule in the handbookNoNothing stops a skipped photo; no stamp you control
Jobber checklistsImage upload question with the Required toggle; up to 10 files per formNo: a banner and a prompt, then the visit can be completed with the checklist unfinishedRequired is a nudge, not a gate
Housecall Pro checklistsPhoto upload item marked requiredYes: required items must be done before the job is finishedChecklist photos stay on the checklist, not in job attachments
ServiceTitan forms, ServiceM8 formsA required form, or a Photo question ticked Mandatory (ServiceM8: Settings > Forms)ServiceTitan: incomplete required forms block job completion. ServiceM8's page does not sayTest the close on a phone before you rely on it
Commusoft on-site tasks, ServiceBridge photo to-dosCommusoft: Photo task in the job report workflow. ServiceBridge: photo types with minimums, Required by DefaultCommusoft: mandatory by default, the engineer cannot leave the appointment. ServiceBridge: with Force Completion of Required To-Dos onServiceBridge lets the tech record a reason instead; Commusoft can allow skipping per task
Photo or inspection apps beside your FSM (CompanyCam, Mitti by SafetyCulture)CompanyCam: checklist fields need a photo by default. Mitti: admins can force in-app capture with time and location stampsInside their own checklist, not your FSM job statusA second app for techs; CompanyCam photos cannot be added to fields offline
FSM with named shots, a start step and a close gate (Fieldproxy)Each shot is a required field on the job type's checklist; before shots on the start stepYes, the status cannot move to Completed; override with a reasonWrite the shot list per job type before go-live

As of November 2026, from each vendor's help pages (sources below). Settings and plans change, so check the current version and test on a phone.

Worked example

A worked example: a weekly cleaning cycle

Say a cleaning company has 120 cleaners and 120 sites on a weekly cycle, four required shots per visit (two before, two after). Made-up numbers to show the effect.

StepPhotos by messageRequired shots with a close gate
Photos expected per week480480
Visits missing a photo, say 1 in 1012 visits, found when a client complains0 closed without photos; any gap is an override with a reason
Before shots taken at arrivalUnknownAll, because the job cannot start work until they are in
Proving a disputed visitSearch a phone or a chat threadOpen the job: four photos, each with time, GPS and the street and city
Office checkingScroll every chat for every siteReview the override list, say 3 or 4 a week

The gate does not tell you whether the after photo shows a clean machine. That is the content check covered on the AI photo checks page.

Before you buy

What to check before you buy

Good signs

  • Each shot is a separate named field, with an instruction and a sample photo
  • Before shots can be required on the start step, not only at the end
  • On a test phone, the job truly cannot be completed with a required photo missing
  • Camera-only capture can be set per field
  • Time, GPS and a place name are stamped on the image and saved in the record
  • Photos count toward the requirement offline and upload later with the real capture time
  • Overrides need a reason and land on an office list
  • Photos show up per site or asset across jobs, and in the client report

Red flags

  • "Required" is a banner the technician can tap past
  • Only a total photo count, with no way to say which shots
  • Photos can be picked from the camera roll with no way to turn it off
  • The app needs signal to take or count a photo
  • Photos live in a separate app from the job
  • Each subcontractor or contractor cleaner needs a paid seat to take photos

In Fieldproxy

Setting it up in Fieldproxy

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

Shot list on the job checklist

Each job type gets a checklist (/solutions/job-checklists) with one required photo field per shot, e.g. before_wide, before_close, after_wide, after_close, each with an instruction. Minimum counts can be set on fields that need several photos.

Before shots on the start step

The before fields sit on the arrival step in the technician app (/solutions/mobile-app), so the job cannot move to In progress until they are taken. The after fields sit on the completion step.

A close gate with an override

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

Stamped, offline capture

Photos are taken in the Android or iOS app with GPS check-in and the capture time, and work offline. Before and after photos come out side by side on the job report and the customer link, and stay on the site and asset history for the next visit.

Agents on top

The Watcher agent (/agents/watcher-agent) flags jobs closed with an override and technicians who override more than the rest. When you also want the content checked (is the machine actually clean, does the serial match), add the Vision agent (/agents/vision-agent).

Contractors without seats

Fieldproxy is one price per company with unlimited users, so contractor cleaners and subcontractors take the required photos in the app without extra 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 your shot list

    For each job type, the photos you want and one good example of each. If you have none written, send photos from a job you were happy with.
  2. We set up the fields and the gate

    Required shots on the start and finish steps, camera-only capture, the stamp, the override reasons, and who reviews overrides.
  3. Test on one crew

    One crew runs a week of real jobs. We fix shots that are confusing or that people keep overriding.
  4. Roll out and switch off the chat

    Every crew moves to the app, and photos stop arriving by message.

FAQ

Questions people ask

Can I require exactly two before and two after photos?
Yes. Make four named photo fields, each required, two on the start step and two on the finish step. Named fields are clearer than a minimum count of four, because a count lets someone take four after photos.
Can the photo show the date, time and city?
Yes, if the app stamps it at capture. The time and GPS position come from the phone, and the street and city come from looking up that position. Keep the values in the job record as well, not only on the image.
What if there is no signal on site?
The photos should save on the phone, count toward the requirement and upload later. Check that the stored time is when the photo was taken, not when it uploaded.
Can technicians upload old photos from their gallery?
Only if you allow it. Turn off gallery picking on required before and after fields. Mitti, for example, lets admins require new photos to be taken in the app.
Can I block the job but still let a supervisor close it?
Yes. Give the technician an override that needs a reason, and send it to a supervisor to accept or reject. That keeps real exceptions moving without making the rule optional.
Do subcontractors have to follow the same photo rules?
They should, on the same job checklist. Check whether each subcontractor needs a paid seat, because that is often why firms let subs send photos by message instead.
Can the customer see the before and after photos?
Yes, on the job report or a customer link. Put before and after side by side, with the stamp visible, so the photos answer a disputed visit on their own.

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.