Automated Odoo email alerts to HR a configurable number of days before employee visa or passport expiry. One-time license from $299.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Automated Odoo email alerts to HR a configurable number of days before employee visa or passport expiry.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Missing a visa or passport renewal deadline in an expat-heavy operation is not a paperwork slip — it is fines, stranded employees, blocked travel, and in some GCC jurisdictions daily overstay penalties that accrue against the company sponsor. Odoo's HR app stores visa and work-permit fields on the employee record, but core Odoo does nothing proactive with those dates: nobody is emailed, nothing escalates, and the first sign of trouble is usually the document already being expired.
Automated visa-expiry email alerts fired by a daily Odoo scheduled action (ir.cron), evaluated against each employee's expiry date
Passport-expiry email alerts on the same engine, with an independent warning window from the visa window
Fully configurable advance-warning days — set a single threshold or a cascade (e.g. 90 / 60 / 30 / 7 days) in Settings, no code change needed
Routes each alert to the responsible HR person via a 'Responsible HR' field, department manager, or company HR role — not a shared catch-all inbox
Per-employee renewal status compute field (Valid, Expiring Soon, Expired, Renewal In Progress) driven by @api.depends on the expiry dates
Extends hr.employee with structured document fields (visa number/type/expiry, work-permit expiry, passport number/expiry) so data lives on the record, not in attachments
Visa & Passport Expiry Notifications is a net-new Odoo module that ECOSIRE designs, builds, installs, and supports for your database. It watches every employee's visa expiry, work-permit expiry, and passport expiry dates and sends targeted email alerts to the responsible HR manager a configurable number of days in advance — for example a 90/60/30/7-day cascade — so renewals start while there is still runway. Alerts route to the HR person actually accountable for that employee (by department, company, or an explicit "responsible HR" field), not to a noisy shared inbox everyone ignores.
Under the hood this is real Odoo engineering, not a spreadsheet bolted on. The module extends hr.employee with the document-date fields you need, adds compute fields with @api.depends for "days until expiry" and a per-employee renewal status (Valid / Expiring Soon / Expired / Renewal In Progress), and drives the daily scan with a scheduled action (ir.cron) that evaluates thresholds and dispatches branded emails through Odoo mail.template / QWeb. Access is locked down with ir.model.access.csv and record rules so only HR roles see document data, and everything ships compatible with Odoo 17, 18 and 19 on both Community and Enterprise. Because it is your module in your database, the warning windows, email wording, recipients, and even the document types (visa, passport, Emirates/Iqama ID, labour card, medical insurance) are yours to shape during the build — and yours to extend later.
Runs HR for a UAE/KSA/Qatar company where most staff are on employment visas and work permits. Personally liable for overstay fines and blocked renewals. Needs to be emailed weeks ahead — routed to them specifically — so PRO paperwork starts on time.
Oversees several legal entities in one Odoo database and must guarantee no visa or passport lapses across any of them. Wants per-company isolation, a single upcoming-renewals view grouped by entity, and escalation when a document hits the final threshold.
Handles day-to-day renewals for a large migrant or field workforce. Drowns in shared-inbox reminders. Needs colour-coded 'expiring in 30 days' filters, a per-employee renewal status, and a 'renewal in progress' flag that stops duplicate alerts once work has started.
Buy the license on ecosire.com and download the Visa & Passport Expiry Notifications module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Visa & Passport Expiry Notifications, and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Proactive email alerts before expiry | ||||
| Configurable multi-step warning cascade (90/60/30/7) | ||||
| Alerts routed to the specific responsible HR person | ||||
| Per-employee renewal status (Valid / Expiring / Expired) | ||||
| Built, installed & supported for your DB (17/18/19) | ||||
| PII locked down with record rules + access CSV | ||||
| You own the code + defined support/compatibility window | ||||
| Tailored document types (Iqama, labour card, insurance) |
No. This is a build-to-order module. ECOSIRE builds it for your specific Odoo version and policy, then installs and configures it in your database. You are buying the engineering, deployment, and support — not a self-service download you'd have to wire up yourself.
Typical delivery is 2 to 4 weeks from kickoff, depending on how many document types you need (visa, passport, work permit, ID cards), your recipient-routing rules, and whether we also backfill existing employee dates. After a short requirements call we confirm a firm date; deployment and HR handover happen at the end of that window.
Every build includes a defined post-launch support window covering bug fixes and a compatibility guarantee against your Odoo minor-version updates within your major line (17, 18, or 19). If you later upgrade to a new major Odoo version or want new document types, thresholds, or an integration, we scope that as a small follow-on. You own the module code, so you're never locked in.
Both. The module depends only on the standard hr and mail modules, so it runs on Odoo Community and Enterprise, versions 17, 18 and 19. We build against your exact minor version to keep it clean through updates.
Yes — that's the core design. Advance-warning days are configurable in Settings, as a single threshold or a multi-step cascade like 90/60/30/7 days. Each alert routes to the responsible HR person for that employee (via an explicit field, the department manager, or an HR role), with optional escalation to a second recipient on the final threshold or once a document is already expired.
Yes. Document fields are protected with Odoo's ir.model.access.csv access rights and record rules so only designated HR groups can read them, and in a multi-company setup each entity's records are isolated. Nothing about passport or visa numbers is exposed to general employees or non-HR roles.
Yes. As part of delivery we help backfill existing employees' visa, work-permit and passport dates from your current source — typically a CSV or spreadsheet export — so the alert engine has accurate data to act on from day one.
Automated Odoo email alerts to HR a configurable number of days before employee visa or passport expiry.