A build-to-order Frappe app that enforces radius-based geofences for field staff and salesmen, capturing GPS selfie punches with timestamp and coordinates and turning valid punches into ERPNext Attendance automatically. ECOSIRE designs, builds, installs and supports it for your ERPNext v15/v16 site. Built to order by ECOSIRE for ERPNext v15, v16 — indicative price from $499.00 USD; request a quote for a scoped proposal.

A build-to-order Frappe app that enforces radius-based geofences for field staff and salesmen, capturing GPS selfie punches with timestamp and coordinates and turning valid punches into ERPNext Attendance automatically. ECOSIRE designs, builds, installs and supports it for your ERPNext v15/v16 site.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Distributed teams are where ERPNext attendance quietly breaks down. Field-sales reps, delivery riders and site technicians never touch the office biometric device or the desk kiosk, so their attendance is either back-filled manually or trusted on faith. ERPNext core gives you the Employee Checkin and Attendance DocTypes and a shift framework, but out of the box a check-in is just a timestamp — there is no location proof, no radius enforcement around a customer site or branch, and no live view of where your people actually are. Employee Checkin can log a latitude/longitude if a client sends one, but nothing stops a punch from a couch ten kilometres away, and nothing reconciles a day of valid field punches into a single Attendance record with route context. Standard geofencing add-ons live in a separate HR SaaS, forcing a fragile two-way sync back into ERPNext.
`Geofence Site` DocType with center lat/long, enforcement radius, and optional link to `Customer`, `Warehouse` or branch
Server-side haversine distance check in a `hooks.py` `validate`/`before_insert` doc event — punches outside the radius are rejected or flagged, never trusted client-side
GPS selfie check-in capturing browser Geolocation coordinates, accuracy metres, device and an `Attach Image` selfie with server timestamp
`Field Punch` DocType storing raw coordinates, matched site, computed distance, punch type (IN/OUT) and reverse-geocoded address
Auto-promotion of valid punches into native ERPNext `Attendance` + `Employee Checkin` records via a daily `scheduler_events` job so payroll and shift logic keep working
Live field-staff map (Leaflet/OpenStreetMap) rendered from a whitelisted REST endpoint, showing current positions and the day's visit trail
ECOSIRE builds a proper Frappe application — its own module, installed onto your bench — that closes those gaps natively. We define new DocTypes such as Geofence Site (a named location with center coordinates and an enforcement radius, optionally linked to a Customer, Warehouse or branch) and Field Punch (the raw punch carrying GPS coordinates, accuracy, device, a selfie Attach Image, and a server-computed distance-to-site). A mobile-friendly check-in surface — delivered as a Frappe web page or a Client Script-driven form using the browser Geolocation API — captures the salesman's live coordinates and selfie at punch time. On save, a hooks.py doc_events handler (a validate/before_insert server script) computes the haversine distance from every candidate Geofence Site, rejects or flags punches that fall outside the allowed radius, and stamps the matched site. Whitelisted methods (frappe.whitelist()) exposed over the Frappe REST API let a companion mobile view or PWA submit punches and pull the assigned route for the day.
Valid punches are promoted into ERPNext's own HR flow rather than a parallel silo. A scheduler event (a scheduler_events cron/daily hook) rolls each employee's first and last valid Field Punch of the day into a native Attendance record with IN/OUT Employee Checkin entries, so payroll, shift, and leave logic keep working unchanged. A live map — a Frappe Dashboard page or workspace using a Leaflet/OpenStreetMap tile layer fed by the REST API — plots current field-staff positions and the day's visit trail, and Query/Report DocTypes deliver route history, visit-per-site counts, and geofence-violation exceptions. Access is governed by ERPNext permissions and role profiles: a "Field Supervisor" sees the map and exceptions for their team, a salesman sees only their own punches, and the whitelisted endpoints enforce the same permission checks server-side.
Because this is build-to-order, you are not downloading a fixed marketplace app and hoping it fits. After a short scoping call we confirm your geofence sites, radius policy, selfie/liveness requirements, how a "present" day is defined for your shifts, and which ERPNext version you run (we support Frappe/ERPNext v15 and v16). We build against that scope, run UAT on a staging bench, and only then install on production. Typical delivery is 2 to 4 weeks from confirmed scope. You receive the installable source, install and configuration, technical and user documentation, a training session, and a post-go-live support window — and the git repository is handed over so the code is genuinely yours.
Owns attendance integrity for a workforce that is rarely in the office. Needs verifiable proof that field staff were physically on-site, with valid punches flowing automatically into ERPNext Attendance so payroll and leave stay correct without manual back-filling.
Runs a team of salesmen or delivery reps covering assigned customer routes. Wants a live map of where the team is, per-site visit counts, and out-of-fence exceptions to confirm reps actually reached their scheduled outlets.
Maintains the bench and the site. Needs a clean, standard Frappe app that installs onto v15/v16, uses native DocTypes, hooks and scheduler events rather than external SaaS, respects permissions and role profiles, and ships with source and docs they can support in-house.
Coordinates technicians or drivers across multiple sites and warehouses. Needs radius-enforced check-in at each geofenced location and route history to reconcile where crews spent their day.
Buy the license on ecosire.com and download the GPS Geofence Field Attendance app ZIP from your account dashboard.
Extract the ZIP into your bench's apps folder, or run `bench get-app` with the path to the extracted app.
Run `bench --site SITE_NAME install-app APP_NAME` followed by `bench migrate` to install GPS Geofence Field Attendance and apply its schema.
Open the ECOSIRE License settings on your site and activate your license key. Requires the free ecosire_connect and ecosire_license_client apps.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Geofence enforcement | Server-side radius check in a Frappe doc event, per-site radius | Possible but you design and test the haversine/validation yourself | Often client-side only or a fixed single radius | |
| Attendance integration | Auto-rolls valid punches into native Attendance + Employee Checkin | You wire the scheduler job and mapping yourself | Frequently a separate silo needing sync back to ERPNext | |
| Live location map | Leaflet/OSM map fed by whitelisted REST endpoints | Build the map, API and permission layer from scratch | May be web-portal only, outside ERPNext | |
| Fit to your process | Scoped to your sites, radius, shift and present-day rules | Fully bespoke — highest effort and cost to you | Fixed feature set, adapt your process to the app | |
| Version support | Built and tested for Frappe/ERPNext v15 and v16 | You own version testing and upkeep | Depends on publisher's maintenance cadence | |
| Source & ownership | Git repo handover — the code is yours | Yours, but you built and must maintain all of it | Usually licensed/closed, no source handover | |
| Time to value | 2-4 weeks from confirmed scope, UAT on staging first | Longer — full dev cycle from zero | Instant install but generic fit and rework | |
| Support model | Post-go-live support window + optional ongoing retainer | Self-support or hire developers | Vendor tickets, roadmap not yours to steer |
This is a build-to-order app, not an instant download. Typical delivery is 2 to 4 weeks from confirmed scope — that clock starts after the scoping call where we agree your geofence sites, radius policy, selfie/liveness needs, present-day rule and target ERPNext version. Simpler scopes land closer to two weeks; heavier route-planning or offline requirements closer to four.
We build and test against Frappe/ERPNext v15 and v16, packaged as a standard installable app on your bench. Tell us your exact version and hosting (Frappe Cloud, self-hosted, or ECOSIRE-managed) during scoping and we build against that target.
The geofence check runs server-side in a `hooks.py` doc event, not in the browser. On every punch we compute the haversine distance from the device coordinates to each `Geofence Site` and reject or flag anything outside the allowed radius. We also flag low-accuracy fixes, mock-location signals and implausible location jumps for supervisor review.
Yes. Valid punches are promoted into native `Employee Checkin` and `Attendance` records by a daily scheduler job, so ERPNext shift, leave and payroll logic keep working unchanged. It augments core HR rather than replacing it with a parallel silo.
Every build includes a post-go-live support window for defect fixes and configuration adjustments. Because we hand over the git repository and full technical docs, your team can maintain it in-house — or you can retain ECOSIRE for version upgrades and enhancements under a support arrangement. We provide upgrade guidance for future Frappe/ERPNext point releases.
No native app store install is required. The punch surface is a mobile-friendly Frappe web page / Client Script form that uses the browser Geolocation API and camera for the selfie, and it can be delivered as a PWA. If you already have a mobile app, our whitelisted REST endpoints let it submit punches and pull each day's route.
Yes — those are exactly the things we confirm during scoping. Radius is configurable per `Geofence Site`, the present-day rule maps to your shift definitions, selfie/liveness strictness is your call, and salesmen can be assigned target sites so expected visits are compared against actual punches. Anything outside the agreed scope becomes a follow-up change request.
A build-to-order Frappe app that enforces radius-based geofences for field staff and salesmen, capturing GPS selfie punches with timestamp and coordinates and turning valid punches into ERPNext Attendance automatically. ECOSIRE designs, builds, installs and supports it for your ERPNext v15/v16 site.