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. Employees
  3. EH HR Platform v 19.0
  4. Sales Conditions FAQ

EH HR Platform

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 81
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Versions 16.0 17.0 18.0 19.0
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employees (hr)
• Discuss (mail)
• Attendances (hr_attendance)
• Time Off (hr_holidays)
• Calendar (calendar)
• Recruitment (hr_recruitment)
• Skills Management (hr_skills)
Community Apps Dependencies Show
• EH HR Announcement
• EH HR Appraisal
• EH HR Approval Engine
• EH HR Attendance Pro
• EH HR Background
• EH HR Compatibility
• EH HR Custody
• EH HR Dashboard
• EH HR Disciplinary
• EH HR Document
• EH HR Employee History
• EH HR Employee Update
• EH HR Gratuity
• EH HR Insurance
• EH HR Lawsuit
• EH HR Leave Pro
• EH HR Loan
• EH HR Notify Engine
• EH HR Overtime
• EH HR Payroll
• EH HR Payroll Links
• EH HR Platform Core
• EH HR Policy Ack
• EH HR Policy Engine
• EH HR Recruitment
• EH HR Referral
• EH HR Reminder
• EH HR Resignation
• EH HR Reward
• EH HR Salary Advance
• EH HR Service Request
• EH HR Skills
• EH HR Training and Certifications
• EH HR Transfer
• EH HR Workflow Engine
Lines of code 14507
Technical Name eh_hr_platform
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Platform

Install the whole HR platform in one click.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
One-click install of 35 HR modules
Four reusable engines: workflow, approval, policy, notification
Hash-chained, tamper-evident audit trail
Self-approval guard built into every approval chain
Attendance event log projected into native hr.attendance

Why this module

EH HR Platform

Extend, never duplicate

Built on standard Odoo HR

Source-of-record modules project back into native hr.attendance and the standard HR records, so payroll and reporting keep reading the data they already know. No parallel tables to reconcile, no second copy of an employee to maintain.

Tamper-evident

An audit trail you can verify

Changes append to a sha256 hash-chained log, serialized by a Postgres advisory lock so concurrent writes cannot fork the chain. A verify pass walks the chain and reports the first row that was edited after the fact, giving you a cheap integrity proof at audit time.

Configure, do not code

Rules as data, not Python

Workflows are state machines stored as records, approval chains are N-step definitions, and HR rules run through a restricted policy evaluator that never calls Python eval or touches the ORM. An administrator changes how the business runs without a developer and without a deploy.

Day in the life

From install to running HR in an afternoon

You install one module from Apps. The bundle pulls in the core, the four engines, the attendance and leave flagships and every feature module in the right order, and grants the HR admin, attendance and leave groups to your administrator. A clock-in writes an immutable attendance event that projects into a native hr.attendance row. A leave request runs an approval chain where the requester cannot approve their own time off, and an overdue step escalates itself to the approvers and HR admins once. Every consequential change lands in the hash-chained audit log. Nothing phones home, and there is no per-user fee keeping the lights on.

Edge cases

The cases most modules quietly ignore.

In the shipped code today, each one a place where a cheaper module silently does the wrong thing.

Concurrency

The audit log takes a transaction-scoped Postgres advisory lock before appending, so two concurrent writes cannot read the same chain tail and fork it. The lock releases automatically on commit or rollback.

Self-approval

An approval decision can only be recorded by an authorized approver for the current step, and the subject employee, that employee's user, and the user who submitted the request are blocked from approving even if they hold an approver group. A constraint on the decision row re-enforces this on every create path, including direct ORM and sudo writes.

Idempotency

Attendance projection upserts hr.attendance rows keyed by employee and event timestamp, and re-running the projection produces the same result. Rows created directly through standard Odoo are flagged unmanaged and never touched by the projector.

Immutability

The attendance event log and the leave balance ledger are both append-only: write and unlink raise on any attempt to mutate or delete a recorded row, so corrections are made by reversing entries, not by editing history.

Multi-company

Company-aware records default company_id to the active company and require it on create, and an attempt to write a company the user is not a member of is refused. Audit rows and approval requests store the owning company so per-company record rules scope reads.

Escalation isolation

