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. Platform
  3. EH HR Training and Certifications v 18.0
  4. Sales Conditions FAQ

EH HR Training and Certifications

by ERP Heritage https://erpheritage.com.au
Odoo
v 18.0 Third Party 26
Download for v 18.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 • Employees (hr)
• Discuss (mail)
Community Apps Dependencies Show
• EH HR Compatibility
• EH HR Platform Core
Lines of code 1282
Technical Name eh_hr_training
LicenseLGPL-3
Websitehttps://erpheritage.com.au
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 1282
Technical Name eh_hr_training
LicenseLGPL-3
Websitehttps://erpheritage.com.au
Versions 16.0 17.0 18.0 19.0
ERP Heritage · HR Platform
ERP Heritage . HR Platform

EH HR Training and Certifications

Certifications that never lapse unnoticed.

Free · LGPL-3Odoo 18 CommunityLGPL-3v1.0.0
Training course catalog
Per-employee certification register
Computed expiry date
Live status: valid, expiring, expired
Daily expiry watch cron

Why this module

EH HR Training and Certifications

Compliance

One answer to who is about to lapse

A needs-attention filter and status grouping turn an entire workforce of licences and mandatory trainings into a single, sortable register. Expired and expiring certifications surface first, by default, the moment you open the view.

Automation

A daily cron that flags lapses for you

Status is stored and recomputed each day against the current date, so a certificate moves itself from valid to expiring to expired. When it crosses the line the cron posts to chatter and schedules an HR activity for the manager, exactly once per lapse.

Trust

Audited and company-scoped by design

Certification changes are captured in the platform append-only, hash-chained audit log, and each certification belongs to one company. Cross-company writes are refused unless an explicit, audited override is set. No silent data crossing between companies.

Day in the life

A renewal that flags itself before it bites

An HR officer records a forklift licence against an operator, picking the course; validity months and the alert window default straight from the course, and the expiry date computes itself. Months later the licence enters its 30-day window, so the daily cron flips its status to Expiring soon, posts a note on the record and drops a renewal to-do on the operator's manager. The certification list, opened on its default needs-attention filter, already shows it in amber at the top. The renewal happens before the licence expires, and every step is on the audited record.

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.

Alert-once idempotency

Each certificate carries a reminder_sent flag set the first time the cron alerts on a lapse, so re-running the daily watch never posts a duplicate chatter message or schedules a second activity for the same expiry. Verified by an automated test.

Cron isolation

Scheduling the renewal activity is wrapped in best-effort handling: a missing or misconfigured activity type cannot break the run, so the cron still refreshes statuses and alerts on every other certificate.

Never-expires path

A course with validity set to zero produces a certification with no expiry date and a dedicated No expiry status, kept out of the alerting set entirely rather than treated as overdue.

Strict multi-company

Certifications inherit a strict company-scope mixin: company_id is required and defaults to the active company, and a write that moves a record into a company the user is not a member of is refused even under sudo unless an explicit, audited cross-company override is present.

Append-only audit

Create, write and unlink on certifications and courses emit rows into a hash-chained audit log whose appends are serialized by a Postgres transaction-scoped advisory lock, so concurrent writes cannot fork the chain, and verify_chain detects any after-the-fact edit.

Stored-status recompute

Because status and days-to-expiry are stored and date-dependent, the cron force-recomputes and flushes them before deciding who to alert, so yesterday's cached Valid never hides today's Expired.

What is inside

Built to do the job, end to end.

  • Models this module adds. eh.hr.training.course (the catalog: category, provider, default validity months, default alert days, mandatory flag, code, description) and eh.hr.certification (the per-employee record with computed expiry, live status, days to expiry, reference number, score and certificate file attachments).
  • Automation and data. A daily ir.cron certification expiry watch that recomputes statuses and raises alerts, an auto-numbering sequence (CERT/year/ with padding) for certification references, and an onchange that pulls validity months and alert days from the chosen course.
  • Views, security and reporting. List, form and search views with colour-coded status, a default needs-attention filter, status, category and employee grouping, and a per-course certifications stat button. Access is split: employees read their own records, HR officers get full create, edit and delete.
  • Built on the platform. Certifications carry the audited and strict company-scope mixins; courses carry the audited and base platform mixins. Both write into the shared hash-chained audit log. Depends on eh_hr_core, eh_hr_compat and standard hr.

Honest about the edges

What this does not do, so nothing surprises you.

  • This module tracks and alerts on certifications; it does not deliver e-learning content, host course material, run quizzes or score assessments. The score field is a single number you record by hand.
  • Expiry alerts run on a daily cron and a 30-day default window, so timing is granular to the day, not the hour, and depends on the cron being active in your instance.
  • Renewal activities are scheduled to the employee's manager (or the record creator) as a to-do; there is no built-in multi-step approval chain or escalation ladder for renewals.
  • Certifications are strictly single-company. Training courses themselves are not company-scoped, so a course catalog is shared across companies in the same database.
  • Certification status drives reporting and alerts; it does not automatically block payroll, rostering or any other process when a certificate expires.
Search

Odoo employee certification tracking, Odoo training and certification management, certification expiry alerts Odoo, HR compliance certification register, employee licence renewal reminders, mandatory training tracking Odoo, training course catalog Odoo 18, certification validity tracking, regulated industry HR compliance Odoo, employee training records management, Odoo HR certification module, certification audit trail, expiring certificate notifications, multi-company HR certifications, Odoo 18 Community HR

ERP Heritage

Production-grade Odoo accounting, built to an engineering bar and documented honestly. Support: info@erpheritage.com.au
Developed by Odoo Customisation Services

v1.0.0 · LGPL-3 · Odoo 18 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