Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Attendances
  3. Attendance Geolocation | GPS-Verified Check-In & Check-Out | Multi-Site Geofencing for HR Attendance v 19.0
  4. Sales Conditions FAQ

Attendance Geolocation | GPS-Verified Check-In & Check-Out | Multi-Site Geofencing for HR Attendance

by Moaz Nabil https://github.com/moaaznaabilali
Odoo

$ 30.00

v 19.0 Third Party
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Discuss (mail)
• Employees (hr)
Lines of code 1991
Technical Name mn_attendance_geolocation
LicenseOPL-1
Websitehttps://github.com/moaaznaabilali
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Attendances (hr_attendance)
• Discuss (mail)
• Employees (hr)
Lines of code 1991
Technical Name mn_attendance_geolocation
LicenseOPL-1
Websitehttps://github.com/moaaznaabilali
  • Description
  • License
Attendance Geolocation — GPS-verified attendance for Odoo 19
DRAW-ON-MAP · GPS · POLYGON · IP · TIME-WINDOWS · SELFIE · LIVE MAP · AUDIT

Stop buddy-punching. Every clock-in is verified.

A drop-in geofence on top of Odoo's hr.attendance. Draw your sites directly on the map — rectangle, polygon, or circle — no more typing lat/lng. Gate by IP allowlist + time-of-day + weekday window, require a selfie on check-in, reverse-geocode the address, watch everyone on a live Leaflet map, and audit every single attempt.

v19.0.3.0.0 — 11 advanced features beyond plain GPS. Works on phones. No app to install.

$30 · ONE-TIME · OPL-1
★ NEW IN v19.0.3 · DRAW YOUR SITES ON THE MAP ★

No more typing coordinates.

Search for an address (Nominatim) or hit "📍 Use my location", then draw your geofence by hand: ▭ Rectangle · ⬟ Polygon · ◯ Circle · 📍 Marker. The lat / lng / radius / polygon-json fields populate themselves. Click the edit handle later to resize or reshape — the form picks up the changes automatically.

Draw your site on the map — empty canvas with toolbar
A SITE SHOWING ITS DRAWN GEOFENCE

The form re-renders whatever you drew. Re-open, resize, redraw.

Site form showing the drawn geofence
▭ Rectangle
Click + drag two corners. Turns into a 4-point polygon site.
⬟ Polygon
Click each vertex. Double-click to close. Perfect for L-shaped buildings, campuses, factory floors.
◯ Circle
Click centre, drag to set radius. Writes lat / lng + radius_m on the site.
📍 Marker
Just drop a pin. Keeps the current radius. Fastest path for "this exact point".
★ LIVE MAP DASHBOARD · AUTO-REFRESH 12s

Every site. Every employee. On a Leaflet map.

Green circles are your sites with their geofence radius drawn to scale. Pins are employees currently on the clock — click any pin to see who, since when, and whether they matched by GPS or by IP. Four KPI tiles up top: sites · checked-in-now · granted today · denied today.

Live map dashboard
HOW IT WORKS

Four steps. Configure once. Forget it.

STEP 1
Define your sites
Circle (lat / lng + radius) or polygon (custom shape). Add an IP allowlist for office Wifi. Set a weekday + time-of-day opening window.
STEP 2
Assign employees
Per employee, pick which sites they may clock from. Many-to-many. Empty = any active site.
STEP 3
Employees punch with GPS
Browser asks for geolocation (+ camera if selfie-required). Server runs haversine OR point-in-polygon, OR matches by IP allowlist if GPS fails.
STEP 4
Audit + Live map
Granted, denied, bypassed — every attempt is logged. Watch live on the Leaflet dashboard. Auto-checkout cron closes stale punches.
SITES · CIRCLE OR POLYGON

Two shapes. Eight gating rules. One model.

SITES LIST

All your sites at a glance — shape, radius, window, headcount.

Sites list
SITES KANBAN — GROUPED BY SHAPE
Sites kanban
SITE FORM — CIRCLE GEOFENCE

Lat / lng / radius + time window + IP allowlist + selfie toggle.

Site form
★ POLYGON GEOFENCE

For yards, campuses, warehouses with non-circular footprints.

Polygon geofence
★ DEEP HR.ATTENDANCE INTEGRATION

Drop-in extension. Standard kiosk + reporting still work.

ATTENDANCE LIST — WITH GEO COLUMNS

Site · matched-by · distance · address · verified · late · anomaly.

Attendance list with geo
ATTENDANCE FORM — GEOLOCATION TAB

Check-in + check-out lat / lng / distance / accuracy / address / selfie.

Attendance geolocation tab
AUDIT & BYPASS

Every attempt logged. Court-ready.

PUNCH ATTEMPTS — FULL AUDIT LOG

Granted (green) · Bypass (yellow) · Denied (red). GPS + IP + UA.

Punch attempts audit log
MANAGER BYPASS WIZARD

Off-site punches require a mandatory reason. Audited.

Manager bypass wizard
SETTINGS

Tune enforcement, accuracy, radius, geocode, auto-checkout.

Settings page
EMPLOYEE & MOBILE

Where the work actually happens.

EMPLOYEE FORM — ATTENDANCE SITES TAB

Pick which sites this person may clock from.

Employee form site assignment
MOBILE — LIVE MAP ON A PHONE

The full dashboard, on the device managers actually carry.

Mobile map
EVERYTHING IN THE BOX

23 features. v19.0.3.0.0.