The escalation cron notifies an overdue approval step's approvers and the HR admins exactly once per step, flags the request so later runs do not re-notify, and resets the flag when the request advances to a new step.

Safe rules

The policy evaluator accepts only a small whitelist of literals, context reads, comparisons, boolean logic, arithmetic and a conditional. It never imports user code, never calls Python builtins, and rejects anything outside the grammar, so a bad rule cannot run arbitrary code.

What is inside

Built to do the job, end to end.

  • Core and engines. eh_hr_core supplies the audited mixin, the hash-chained audit log, the company-aware mixin, feature flags, rate limiting and platform settings. Four engines sit on top: workflow (state machines as data), approval (reusable N-step chains with dynamic approvers and escalation), policy (a safe no-code rule DSL with scoped fallback) and notification (channel-abstract dispatch over in-app, email, and optional sms, push and webhook adapters).
  • Attendance and leave flagships. eh_hr_attendance_pro keeps an immutable event log as the source of record and projects paired events into native hr.attendance, with shifts, geofence, kiosk and correction support. eh_hr_leave_pro adds policy-driven accrual, carryover and expiry on top of standard Time Off, backed by an append-only balance ledger for full audit replay.
  • Every feature module included. Overtime, appraisal, disciplinary, resignation, transfer, custody, insurance, gratuity, document expiry, reminders, loans, salary advance, payroll and payroll link, dashboard, referral, announcement, background checks, policy acknowledgement, employee self-service updates, reward, lawsuit, service requests, employee history, recruitment, skills and training. Each one also installs on its own and pulls only its own dependencies.
  • Tested across four Odoo series. One authored source targets Odoo 16, 17, 18 and 19 Community; the 16 and 17 view layers are derived from it by a build step. The platform ships a large automated unit-test suite that is run green on every series before release.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module is a convenience bundle only. It contains no models, views or data of its own, just the dependency list of 35 modules, so all behaviour comes from the modules it installs.
  • Installing the bundle installs everything. If you want only part of the platform, install the individual modules you need instead, each pulls only its own dependencies.
  • The sms, push and webhook notification channels are delegated to optional adapter modules and are skipped silently when those adapters are not installed; in-app and email work out of the box.
  • Audit log retention is a configurable window (default 730 days) trimmed by the platform; the audit trail is an integrity record inside your database, not an external archive service.
  • Community payroll here is the platform's own salary structures, rules and payslips with optional accounting posting; country-specific statutory payroll rules are separate localization modules, not part of this bundle.
  • Self-hosted on your own Odoo server. There is no hosted service, no data leaves your database, and no support for Odoo Enterprise-only dependencies.
Search

odoo 19 hr suite, odoo human resources community, odoo hr platform bundle, odoo attendance management, odoo leave management, odoo overtime approval, odoo employee appraisal, odoo disciplinary action, odoo resignation offboarding, odoo employee transfer, odoo asset custody, odoo employee insurance, odoo end of service gratuity, odoo employee documents expiry, odoo hr reminders, odoo employee loan, odoo salary advance, odoo payroll community, odoo recruitment, odoo skills and training, odoo hr approval workflow, odoo hr audit trail, multi company hr odoo, self hosted odoo hr, odoo 16 17 18 19 hr

Work with ERP Heritage

Need this fitted to the way you work?

ERP Heritage delivers end to end Odoo work: Odoo Implementation, Customization and Development, Integration, Migration, Consultation, Support and Training. We help teams put this module into production, shape it to their process, and keep it running.

Build and tailor
Odoo Implementation, Customization and Development, scoped to your workflow.
Connect and move
Odoo Integration and Migration across systems and Odoo versions.
Run and support
Odoo Support and Training so your team stays productive after go live.
Plan and advise
Odoo Consultation and ERP Consulting, from discovery to roadmap.

We work with businesses across Australia (Melbourne, Sydney, Brisbane, Perth, Adelaide, Canberra) and the Middle East (Dubai, Abu Dhabi, Riyadh, Jeddah, Doha, Kuwait City, Muscat). Start a conversation at erpheritage.com.au or email info@erpheritage.com.au.

ERP Heritage

Production-grade Odoo HR, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Implementation Australia • LinkedIn

v1.0.0 · LGPL-3 · Odoo 19 Community

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.
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