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 Employee History v 19.0
  4. Sales Conditions FAQ

EH HR Employee History

by ERP Heritage https://www.erpheritage.com.au/
Odoo
v 19.0 Third Party 21
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)
Community Apps Dependencies Show
• EH HR Compatibility
• EH HR Platform Core
Lines of code 1043
Technical Name eh_hr_employee_history
LicenseLGPL-3
Websitehttps://www.erpheritage.com.au/
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
EH HR Platform

Employee History Log

A tamper-evident, company-scoped record of every employee milestone and change.

Free · LGPL-3Odoo 19LGPL-3v1.0.0
JOINED
PROMOTED
TRANSFERRED
SALARY CHANGE
ROLE CHANGE

Why this module

Employee History Log

AUDIT

Every change is provable

Each history row you create, edit, or delete is written automatically to the platform append-only, SHA-256 hash-chained audit log. Nothing is captured in the module itself, so the trail cannot be quietly rewritten from here.

SCOPE

Strict company isolation

Every entry carries a required company, defaulting to the active company. Moving a record into a company the user does not belong to is refused, and any permitted cross-company change is itself recorded in the audit log.

CLARITY

Before and after, in plain words

Each milestone keeps the old value, the new value, and a short description, so a promotion or salary change reads as a clear story rather than a guess reconstructed from other tables.

Day in the life

A promotion, recorded once and kept honest

An officer opens Employee History, picks the employee, sets the event type to Promoted, and records the old role as Developer, the new role as Team Lead, and a one-line note pointing at the annual review. The entry dates itself to today, attaches to the active company, and shows a chatter thread on the form. Behind the scenes the create is appended to the hash-chained audit log. Months later, anyone reviewing the employee can scan a single date-ordered timeline of joins, transfers, salary changes, role changes, and departures, filter to just Joined or Left, or group by event type, with full confidence that no row was edited or removed without leaving a trace.

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.

AUDIT IMMUTABILITY

Create, write, and unlink each emit an audit row. The log is append-only and hash-chained, so editing or deleting a history entry is recorded and any later tampering is caught by the platform chain verification.

CONCURRENCY

Audit appends are serialized by a Postgres transaction-scoped advisory lock, so two officers saving entries at the same time cannot fork or corrupt the hash chain. The lock releases automatically on commit or rollback.

MULTI-COMPANY

Company is required and defaults to the active company. Writing a record into a company the user is not a member of is refused with an access error, and a permitted cross-company change is logged with the affected record ids.

CHANGE-AWARE AUDIT

A write that does not actually change any captured field emits no audit noise. Only real before-and-after differences across the seven business fields are recorded.

EMPLOYEE CLEANUP

History entries are linked to the employee with cascade delete, so removing an employee removes their history rows, and each of those deletions is captured in the audit trail.

SELF-SERVICE

Self-service employees get read-only access. Only HR officers and admins can create, edit, or delete history entries, and the menu itself is restricted to officers.

What is inside

Built to do the job, end to end.

  • The history model. A single eh.hr.employee.history record with a required title, a required employee, a dated event, an event type (joined, promoted, transferred, salary change, role change, left), an old value, a new value, and a free-text description. Entries default to today and sort newest first.
  • Platform mixins, not bespoke plumbing. The model inherits the platform audited mixin and the strict company-aware mixin, plus mail.thread for a chatter on the form. The audit and company-isolation behaviour is shared platform code, not re-implemented here, so it stays consistent with the rest of the suite.
  • Views and navigation. A date-ordered list, a clean two-column form with a description block and chatter, and a search view with Joined and Left filters plus group-by Employee and group-by Event type. The menu sits under the HR records section for officers.
  • Security model. Access rules grant HR admins and officers full create, read, edit, and delete, while self-service employees are limited to read. Captured fields fed to the audit log are declared explicitly on the model.

Honest about the edges

What this does not do, so nothing surprises you.

  • Entries are recorded manually. The module does not auto-populate history from contract, job, or salary changes elsewhere in HR.
  • There is no approval or escalation workflow. A history row is a flat, audited record with no states.
  • Old value and new value are free-text fields, not links to the underlying job, department, or salary records.
  • Reporting is limited to the list view with filtering and grouping. There is no dashboard, chart, or scheduled report.
  • The audit log, hash chain, and company-scope enforcement live in the platform core modules. This module requires eh_hr_core and eh_hr_compat and contributes the history records, not the audit engine.
Search

employee history log, HR change history, employee milestone tracking, promotion log, transfer history, salary change record, role change history, audited HR records, hash-chained audit trail, multi-company HR, Odoo 19 HR, employee timeline, HR officer records, EH HR Platform

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.

ArabicChinese (Simplified)Chinese (Traditional)DutchFrenchGermanHindiIndonesianItalianJapaneseKoreanPolishPortuguese (Brazil)RussianSpanishSwedishThaiTurkishVietnamese
ERP Heritage

Production-grade Odoo HR, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by ERP Heritage - Odoo Implementation • 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