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 Policy Ack v 17.0
  4. Sales Conditions FAQ

EH HR Policy Ack

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 17.0 Third Party 33
Download for v 17.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!
Versions 16.0 17.0 18.0 19.0
  • Description
  • Manifest
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Policy Ack

Company policies, acknowledged on record.

Free · LGPL-3v 1.0.0LGPL-3v1.0.0
Draft, published, archived workflow
Per-employee acknowledgement
HR, IT, safety, finance categories
Auto policy reference numbers
Hash-chained audit log

Why this module

EH HR Policy Ack

Configure, do not code

Workflow is data, not Python

Publish and archive run on the platform workflow engine, where states and transitions are records you can inspect and re-order. The archived state is marked final, so no transition can move a retired policy back into circulation.

Tamper-evident audit

Every change on a verifiable chain

State, title, category and version changes on each policy are written to an append-only, hash-chained audit log. A transaction-scoped advisory lock serializes appends so concurrent edits cannot fork the chain, and verify_chain walks it to prove nothing was edited after the fact.

Multi-company by default

No cross-company leakage

Each policy is owned by exactly one company and defaults to the active one. A write that tries to move a record into a company the user does not belong to is refused, and any audited cross-company override is logged with every affected record id.

Day in the life

From draft policy to a signed-off register

An HR officer drafts the new code of conduct, picks the HR category and a version label, and the module assigns a reference like POL/2026/00042 automatically. Publishing is one button, gated to HR officers, and the change lands on the audit chain. Employees are added to the acknowledgement tab, and each acknowledgement stamps the date it was confirmed. When the policy is superseded, archiving moves it to a final state it can never leave, leaving a clean, verifiable trail of who published what and when.

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.

Final-state guard

Once a policy is archived it sits in a state flagged is_final. The workflow engine refuses any further transition from it, even one a misconfigured definition might declare, so a retired policy cannot be quietly re-published.

Concurrency

Audit appends take a transaction-scoped Postgres advisory lock (pg_advisory_xact_lock) before reading the chain tail, so two simultaneous policy edits are serialized and cannot fork the hash chain. The lock releases automatically on commit or rollback.

Multi-company scoping

company_id is required and defaults to the active company. Writing a policy into a company the user is not a member of is rejected, and any allowed cross-company move emits an audit row recording the new company and every affected record id.

Idempotent acknowledgement

Acknowledging records acknowledged=true and stamps ack_date with the user's local today. The Acknowledge button is hidden once a row is already acknowledged, so a second click cannot move the recorded date.

Permission-gated transitions

Publish and archive are restricted to the HR officer group at the workflow-transition level, not just in the view. A user outside the allowed groups is blocked from advancing the workflow even via a server-side call.

Hash-symmetric audit

Audited fields that arrive as recordsets or dates are coerced identically for both the stored payload and the hash material, so the chain stays symmetric and verify_chain does not report false breaks on relational or date fields.

What is inside

Built to do the job, end to end.

  • Two models it adds. eh.hr.company.policy (the policy, with reference, title, body, category, version and acknowledgement lines) and eh.hr.policy.acknowledgement (a per-employee row carrying the acknowledged flag and date). The policy composes the workflow, audited and company-aware platform mixins plus mail.thread.
  • Workflow and sequence data. A workflow definition with draft, published and archived states and the publish and archive transitions, both gated to the HR officer group, plus an auto-numbering sequence in the form POL/<year>/ with five-digit padding.
  • Views, menu and security. List and form views with a statusbar, a Policy text area and an Acknowledgements tab, a Company Policies menu under HR records, and access rules for HR admin, HR officer and employee-self groups across both models.
  • Built on the platform engines. Depends on eh_hr_core, eh_hr_compat, eh_hr_engine_workflow and standard hr. It owns no state-machine, audit or company-scope code of its own; that behaviour comes from the shared engines so it stays consistent with the rest of the suite.

Honest about the edges

What this does not do, so nothing surprises you.

  • Acknowledgement is recorded, not enforced. The module does not block an employee from working until a policy is acknowledged, and it does not gate access on un-acknowledged policies.
  • There is no public or portal page for employees to read and self-acknowledge. Acknowledgement rows are managed from the policy form inside the backend.
  • No reminders, escalation, or scheduled jobs ship in this module. It contains no cron, so chasing un-acknowledged staff is a manual or external task.
  • Versioning is a free-text label, not an automatic supersede engine. Publishing a new version does not reset or carry over prior acknowledgements.
  • The hash-chained audit covers the policy record (state, title, category, version). The acknowledgement child rows are stored data and are not themselves added to the audit chain.
  • Policy body is plain text, not a rich document store or attachment workflow. Pair it with the platform document module if you need file attachments.
Search

Odoo 17 policy acknowledgement, company policy management Odoo, employee handbook sign-off, code of conduct acknowledgement, HR policy register Odoo Community, read and acknowledge policy, audited HR policy workflow, multi-company policy control Odoo, policy version tracking HR, tamper-evident audit log Odoo 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.

Languages

Available in 19 languages

The interface ships translated out of the box. Switch language in Odoo and the fields, menus, and messages follow.

العربية简体中文繁體中文NederlandsFrançaisDeutschहिन्दीBahasa IndonesiaItaliano日本語한국어PolskiPortuguês (Brasil)РусскийEspañolSvenskaไทยTürkçeTiếng Việt
More from ERP Heritage

Modules teams pair with this one.

Premium ERP Heritage modules that extend the same stack, each built to the same engineering bar.

USD 29
Employment Hero AU Payroll

Australian payroll context for the Employment Hero work entry sync

USD 19
Employment Hero Onboarding

Bring Employment Hero onboarding workflows, employee goals and contractor flags into Odoo Community as real recor...

USD 349
France e-Invoicing

End to end French B2B and B2G electronic invoicing for the DGFiP reform, generating Factur-X PDF/A-3 with embedde...

USD 34
ZainCash Payment Provider

Accept ZainCash wallet payments in Iraq at your Odoo checkout, on the ZainCash Payment Gateway v2 with OAuth2, re...

USD 39
Employment Hero ATS

Sync Employment Hero ATS recruitment job openings into the standard Odoo Recruitment app, mapping each opening on...

USD 9
Employment Hero New Zealand

The New Zealand country pack for the ERP Heritage Employment Hero integration

ERP Heritage

v1.0.0 · LGPL-3 · Odoo 17 Community

Developed by ERP Heritage - Top Odoo Partner • LinkedIn

Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Employees (hr)
• Discuss (mail)
Community Apps Dependencies Show
• EH HR Compatibility
• EH HR Platform Core
• EH HR Workflow Engine
Lines of code 1346
Technical Name eh_hr_policy_ack
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/

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