Photos and proof of work
How do I prove a technician or cleaner was actually on site?
Record three things on every visit: a check-in and check-out with the phone's GPS position, its accuracy and the distance from the site, made inside a geofence around that site; something only someone on site can produce, such as a code from the customer, a signature, or a QR code fixed at the location; and stamped photos taken in the app. Use a hard block (no check-in outside the fence) only where the site's GPS is reliable, and a soft flag (check-in allowed, marked off site, reason required) everywhere else. Keep it all on the job record, so a disputed visit is answered by opening one job.
- GPS alone is not proof: store the accuracy radius and distance from the site with every check-in.
- Hard block for open-air sites with good signal; soft flag with a reason for basements, rural areas and big buildings.
- Add one on-site factor: customer code, signature, or a QR code fixed at the site.
- Check-in, photos and check-out must work offline and keep the time they happened.
- Tell staff what is recorded and when. Some places require written notice.
This proves someone with the app was at the site at a time. It does not prove the work was done well; for that, see the pages on required photos and 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 same setup works for cleaning rounds, repairs, inspections and installs. What changes is the fence size and which on-site factor you use.
1. Put a pin on every site, not just an address
Geocode each site to a latitude and longitude, then move the pin to the real entrance or plant room where it matters. A geofence is only as good as its center. ServiceChannel, for example, can only show a technician's distance from a location when that location has its latitude and longitude set.
2. Pick a fence size per site type
Phone GPS is typically accurate to about 4.9 m (16 ft) under open sky, and worse near buildings, bridges and trees. Indoors and in dense city blocks the error can be far larger. So a fence around an ATM in an open street can be small, while a hospital or a mall needs a few hundred meters. ServiceTitan, as one reference point, auto-marks a technician Arrived within 125 meters of the job location.
3. Store accuracy and distance, not just a dot
Every phone reports how sure it is. On iPhone, horizontalAccuracy is the radius of uncertainty in meters around the reported point, and a negative value means the position is invalid. Save the position, the accuracy, the distance from the site pin and the time on each check-in and check-out. A check-in 400 m away with 600 m accuracy is a weak signal, not a lie.
4. Decide hard block or soft flag
Hard block: the job cannot move to Started outside the fence. Soft flag: the technician can start, the check-in is marked off site, and they must pick a reason (no signal, gated site, wrong pin). Hard blocks stop punching in from the road. Soft flags stop good staff getting stuck in a basement. Most teams use hard blocks on easy sites and soft flags on the rest.
5. Add one factor only someone on site can produce
Pick what fits the customer. A one-time code sent to the site contact at start and end, read out to the technician. A customer signature on the phone at check-out. A QR code fixed inside the site (plant room, ATM housing, riser cupboard) that must be scanned. QR codes work with no customer present and no signal; codes and signatures prove a person on site saw the visit.
6. Take stamped photos in the app
Require a before and an after photo taken in the app's camera, with time and GPS stamped on the image and saved in the record. No picking from the camera roll. The photo shows the place; the stamp shows when and where.
7. Work offline and keep the real times
Rural sites, basements and cold rooms often have no signal. The app should record the check-in, photos and check-out on the phone with the time they happened, and upload later. A check-in that only exists once it reaches the server is a check-in with the wrong time.
8. Build the visit record
On the job, show the check-in time and distance, the check-out time, time on site, the photos, and the code, signature or scan. Send the same summary to the customer, or let them see it on a customer link, so a dispute is settled before it starts.
Where it breaks
Why it goes wrong
These are the problems buyers described on our sales calls, by trade and size.
"Nobody came out"
A laundry equipment leasing and repair firm with three technicians and about 500 accounts gets calls saying a visit never happened, and has no record to show it did. Without a check-in, a photo and a signature per stop, it is one person's word against another's.
Geofences that fail in the country
A construction equipment dealer with about 50 service engineers tried geofencing before and found it did not ping correctly in rural areas. A hard block on weak GPS punishes the people doing the job. The fix is a soft flag with a reason there, plus an on-site factor that does not need signal, like a QR code.
Inflated travel claims
The same dealer caught engineers driving around and claiming far more kilometers than the jobs needed. If every visit has a check-in position, the office can compare the claimed distance with the route between consecutive check-ins and query only the big gaps.
Clocking in from the road
A lawn care company with 55 to 60 staff in peak season did not want crews clocking in before they reached the truck or the site. That is a hard-block case: a clear yard or site, open sky, a small fence.
Faked locations
On Android, an app can tell when a position came from a mock location provider (Location.isMock, Android 12 and later). If your app does not check this, a fake GPS app defeats the geofence. Flag mock positions; do not just accept them.
Your client wants its own check-in
A commercial facilities maintenance firm with about 20 technicians and hundreds of vendors works for retailers who require check-ins in their own portals. ServiceChannel accepts check-in by phone (IVR), its provider app, or XML and API, and can record coordinates within a radius the client sets. If your app does not push the check-in there, technicians check in twice, or forget one.
The options
Ways to do it
How common tools record where staff were, as their own help pages describe it.
| Approach | What it records | Blocks off-site check-in? | Watch for |
|---|---|---|---|
| Paper sign-in sheet or a text on arrival | A name and a time someone wrote down | No | Easy to fill in later; no location |
| Jobber, Housecall Pro | Jobber: a GPS waypoint on clock in and out, visit timers and marking complete (Insights > Reports > GPS Waypoints). Housecall Pro: clock in and out location on the timecard | Not described in these help pages; they log where, they do not gate | Jobber says waypoints are less accurate indoors and on select plans |
| ServiceTitan | Auto Arrived within 125 m of the job; location tracked while Dispatched or Arrived | No; it sets the status, technicians can also arrive by hand | Needs location permission on the phone |
| Time clock apps (ClockShark, TrackTik) | Clock in and out positions against a job or site fence | ClockShark: out-of-bounds alerts. TrackTik: per-site Block clock-in when not in range | A second app, and the clock is not tied to the job's status |
| Client portals (ServiceChannel) | Check-in and out by IVR, provider app or API, with coordinates inside the client's radius | Set by each client | Covers that client's work orders only |
| FSM job check-in with fence, on-site factor and stamped photos (Fieldproxy) | GPS check-in and out on the job, photos, signature or code, all on one record | Hard block or soft flag per site type, with a reason | Set fence sizes per site 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 at a real site.
Worked example
A worked example: a week of cleaning rounds
Say a cleaning company has 120 cleaners and 120 sites a week: 90 open-air or street sites and 30 inside malls and bank basements. Made-up numbers to show how the rules sort visits.
| Check | Rule | What the office sees in a week |
|---|---|---|
| Street sites (90) | Hard block, 150 m fence | All 90 started inside the fence; a few blocked tries, each retried on arrival |
| Basement and mall sites (30) | Soft flag, 300 m fence, reason required | Say 8 flagged as off site, all with "no signal" and a scanned QR code inside |
| On-site factor | QR code in each machine housing | 120 scans; any visit without one goes on a review list |
| Photos | 1 before, 1 after, in-app camera, stamped | 240 photos, each with time and place |
| Office review | Only flagged visits without a QR scan | Say 1 or 2 visits to call about, instead of 120 to check |
The point is not zero flags. It is a short list of visits worth a phone call, and a record for every other visit.
Before you buy
What to check before you buy
Good signs
- Check-in stores position, accuracy, distance from the site pin and time
- Fence size can differ per site or site type
- You choose hard block or soft flag, and soft flags need a reason
- QR scan, customer code or signature can be required at start or end
- Check-in, photos and check-out work offline and keep the real time
- Mock or fake locations are flagged
- Check-ins can be pushed to client portals your customers require
- The customer can see the visit record on a link or report
Red flags
- Location is a dot on a map with no accuracy or distance
- Only one fence size for every site
- A hard block with no override, or a soft flag with no reason
- Time clock in a separate app from the job
- Check-in fails without signal
- Each subcontractor or contract cleaner needs a paid seat to check in
In Fieldproxy
Setting it up in Fieldproxy
Fieldproxy is set up around your process, so fences, statuses and rules are configured with you. Field and status names are examples.
GPS check-in on the job
The technician app for Android and iOS (/solutions/mobile-app) has GPS check-in, offline work, photos and signatures. Check-in and check-out are steps on the job, so the visit record and the job status are one thing, not a separate time clock.
Fence and rule per site type
Each site carries its pin and a fence size, e.g. 150 m for street sites and 300 m for malls. A rule on the Started status blocks check-in outside the fence for hard-block sites, and on soft-flag sites lets it through as off_site with a required reason.
On-site factor on the checklist
The job checklist (/solutions/job-checklists) can require a QR scan of the code fixed at the site, a customer signature at check-out, or both. Assets with QR codes (/solutions/asset-management) can double as the site code, so the scan also opens that asset's history.
Stamped photos
Before and after photos are taken in the app with time and GPS, and sit on the job report and customer link. See the page on requiring before and after photos for the shot list setup.
Agents on top
The Watcher agent (/agents/watcher-agent) flags off-site check-ins without a QR scan, visits with very short time on site, and staff whose flags run well above the rest. The Scheduler agent (/agents/scheduler-agent) can email a weekly list of flagged visits to the operations lead.
Contractors without seats
Fieldproxy is one price per company with unlimited users, so contract cleaners and subcontractors check in through the same app without extra licences. See /pricing.
By region
Telling staff: regional notes
Recording location at check-in is common, but several places set rules on telling staff. This is not legal advice; check with your adviser.
United States (New York)
New York Civil Rights Law section 52-c requires private employers that monitor employees' phone, email or internet use to give written notice at hiring, get an acknowledgment, and post the notice. Ask your adviser whether app location data on a work phone falls under your notice, and include it if in doubt.
Canada (Ontario)
Employers with 25 or more employees in Ontario on January 1 must have a written electronic monitoring policy in place before March 1 of that year. It covers monitoring outside the workplace and on personal devices, not only company phones.
United Kingdom
The ICO's monitoring workers guidance expects employers to tell workers what is monitored and why, and to use the least intrusive way that does the job. It also covers tracking work vehicles. Recording location at check-in and check-out only is easier to justify than tracking all day.
Australia (New South Wales)
The Workplace Surveillance Act 2005 requires written notice before surveillance starts (generally at least 14 days) and, for tracking a vehicle or other thing, a clearly visible notice on it. Recording location only at check-in and check-out is easier to explain than all-day tracking.
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.
Send us your site list
Sites with addresses, and which ones are basements, malls, rural or gated. We set pins and a fence size per type.Pick your rules
Hard block or soft flag per site type, the reasons staff can pick, and the on-site factor: QR code, customer code, signature or photos.Test at five real sites
One crew checks in at easy and hard sites for a week. We widen fences or move pins where good staff get flagged.Roll out and share the record
Every crew moves to app check-in, and customers get the visit record on a link or report.
FAQ
Questions people ask
- Can I stop a cleaner starting a job unless they are at the location?
- Yes, with a hard block: the job cannot move to Started outside a fence around the site pin. Use it where GPS is reliable, and pair it with an override that needs a reason for sites where it is not.
- What is the difference between a soft and a hard reject?
- A hard reject stops the check-in outside the fence. A soft reject lets it through, marks it off site and asks for a reason, so the office reviews it later. Soft is safer for basements, big buildings and rural areas.
- How big should the geofence be?
- Small (around 100 to 150 m) for open-air sites, a few hundred meters for malls, hospitals and dense city blocks. Phone GPS is about 4.9 m under open sky but much worse indoors, so store the accuracy and widen the fence where it is poor.
- Does GPS check-in work with no mobile signal?
- The phone can still get a position from satellites, though the first fix can be slower. The app must save the check-in on the phone with the real time and upload it later. Add a QR scan for sites where even GPS is poor.
- Can the customer confirm the visit with an OTP or signature?
- Yes. Send a one-time code to the site contact at start or end and have the technician enter it, or take a signature at check-out. Both prove someone on site saw the visit; a QR code works when nobody is there.
- Can I check travel claims against GPS?
- Yes, if every visit has a check-in position. Compare claimed kilometers with the route between consecutive check-ins and query only large gaps, instead of tracking staff all day.
- Will GPS tracking upset my technicians?
- Recording location only at check-in, check-out and on photos is far less intrusive than live tracking all day. Tell staff exactly what is recorded and when, and in some places you must give written notice.
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.
- GPS.gov: GPS accuracy (smartphones about 4.9 m under open sky): https://archive.gps.gov/systems/gps/performance/accuracy/
- Apple Developer: CLLocation horizontalAccuracy: https://developer.apple.com/documentation/corelocation/cllocation/horizontalaccuracy
- Android Location.Mock (isMock) reference, .NET binding of the Android API: https://learn.microsoft.com/en-us/dotnet/api/android.locations.location.mock
- Jobber Help Center: GPS waypoint tracking: https://help.getjobber.com/en/articles/gps-waypoint-tracking/
- Jobber Help Center: location timers in the Jobber app: https://help.getjobber.com/en/articles/location-timers-in-the-jobber-app/
- Housecall Pro Help: time tracking overview: https://help.housecallpro.com/en/articles/2795146-time-tracking-overview
- ServiceTitan Help: arrive by GPS (125 meters): https://help.servicetitan.com/docs/enable-or-disable-arrive-by-gps-for-technicians-in-fma
- ServiceTitan Help: enable native GPS access for the Field Mobile App: https://help.servicetitan.com/commercial/docs/enable-native-gps-access-for-the-servicetitan-field-mobile-app
- ClockShark Help: out-of-bounds notification: https://help.clockshark.com/how-to-use-the-out-of-bounds-notification
- TrackTik Support: use geofences to manage mobile clock-ins: https://support.tracktik.com/hc/en-us/articles/1500001570922-Use-geofences-to-manage-mobile-clock-ins
- ServiceChannel Developers: about check-in/out: https://developer.servicechannel.com/guides/checkin/about-check-in-out
- New York Civil Rights Law section 52-c (electronic monitoring notice): https://newyork.public.law/laws/n.y._civil_rights_law_section_52-c*2
- Ontario: written policy on electronic monitoring of employees: https://www.ontario.ca/document/your-guide-employment-standards-act-0/written-policy-electronic-monitoring-employees
- ICO: monitoring workers guidance, summary of responses: https://ico.org.uk/about-the-ico/monitoring-workers-guidance-summary-of-responses
- NSW Legislation: Workplace Surveillance Act 2005: https://legislation.nsw.gov.au/view/whole/html/inforce/2024-07-01/act-2005-047
Related
Keep reading
- How do I require before and after photos before a technician can complete a job?
- How can AI check technicians' job photos before a job is closed?
- Watcher agent
- Asset management with QR codes
- What is the best field service software for a 5-10 person HVAC team?
- Cheaper ServiceTitan alternatives for small plumbing and HVAC companies, without payment processor lock-in