Geofenced mobile check-in/out for Odoo HR with live GPS, multi-site zones and out-of-zone blocking. Built to order. One-time license from $299.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Geofenced mobile check-in/out for Odoo HR with live GPS, multi-site zones and out-of-zone blocking. Built to order.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Stop paying for check-ins that never happened on site. GPS Geofence Attendance is a build-to-order module for Odoo 17, 18 and 19 that lets employees punch in and out from a mobile app only when they are physically inside an HR-defined geofence zone. The moment a worker taps "Check In," the app captures their live GPS coordinates, verifies the point falls inside the assigned zone's radius, and either records the attendance or blocks it with a reason prompt — so your Attendances (hr.attendance) records reflect real presence at real locations.
Define unlimited virtual geofence zones with a GPS center point (latitude/longitude) and a radius in meters, stored on a dedicated hr.attendance.geofence.zone model.
Mobile check-in and check-out restricted to inside the zone boundary — the OWL kiosk screen only enables the punch button when the device is within range.
Live GPS location capture on every punch: the employee's latitude, longitude and computed distance from zone center are written onto the hr.attendance record.
Out-of-zone block with mandatory reason: when a worker is outside the boundary the check-in is refused (or flagged for approval) and a reason must be entered, creating an audit trail.
Multiple sites and zones per company, with zone assignment by employee, department or work location so different teams follow different rules.
In-zone verification via an @api.depends compute field (in_zone boolean + distance) using the haversine formula, recalculated whenever coordinates change.
This is not an off-the-shelf apps.odoo.com download. ECOSIRE designs, builds, installs and supports the module for your database. We add a new hr.attendance.geofence.zone model (name, GPS center latitude/longitude, radius in meters, site, active window), extend hr.attendance with captured latitude, longitude, distance-from-center and an in_zone boolean computed via @api.depends, and wire the whole flow into a mobile-friendly OWL kiosk screen backed by QWeb. Zone assignment is driven by employee, department or work location, so a retail chain, a construction firm and a field-service crew can all run different rules in the same company.
Access is locked down the Odoo way: ir.model.access.csv grants HR managers full control over zones while employees only see their own attendance, and record rules keep multi-company data isolated. Every out-of-zone attempt is logged with its captured coordinates and the reason the employee entered, giving payroll and site supervisors an auditable trail. Because the data lives in standard HR models, it flows straight into Attendances reporting, Payroll worked-hours, and any dashboard or XML-RPC/JSON-RPC integration you already run — no parallel system, no CSV re-keying.
Whether you run Odoo Community or Enterprise, on 17, 18 or 19, ECOSIRE delivers the tested module, configures your zones, trains your HR team and stands behind it with a support window. Typical delivery is 2 to 4 weeks from kickoff.
Manages crews spread across multiple job sites and needs proof that workers actually clocked in on the correct site, not from home or a coffee shop. Geofenced punches with captured coordinates give clean, defensible timesheets for payroll and client billing.
Runs dozens of stores where staff punch in on shared or personal devices. Per-store zones with time-window rules ensure openers and closers are physically at the branch during shift hours, cutting buddy-punching and location fraud.
Oversees technicians who move between client premises all day. Live GPS capture and out-of-zone reason logging show where each visit started and ended, feeding Odoo Attendances and Payroll without any separate tracking app.
Needs an auditable trail behind every worked hour. The reason-and-coordinate history on each attendance record, exportable to QWeb reports, resolves disputes and supports labor-compliance evidence.
Buy the license on ecosire.com and download the GPS Geofence Attendance (Mobile Kiosk) module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for GPS Geofence Attendance (Mobile Kiosk), and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Geofence enforcement at check-in (block outside zone) | Built in — per-zone radius, haversine distance check, hard-block or flag modes | Possible but you design and debug the boundary logic yourself | Varies; many off-the-shelf modules only tag location, not enforce it | |
| Live GPS coordinates stored on each attendance | Yes — latitude, longitude and distance written to hr.attendance | Only if you extend the model and build the capture flow | ||
| Out-of-zone reason capture + audit log | Yes — mandatory reason and coordinates retained, QWeb-exportable | Buildable, additional effort | ||
| Multiple sites / zones with per-team assignment | Yes — unlimited zones by employee, department or work location | Yes, with added data model and view work | ||
| Mobile kiosk UI (OWL/QWeb) for check-in/out | Delivered, mobile-first, tied to zone status | You design and maintain the front end | ||
| Tailored to your exact Odoo version & process | Yes — built for your 17/18/19, Community or Enterprise, and your rules | Yes, but you own all the engineering | ||
| Fits standard HR/Payroll models & reporting | Yes — extends hr.attendance, no parallel system | Depends on your design discipline | ||
| Vendor builds, installs, trains and supports it | Yes — full delivery + training + support window | You or your dev team own everything | Download only; support varies by publisher |
Because this is a build-to-order module — not an instant apps.odoo.com download — ECOSIRE builds, tests, installs and configures it specifically for your database. Typical delivery is 2 to 4 weeks from project kickoff, depending on the number of zones, your enforcement rules, and any integrations. We confirm a firm timeline after a short scoping call and keep you updated through build, staging test and go-live.
Every engagement includes a defined post-delivery support window covering bug fixes and questions about the delivered scope. We also provide a clear path for paid enhancements and for compatibility upgrades when you move to a newer Odoo version (17 to 18 to 19). Because you receive the full source code, you are never locked in — but most clients keep ECOSIRE on for ongoing maintenance and new zone rollouts.
Yes. The module is built against your exact Odoo major version (17, 18 or 19) and runs on both Community and Enterprise. It depends on the standard hr and hr_attendance apps that ship with Odoo, so no Enterprise-only feature is required for the core geofencing to work.
Each zone stores a GPS center (latitude/longitude) and a radius in meters. When an employee punches, the mobile kiosk captures their live coordinates and an @api.depends compute field calculates the distance from the zone center using the haversine formula, setting an in_zone flag. If they are outside the boundary, the check-in is blocked (or flagged, per your policy) and a reason must be entered — and the attempt, with its coordinates, is logged for HR.
Yes. You can define unlimited zones and assign them by employee, department or work location, so a construction site, a retail store and a field-service crew can each have their own boundaries, radius, enforcement mode and active shift-time window inside the same company. Multi-company setups stay isolated via Odoo record rules.
The module extends the standard hr.attendance model rather than creating a parallel one, so geofenced punches flow straight into Odoo Attendances reporting and Payroll worked-hours. Captured coordinates and reasons are also readable over XML-RPC and JSON-RPC, so any external mobile app, dashboard or middleware you run can consume the data without extra re-keying.
Location is captured only at the moment of a check-in or check-out — the module is not designed for continuous background tracking. Access is controlled by ir.model.access.csv and record rules so employees see only their own attendance, while HR managers see zones and the geo-tagged log. We help you configure retention and notice consistent with your local labor and privacy obligations.
Geofenced mobile check-in/out for Odoo HR with live GPS, multi-site zones and out-of-zone blocking. Built to order.