★ ✏️ DRAW-ON-MAP PICKER
Embedded Leaflet + Leaflet.draw on the site form. Rectangle / polygon / circle / marker tools + Nominatim address search + "use my location" button. The lat/lng/radius/polygon fields populate themselves.
📍 CIRCLE GEOFENCE
Lat / lng / radius_m. Haversine math server-side.
★ ⬡ POLYGON GEOFENCE
JSON list of (lat, lng) points. Ray-casting point-in-polygon. For non-circular footprints — yards, campuses.
★ 🌐 IP ALLOWLIST FALLBACK
CIDR ranges per site. When GPS fails (indoor desks!) the punch can still be accepted if it comes from a known office IP.
★ 🕗 TIME WINDOWS
Per site: weekdays + open_from_h + open_to_h. Site refuses punches outside its window. Supports overnight shifts.
★ 📸 SELFIE CAPTURE
Site can require a browser-camera frame on check-in. Attached to the hr.attendance as an ir.attachment.
★ 🗺️ REVERSE-GEOCODE
Best-effort call to OpenStreetMap Nominatim — stores the human-readable address on every attendance row.
★ 🗺️ LIVE LEAFLET MAP
OWL component with Leaflet + OpenStreetMap tiles. Site circles drawn to scale. Checked-in employees plotted. Auto-refresh 12 s.
★ 🚨 LATE + ANOMALY DETECTION
Late flag computed from site.open_from_h + grace_minutes. Distance anomaly flag when check-out lands > 500 m from a previously-matched site.
★ ⏰ AUTO-CHECKOUT CRON
Hourly cron closes punches that have been open longer than N hours (configurable, default 16). Logged as bypass.
📊 GPS ACCURACY GATE
Reject punches when reported accuracy is worse than configured limit. Default 200 m — typical phone outdoors is 10–30 m.
🔓 MANAGER BYPASS
Manual punch wizard with mandatory reason. Logged on the attendance row + on the audit log. No silent overrides.
🕵️ FULL AUDIT LOG
Granted / denied (no GPS / out of range / low accuracy / not assigned) / bypass / error. With GPS, accuracy, IP, user-agent, reason.
📱 MOBILE-FIRST
Pure HTML5 geolocation + getUserMedia. No app to install. Works on iPhone Safari, Android Chrome, kiosk tablets.
🛡️ SERVER-VALIDATED
Coordinates come from JS, but the haversine / point-in-polygon / IP check happens in Python. Tampering with the client gets you a denial row, not a fake punch.
🏢 MULTI-COMPANY
Sites + attempts scoped per company via record rules. Branch managers see only their own data.
🌍 ARABIC + RTL
name_ar + address_ar fields on every site. RTL-clean. MENA-first.
👥 PER-EMPLOYEE ASSIGNMENT
Each employee gets a list of allowed sites. Many-to-many. Empty list = any active site (good default for HQ-only).
🔌 DROP-IN ON hr.attendance
Doesn't replace the kiosk / reporting. Adds fields + a JSON endpoint + a JS service. The standard widgets keep working.
⚙️ 2 SECURITY GROUPS
Geo User (RO sites) vs Geo Manager (CRUD sites + view attempts + bypass). Inherits hr_attendance.group_hr_attendance_user / _manager.
🧭 GOOGLE-MAPS LINKS
Every site + every attendance gets a one-click "Open in Google Maps" URL to verify the pin.
🏪 MENA SEED DATA
8 sample sites: Riyadh HQ · Jeddah · Cairo · Dubai · Dammam · Mecca · Abu Dhabi (polygon) · Office Wifi (IP-only).
📦 SOURCE CODE
Clean, commented Python + OWL. Lifetime updates. OPL-1 license.
WHAT YOU GET FOR $30

An hour of a freelancer. A platform.

mn.attendance.site model — circle + polygon math ~$400
IP allowlist + time-window gating ~$200
hr.attendance extension (16 GPS / address / anomaly fields) ~$300
/geo_attendance/punch + /live JSON endpoints ~$300
OWL Leaflet live map dashboard ~$500
JS service: geolocation + selfie capture ~$250
Audit log model + decorated list view ~$200
Manager bypass wizard with audited reason ~$150
Reverse-geocode integration (Nominatim) ~$150
Auto-checkout cron + late + anomaly logic ~$200
Settings UI · 2 security groups · multi-company rules ~$250
8 MENA seed sites + Arabic field set ~$100
Source code, lifetime updates, OPL-1 ~$100
Bespoke equivalent ≈ $3,100 Your price: $30

$30.

Install in ten seconds.

Install for $30 →
ATTENDANCE GEOLOCATION · v19.0.2.0.0 · OPL-1

Built by Moaz Nabil · moaaznaabilali@gmail.com

Odoo Proprietary License v1.0

This software and associated files (the "Software") may only be used (executed,
modified, executed after modifications) if you have purchased a valid license
from the authors, typically via Odoo Apps, or if you have received a written
agreement from the authors of the Software (see the COPYRIGHT file).

You may develop Odoo modules that use the Software as a library (typically
by depending on it, importing it and using its resources), but without copying
any source code or material from the Software. You may distribute those
modules under the license of your choice, provided that this license is
compatible with the terms of the Odoo Proprietary License (For example:
LGPL, MIT, or proprietary licenses similar to this one).

It is forbidden to publish, distribute, sublicense, or sell copies of the Software
or modified copies of the Software.

The above copyright notice and this permission notice must be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with