HR Expiry Exposure
Find the work permits and contracts that have already lapsed without anyone noticing
The video below shows HR Expiry Exposure running on a real Odoo 19 database. Want it driven against your own data, or a question answered first? Ask and we will set up a session.
Odoo does send a reminder before a work permit expires. It fires when the expiry date falls exactly on the notice day - so anything that was already past when you started, anything imported with an old date, and anything missed on that single day is never flagged again.
This counts what is actually there. Work permits and contract end dates are reported as already expired, expiring within a window you choose, or not tracked at all - with a drill-down to the employees behind each number.
Eleven active employees: five have a work permit date on file, two of those have already expired, and two more go within sixty days.
What it does
No date is not the same as expired
An employee with no permit date recorded is untracked, not lapsed. Counting the two together would swamp the number that actually needs acting on, so they are reported separately - and the untracked count is usually the more interesting one.
Counts only, no employee data
The report stores totals and nothing else - no employee is named, referenced or copied into it. A test asserts the model carries no employee-referencing field and that the module extends hr.employee nowhere.
And then what
Native Odoo tracks expiry for exactly two things: work permits and contract end dates. Everything else - licences, certifications, background checks, training records - has nowhere to live, which is usually why it lives in a spreadsheet. If you need to track those, and to log complaints and penalties against an employee's file, that is what the paid app does.
What it does not do
Stated up front so nothing about the scope is a surprise after you install it.
Screenshots

Requirements
- Odoo 19.0, Community or Enterprise.
- Odoo.sh or On-Premise only. Third-party apps cannot be installed on Odoo Online (SaaS) databases — check your hosting before buying.
- Module
mh_hr_expiry_exposure, version 19.0.1.0.7, licensed OPL-1.
Related apps
Ask for something and keep the record of who agreed: approval types with named approvers, a minimum number of them, and every decision stored against the person who made it
Track visa, licence and certification expiry dates with reminders before they lapse. Log grievances and disciplinary penalties against the employee record.
Find out when the EU pay-gap reporting duty reaches you, and whether your data is ready