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 Suite Base v 19.0
  4. Sales Conditions FAQ

Attendance Suite Base

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 5
Download for v 19.0 Deploy on Odoo.sh
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 1428
Technical Name eh_hr_attendance_base
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
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 1428
Technical Name eh_hr_attendance_base
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
ERP Heritage
ERP Heritage · Attendance Suite
Foundation

Attendance Suite Base

The shared engine every ERP Heritage attendance module quietly stands on. Biometric consent with explicit lifecycle. Kiosk site and device registry with rotating tokens. Append only audit trail with retention sweeps. Multi company isolation enforced in code, not paperwork.

Odoo 19 Community v19.0.1.0.0 LGPL-3 Human Resources / Attendances
Consent lifecycle
Kiosk registry
Append only audit
Multi company native
BUILT FOR
Operators rolling out a self hosted attendance stack on Odoo 19 Community without per employee subscriptions or third party cloud
SAVES YOU
Months of plumbing work building consent, kiosk pairing, audit, and retention from scratch on top of stock hr_attendance
REPLACES
A scrap heap of consent PDFs in a shared drive, a spreadsheet of paired tablets, and a tribal knowledge handover note for every new HR hire

Day in the life

A new starter walks in on a Monday and the kiosk just works.

HR opens the employee record, captures consent in plain English, and ticks granted. The base writes one consent row with the validity window the company configured. The new starter walks up to the reception tablet, pairs once with the one shot PIN HR issued, and is recognised on every clock in from then on. Behind the curtain a daily cron expires past due grants, prunes withdrawn rows past the retention horizon, and trims the kiosk audit trail to the configured horizon. The CFO who asks for a Fair Work audit on Friday afternoon does not need to phone the IT team. They open Audit Trail, filter by date, export. No spreadsheets, no SaaS dashboards, no surprise.

Overview

What this module does, in one read.

eh_hr_attendance_base ships the privacy primitives, kiosk infrastructure, and audit guarantees the rest of the ERP Heritage people operations suite plugs into.

It auto installs as a dependency of any sibling module so an operator never picks it manually. Consent records gate every biometric and geolocation capture downstream. Sites and devices live on first class models with rotating opaque tokens. Every kiosk event lands in an append only log a manager can read and an auditor can export, and nobody can edit.

base mail hr hr_attendance
Module
eh_hr_attendance_base
VERSION
19.0.1.0.0
LICENCE
LGPL-3
DEPENDS ON
hr_attendance + 3
CATEGORY
Attendances

Capabilities

Ten things this module gives you, with no padding.

CAPABILITY 01

Per employee consent lifecycle

eh.hr.consent records pending, granted, withdrawn, and expired states with explicit transitions. Configurable validity and retention windows per company. Withdrawing consent cascades to the matching biometric template the next time the kiosk runs.

CAPABILITY 02

Kiosk site and device registry

A first class site model for each clock in location, optional geofence radius and centre. A device registry with rotating opaque tokens, last seen tracking, IP and user agent on every heartbeat. Revoke a lost or pinched tablet from one screen.

CAPABILITY 03

One shot device pairing PIN

Issue a short lived numeric PIN, the device redeems it once for a long lived opaque token. PINs cannot be replayed and never live in the same row as the issued token. Re pair a refurbished tablet without rebooting the kiosk service.

CAPABILITY 04

Append only kiosk audit trail

Every register, heartbeat, match attempt, success, failure, geofence pass, geofence fail, consent transition, and exception raise lands in eh.hr.kiosk.event with timestamp, device, employee, confidence, and IP. Read only for managers and auditors; no edit, no delete, no rewrite.

CAPABILITY 05

First class exception model

Late, no show, missed check out, location mismatch, low match confidence, geofence violation. Each exception carries severity, employee, kind, message, and resolution state. Future modules raise to it; managers triage from one place.

CAPABILITY 06

Daily retention sweeps

A daily cron expires consents past their validity, deletes withdrawn consents past retention, and trims the kiosk audit trail to the configured horizon. Compliance is a background process, not a Friday afternoon checklist.

CAPABILITY 07

Multi company isolation by record rule

Every model is company scoped. Global ir.rule entries enforce per company isolation on read, write, and delete. A consultant working across three tenants never sees one tenant's audit trail bleed into another.

CAPABILITY 08

Privilege based group system

Suite namespaced groups for User, Manager, Admin, and Auditor. ACL CSVs reference these groups, never upstream HR groups directly. Migration scripts promote existing users so an upgrade does not lock anyone out.

CAPABILITY 09

Stable public APIs for downstream modules

log() for audit events, raise_exception() for attendance exceptions, issue_pairing_pin() for device pairing. Sibling modules import these by name and stay decoupled from each other. New modules slot in without surgery.

CAPABILITY 10

Privacy by design throughout

Raw biometric images never persist on the server. Only embeddings live in the database, tied to a granted consent. No third party cloud dependency. No phone home telemetry. Your database, your roof, your rules.

Compared

How this module stacks up.

FEATURE
STOCK HR_ATTENDANCE
SAAS KIOSK SUBSCRIPTION
THIS MODULE
Biometric consent
Not modelled
Tickbox at sign up
First class lifecycle with retention
Audit trail
Stock chatter
Vendor managed cloud log
Append only, in your database, queryable
Where data lives
Your database
Vendor's cloud
Your database, on your servers
Consent record
Not modelled
Tickbox at sign up
eh.hr.consent with snapshot of the prose shown
Multi company isolation
Standard company_id
Tenant per organisation
Global ir.rule on every model
5
Core models
Consent, kiosk site, kiosk device, kiosk event, attendance exception.
18
Audit event types
From device register and heartbeat through match, attendance, consent, geofence, liveness, exception, and error events.
12
Sibling modules in the suite
Every other module in the suite plugs into the primitives this base provides.

