| Versions | 16.0 17.0 18.0 19.0 |
EH HR Platform
One install deploys the complete EH HR Platform on Odoo 16 Community: core, four engines, attendance, leave, and every HR feature module, all from one publisher on one version stream.
Why this module
EH HR Platform
The whole suite in one click
Adding this single module pulls in all 35 platform modules and their dependencies in one go. No hunting through separate listings, no reconciling which add-on was tested against which, no partial install that leaves a feature half-wired.
One version stream, one support contact
Every module ships from ERP Heritage on the same Odoo 16 version stream and is tested to install and run together. The included coexistence test proves the HR suite shares a database with the EH Hero and EH Account suites without a model clash, an xmlid collision, or a duplicate field on hr.employee.
Four engines, not forty silos
The feature modules sit on four shared engines: declarative workflow state machines, N-step approval chains with escalation, a policy DSL for caps and multipliers, and channel-abstract notifications. Behaviour is configured once and reused, rather than reimplemented per feature.
Day in the life
Standing up HR on a fresh Odoo 16 Community database
An administrator opens Apps, installs EH HR Platform, and waits once. The core lands, the four engines register, attendance and leave wire themselves to the shared public holiday calendar, and every feature module from overtime to recruitment appears under one menu. The install hook grants the admin the attendance and leave access ladders so the user form shows each as its own dropdown. From there the team configures policies and approval chains in the engines and the features inherit that behaviour. Nothing is left in a half-installed state, and there is one support address for the entire suite.
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.
The core audit log is hash-chained and append-only. Each append takes a Postgres transaction advisory lock (pg_advisory_xact_lock) so entries are strictly ordered and the chain cannot interleave under concurrent writes, and the same canonicalization is used for both append and verify so the two can never silently diverge.
The approval engine refuses to let a user approve a request that concerns them. The authorized-approver set excludes the submitter and the request subject, and a decision is rejected with a clear error rather than being recorded, so a manager cannot sign off on their own submission.
Approval steps track when the request entered the current step and whether that step was already escalated, so the escalation cron notifies once per step rather than on every run.
The bundle has no models, only a post-init hook that grants the admin the platform groups. It uses additive (4, id) writes and runs last when every group already exists, so re-running it never duplicates or strips access.
Leave accrual prorates the first employed period, stops accruing past the configured cap by computing headroom before granting, and forfeits balance above the carryover limit with an explicit ledger row. Each grant carries a correlation id so a re-run of the accrual cron does not double-credit.
A shipped post-install test installs a module from each of the EH HR, EH Hero and EH Account suites in one database and asserts that representative models resolve and that hr.employee and account.move carry fields from multiple suites without a duplicate-field clash.
A public holiday entered once in the canonical calendar is read through by both the leave duration calculation and the attendance award interpreter, so the two are never maintained as separate, drifting calendars.
What is inside
Built to do the job, end to end.
- Core and engines. eh_hr_core and eh_hr_compat provide the shared models, the hash-chained audit log and the cross-version compatibility helpers. The four engines (eh_hr_engine_workflow, eh_hr_engine_approval, eh_hr_engine_policy, eh_hr_engine_notification) provide state machines, N-step approval with delegation and escalation, a policy DSL, and channel-abstract notification templating.
- Attendance and leave flagships. eh_hr_attendance_pro delivers idempotent attendance events with cron reconciliation and retention archiving, and eh_hr_leave_pro delivers a policy-driven accrual engine with proration, caps and carryover. Both read the one canonical public holiday calendar.
- HR feature modules. Overtime, appraisal, disciplinary, resignation, transfer, asset custody, insurance, gratuity, documents, reminders, loans, salary advance, payroll and its link, dashboard, referral, announcements, background checks, policy acknowledgement, employee update and history, lawsuits, service requests, rewards, recruitment, skills and training, all installed in one pass.
- Convenience meta-package. This module itself contains no models, views or data, only the dependency list and the install hook. Every listed module is independently installable; the bundle exists to deploy them together in one click on Odoo 16 Community.
Honest about the edges
What this does not do, so nothing surprises you.
- This is a meta-package. It has no models, views or screens of its own; all functionality lives in the 35 modules it installs. Uninstalling the bundle does not uninstall those modules.
- Listed for Odoo 16 Community. The same suite is published on the 17, 18 and 19 streams as separate builds; install the build that matches your server version.
- The post-init hook grants the base administrator the platform access groups. Other users still need their access levels assigned through the standard group dropdowns.
- Notification templates define in-app, email, SMS, push and webhook bodies, with in-app and email as the active defaults; SMS, push and webhook delivery depend on your own provider or gateway configuration.
- Country-specific payroll, awards and statutory localizations are separate modules that are not part of this bundle's dependency list; add the ones your jurisdiction needs on top.
- This bundle installs the HR suite only. The EH Hero and EH Account suites are tested to coexist in the same database but are installed separately.
odoo 16 hr suite, odoo 16 community hr, hr platform odoo, employee management odoo, leave management odoo 16, attendance tracking odoo, hr approval workflow odoo, odoo overtime appraisal disciplinary, odoo recruitment training, odoo hr meta package, one click hr install odoo, odoo hr audit trail
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.
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.
Please log in to comment on this module