Installation
What Employee Document Expiry requires, how to install it, and how to check the install worked.
Requirements
- Odoo 18.0, Community or Enterprise
- The standard hr and mail modules (both are core Odoo)
- No external Python packages
- PostgreSQL as supplied with your Odoo installation
On-premise
- Copy the hr_document_expiry folder into a directory listed in addons_path in your Odoo configuration file.
cp -r hr_document_expiry /opt/odoo/custom/
- Restart the Odoo service.
sudo systemctl restart odoo
- In Odoo, enable developer mode, then Apps → Update Apps List.
- Search for Employee Document Expiry and press Activate.
Odoo.sh
- Add the hr_document_expiry folder to your project repository, on the branch for your Odoo 18.0 build.
- Commit and push. Odoo.sh rebuilds automatically.
- Install the module from Apps once the build is green.
From the ZIP
The release ZIP contains a single top-level folder, hr_document_expiry. Extract it directly into your addons path — do not nest it inside another folder, or Odoo will not find the manifest.
unzip hr_document_expiry_18.0.1.0.0.zip -d /opt/odoo/custom/
What installation does
- Creates two models: hr.document.type and hr.employee.document.
- Loads eight ready-to-use document types (see the README table).
- Creates two security groups, User and Manager, under Employee Documents.
- Adds a daily scheduled action, Employee Documents: Check Expiry.
- Grants the Manager group to every existing HR Manager, so the people who already own this data are not locked out of it on day one.
Nothing is sent anywhere and no existing record is modified.
Verifying the install
- Open Employees → Documents. The menu should be present.
- Open Employees → Documents → Document Types. Eight types should be listed.
- Open Settings → Technical → Automation → Scheduled Actions and confirm Employee Documents: Check Expiry exists and is active.
Upgrading
Replace the module folder and run:
odoo-bin -d YOUR_DATABASE -u hr_document_expiry --stop-after-init
Document types you have edited are preserved. The shipped types are loaded with noupdate="1", so an upgrade never overwrites your lead times, and your own types are never touched at all.
Uninstalling
Apps → Employee Document Expiry → Uninstall.
This removes both models and all recorded documents with them. Export anything you want to keep first — the data is genuinely deleted, not archived.