A build-to-order Odoo module that stores every employee document with an expiry date and fires automatic reminders before passports, visas, contracts and certifications lapse. ECOSIRE builds, installs, and supports it for your database. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $249.00 USD; request a quote for a scoped proposal.
Uygulama manifestosu
İş akışınıza göre tasarlandı
A build-to-order Odoo module that stores every employee document with an expiry date and fires automatic reminders before passports, visas, contracts and certifications lapse. ECOSIRE builds, installs, and supports it for your database.
Kendiniz kurmanıza gerek yok — ECOSIRE tarafından geliştirilen, kurulan ve desteklenen çalışır bir uygulama.
Tek seferlik geliştirme fiyatıyla başlayın. Kapsamı başlangıçta sizinle birlikte belirleriz.
ECOSIRE, Odoo ortamınızda geliştirir, yapılandırır ve kurar.
Yaklaşık 2–4 haftada yayına alırsınız; lansman sonrası bir destek süresi de dahildir.
Every HR team eventually gets burned by an expired document. A work visa that lapsed while the employee kept working, a first-aid certification that ran out the week before an audit, an ID or medical fitness card that expired unnoticed until a border or a compliance officer flagged it. Out of the box, Odoo's hr.employee model gives you a handful of identification fields and a place to attach files, but it has no concept of a document's validity window, no owner-facing dashboard of what is about to lapse, and no reminder engine. You end up tracking renewals in a spreadsheet that nobody updates, and the ERP that holds every other HR fact stays silent on the one thing that carries legal and financial risk.
We build a dedicated document-tracking layer on top of your existing HR app. A new hr.employee.document model (a proper models.Model, not a free-text note) links each record to its employee via Many2one, carries a document type, issue and expiry dates, issuing authority, document number, the attached scan through ir.attachment, and a state computed with @api.depends on the expiry date that resolves to Valid, Expiring Soon, or Expired against a per-type lead-time threshold. Document types are configurable records — passport, national ID, visa/work permit, labor contract, driving license, professional certification, medical/insurance card, or any custom type you define — each with its own reminder window so a visa can warn 60 days out while a fire-safety certificate warns at 30. A days_to_expiry computed field drives colour-coded kanban and list views, a pivot for reporting by department or document type, and search filters/group-bys for "expiring this month" so managers see exposure at a glance.
The reminder engine is the core of the build. A scheduled action (ir.cron) runs daily, evaluates each active document against its type's threshold, and dispatches notifications — an email built from a QWeb/mail.template to the employee, their manager, and the HR mailbox, plus an in-app Odoo activity (mail.activity) scheduled on the document so the renewal shows up in the responsible user's To-Do list rather than only an inbox. We wire the whole thing into the chatter so every reminder, state change, and re-upload is logged on the record for audit. Access is enforced properly: ir.model.access.csv grants plus record rules so an ordinary employee sees only their own documents while HR officers see the company-wide picture, with multi-company record rules when you run more than one company in the same database. Everything is exposed over the standard XML-RPC/JSON-RPC API so an onboarding portal or an external identity system can create and update documents programmatically. The build targets Odoo 17.0, 18.0 or 19.0 and runs on Community or Enterprise — we confirm your edition during scoping because the notification and activity surfaces differ slightly between them.
Because this is build-to-order, nothing ships until we agree on scope. After a short scoping call we send a fixed quotation and a written spec — document types, reminder windows, who gets notified, report layouts, and any API touchpoints. We then build on a branch, hand you a UAT build on a staging copy of your database, iterate on your feedback, and only deploy to production once you sign off, with a rollback plan in hand. Typical delivery is 2–4 weeks from confirmed scope depending on how many document types and integrations are in play. Pricing starts from $249 (indicative, single-company base scope); multi-company record rules, additional integrations (onboarding portals, identity providers, or SMS/WhatsApp reminder channels), and data migration of a large existing document backlog increase the quoted scope. The firm number lands in your quotation after the scoping call.
Owns the renewal calendar for the whole workforce and is accountable when a document lapses. Needs a single dashboard of what is expiring, automatic reminders that reach the right people, and an audit trail proving notice was given.
Must demonstrate to auditors and regulators that work permits, safety certifications, and licenses are current. Needs enforced record rules, chatter-logged notifications, and reporting by document type and department for evidence.
Runs the company's Odoo instance and wants a clean, upgrade-safe module — proper models, `ir.model.access.csv`, record rules, and a documented `ir.cron` — rather than brittle automated-action hacks bolted onto `hr.employee`.
Manages HR across several legal entities in one database and needs document visibility scoped correctly per company, with reminder windows and escalation recipients that differ by entity.
| Kriter | ECOSIRE | Özel Yapı | Rakip | Odoo Yerlisi |
|---|---|---|---|---|
| Expiry reminders | Daily `ir.cron` with per-document-type lead times, email + in-app activity | Whatever you build; often a single fixed-window automated action | Basic reminder, usually one global window | |
| Document model | Dedicated `hr.employee.document` model with types, dates, authority, number | Depends on developer; risk of overloading `hr.employee` fields | Own model, but fields fixed to the vendor's design | |
| Notification targets | Employee, manager, and HR mailbox, plus scheduled activities | Configurable but built from scratch each time | Typically employee and HR only | |
| Security & multi-company | Tailored record rules; per-company isolation confirmed in scoping | Only if the developer implements it correctly | Generic access rules, multi-company support varies | |
| Reporting | Pivot, kanban, and filters by type, department, and expiry window | Built to order; extra cost | Limited list/kanban views | |
| Fit to your policy | Document types, windows, and recipients configured to your exact rules | Fully bespoke but you own the full build cost | Fit to the module's assumptions, not yours | |
| Support & handover | Support window, training, docs, and git repo handover | Depends on the contractor | Vendor ticket queue, shared codebase | |
| Odoo version coverage | Built and tested for 17.0 / 18.0 / 19.0, Community or Enterprise | Whatever you target and maintain | Per-version listing, may lag new releases |
No. This is a build-to-order module that ECOSIRE builds, installs, and supports specifically for your Odoo database. There is no instant download — after you request a quotation and confirm scope, we build it and deploy it for you.
Typical delivery is 2–4 weeks from confirmed scope. The exact timeline depends on how many document types, notification channels, and integrations are in play, and is stated in your quotation after the scoping call.
Pricing starts from $249 as an indicative from-price for a single-company base scope. After a short scoping call we send a fixed, written quotation covering your exact document types, reminder windows, recipients, and any integrations. The firm number is set at that point — no surprises.
We build for Odoo 17.0, 18.0, and 19.0 on both Community and Enterprise. We confirm your version and edition during scoping because the notification and activity surfaces differ slightly, and we tailor the build accordingly.
Every build includes a post-go-live support window for bug fixes and adjustments within the delivered scope. You also receive the git repository so your own team can maintain it, and we can quote a longer support or version-migration retainer separately.
No. We enforce access with `ir.model.access.csv` plus record rules so an ordinary employee sees only their own documents, while HR and compliance roles get the company-wide view. In multi-company databases, record rules keep each company's documents isolated.
Yes. The module is exposed over Odoo's standard XML-RPC/JSON-RPC API, so an onboarding portal, HRIS, or identity provider can create and update documents programmatically. We scope those integration touchpoints during the quotation stage.
A build-to-order Odoo module that stores every employee document with an expiry date and fires automatic reminders before passports, visas, contracts and certifications lapse. ECOSIRE builds, installs, and supports it for your database.