Workflow

Install. Configure. Pair. Forget.

Four steps; the same shape every other module in the suite uses, so a finance or HR team learns the pattern once.

1

Install

Every sibling module in the suite declares this base as a dependency, so installing any of them pulls the base in. You can also install it on its own to lay the data model first.

2

Configure

Set retention windows, default consent text, match threshold, and kiosk idle reset under People Operations > Settings.

3

Pair

Create a kiosk site for each clock in location. Issue a one shot PIN. The tablet pairs and rotates its own token from then on.

4

Forget

The retention crons run on schedule. Sibling modules build on the primitives. The base hums quietly behind the curtain.

Why Heritage

Where this module leads, where it matches, what we are honest about.

Where it leads
  • Privacy primitives baked into the data model, not bolted on
  • Append only audit, never edited, never silently mutated
  • One shared engine for a dozen sibling modules
Where it matches
  • Standard kanban, list, form, and search views
  • Multi company isolation via global ir.rule
  • Suite namespaced privilege groups
Honest about
  • This is plumbing; pair it with a kiosk module to clock in
  • No third party cloud; on prem only
  • Privacy is enforced in code; the legal review is yours

Engineering

Eight engineering rules we hold ourselves to.

Privacy by design.Raw biometric images never persist on the server. Only embeddings live in the database, tied to a granted consent.

No silent fallbacks.Missing consent, missing site, missing device token each surface explicit messages naming the unresolved field.

Append only audit.Kiosk events are read only for managers and auditors. No edit, no delete, no rewrite. The trail tells the truth.

Multi company aware throughout.Every model is company scoped. Global ir.rule entries enforce per company isolation on every operation.

Per record savepoints in crons.Retention sweeps wrap each iteration in a savepoint so one bad row never stops the batch.

Stable public APIs.log(), raise_exception(), issue_pairing_pin(). Sibling modules import these by name and stay decoupled from each other.

Plain Python and OWL.No third party cloud dependency, no proprietary ML server, no vendor lock in. Your stack stays portable.

Capability focused descriptions.No competitor names in code or docs. Every claim describes what the module does, not what it replaces.

Frequently asked questions

Honest answers to the questions a buyer asks.

Does this run on Odoo 19 Community?

Yes. The module targets Odoo 19 Community and uses only standard ORM and view APIs. No Enterprise dependencies, no proprietary modules required.

Do I need to install this on its own?

No. Pick any sibling module in the ERP Heritage attendance suite and the base auto installs. You only ever tick this one if you want the data model in place before the kiosk modules.

Does it touch the standard hr.attendance model?

Only by reference. The base ships its own consent, kiosk, and exception models, and it sits alongside hr.attendance rather than rewriting it. Sibling modules write to hr.attendance directly through the standard API.

What does the audit trail look like?

Each kiosk event records timestamp, device, employee, event kind, optional confidence, and optional IP. ACLs make the trail read only for managers and auditors; nobody can edit or delete a row. A daily cron trims past the configured retention horizon, and the trim itself is logged.

What happens when an employee withdraws consent?

The consent row transitions to withdrawn and the matching biometric template is deactivated the next time the kiosk runs. The cascade is logged in the audit trail. After the retention horizon the withdrawn row itself is removed by the daily cron.

How is multi company isolation enforced?

Every model carries a company_id and a global ir.rule that restricts read, write, and delete to the user's allowed companies. Site, device, audit, exception, and consent rows are all scoped per company. A consultant rolling out three tenants on one Odoo never sees the trails cross.

Can I extend the audit trail with my own event types?

Yes. Inherit eh.hr.kiosk.event in your own module and extend the kind selection. The log() public API accepts the new kind by name; the rest of the audit pipeline picks it up without further work.

The full ERP Heritage attendance suite

Thirteen modules, one data model, one audit trail.

eh_hr_attendance_base
Attendance Suite Base
You are here
eh_hr_face_kiosk
Face Kiosk Attendance
Browser face match clock in
eh_hr_face_liveness
Face Liveness
Active blink anti spoof gate
eh_hr_attendance_geofence
Mobile Geofence Clock-in
Per employee mobile and GPS
eh_hr_attendance_jobcost
Attendance Job Costing
Analytic and project punch
eh_hr_attendance_reports
Attendance Reports
Exception detection plus dashboards
eh_hr_attendance_roster
Attendance Roster
Weekly shift templates
eh_hr_attendance_award_au
AU Award Engine
Modern Award penalty and OT split
eh_hr_attendance_payroll_export
Payroll Export
Five vendor CSV formats
eh_hr_attendance_migrate
Attendance Migration
CSV importer for switching
eh_hr_health_screen
Health Screen
Pre clock in declaration with deny
eh_hr_attendance_access_control
Door Access Control
Webhook door unlock on match
eh_hr_visitor
Visitor Management
Front desk sign in with NDA
ERP Heritage

Questions about the suite or this module:

info@erpheritage.com.au

Module: eh_hr_attendance_base · Version 19.0.1.0.0 · Licence LGPL-3

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, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
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