Right-to-Work & Document
Track visa/passport/DBS and right-to-work documents with expiry reminders and an audit log
Lapsed compliance documents are a legal and financial risk, and right-to-work rules add real penalties for getting it wrong. Tracking visas, passports, DBS checks and permits in a spreadsheet means expiries get missed and there is no defensible record when challenged. This module gives HR a register of every employee's right-to-work and compliance documents on the standard hr.employee model, with a daily cron that flags expiring/expired status and emails reminders plus HR activities at configurable lead times. A right-to-work check workflow captures the statutory check (manual, online share code or IDVT) and outcome, and every change is written to a tamper-evident, append-only audit log. It is a register, reminder and evidence tool — it does not file or submit anything to the Home Office on your behalf.
Key Features
Compliance document register
gb.rtw.document holds each employee's passport, visa/BRP, DBS, licence or work permit with reference, issuing_authority, issue/expiry dates and an attached scan. Documents live on the standard hr.employee via rtw_document_ids, and gb.rtw.doc.type defines your own types with their own reminder lead and expiry rules.
Live expiry status engine
_compute_status derives days_to_expiry and a stored status of valid, expiring soon, expired or no-expiry from each document's expiry_date and per-document reminder_days lead. Because the status is stored, you can filter and group the register to see exactly what needs attention.
Daily reminder cron
cron_check_expiries scans documents in expiring/expired status and calls action_send_reminder, which emails the configured mail.template and schedules an HR to-do activity on the responsible manager. A 7-day guard prevents reminder spam, and last_reminder_date records the last nudge.
Right-to-work check workflow
The gb.rtw.verify.wizard records a statutory RTW check: rtw_check_date, method (manual, Home Office online share code, or IDVT/IDSP), share_code and an outcome of cleared, time-limited or rejected. It requires a share code for online checks and a follow-up date for time-limited permissions, scheduling a re-check activity automatically.
Tamper-evident audit log
Every create, edit, reminder and verification writes a gb.rtw.audit entry with user, timestamp and a before/after description. The audit model blocks write() entirely and restricts unlink() to superuser, giving you an append-only evidence trail to show in an inspection.
Renewal chain with supersede
action_renew opens a pre-filled new document linked to the one it replaces via previous_document_id, and _supersede_previous flags the old record as superseded and logs it. next_document_id is computed so each employee keeps a clean history of previous and current versions of a document.
Per-employee compliance status
hr.employee gains rtw_status (all valid / action needed / expired / none), rtw_document_count, rtw_expiring_count and a stored rtw_cleared flag set only when every right-to-work document is cleared or time-limited. A compliance_summary and action_view_rtw_documents button surface it on the form.
Company-wide reporting and bulk reminders
A reporting model gives a company-wide compliance snapshot and an attention list of documents nearing or past expiry. action_remind_all_expiring fires reminders for every expiring or expired document on an employee at once, while document_count on each type shows where your obligations concentrate.
Use Cases
Screenshots
Document Types
Record Rtw Check
Why Choose This Module
Lapsed compliance documents are a legal and financial risk — especially under Home Office right-to-work rules. This module gives HR a register of every employee's right-to-work and compliance documents, with proactive expiry reminders, a clear per-employee compliance status and a tamper-evident audit log of every check and change.
Specifications
- Compatible: Odoo 18.0 / 19.0
- License: OPL-1
- Languages: English
- Author: Pokutsoft
- Dependencies: hr, mail
- Support: support@pokutsoft.com
Update date: 2026-07-02