| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Employees (hr)
• Discuss (mail) • Payroll (hr_payroll) |
| Community Apps Dependencies | Show |
| Lines of code | 1193 |
| Technical Name |
life_insurance_management |
| License | OPL-1 |
| Website | https://www.ganemo.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Employees (hr)
• Discuss (mail) • Payroll (hr_payroll) |
| Community Apps Dependencies | Show |
| Lines of code | 1193 |
| Technical Name |
life_insurance_management |
| License | OPL-1 |
| Website | https://www.ganemo.com |
Life Insurance
Employee Policy Management
Securely store, track, and manage life insurance policies for all your employees in a centralized HR dashboard.
What We're Solving
----------------
Centralized Policy Tracking
Keep all employee life insurance information in one secure location. No more scattered spreadsheets or lost documents. Easily track providers and coverage.
True HR Integration
Seamlessly linked to the Employee Profile, allowing HR managers to quickly access policy records, start dates, and coverage amounts right where they need them.
Setup & User Manual
Step-by-Step implementation
0. Prerequisites
Before using this module, make sure the following conditions are met:
- The module Life Insurance Management is installed and active (visible in Settings > Apps).
- The user performing configuration belongs to the HR / Officer group or higher (required to see the insurance fields on the employee form).
- Insurance provider contacts must exist in Odoo as res.partner records (Contacts app). Create them before creating policies if they do not exist yet.
- Employee records must be created in the Employees app before assigning them to any policy.
1. Creating a Life Insurance Policy
This is the master record that concentrates the policy data. Follow these steps exactly:
- Go to the Payroll app (top menu bar).
- In the application menu, navigate to Employees > Life Insurance. Menu path: Payroll > Employees > Life Insurance
- Click "New" (top-left button) to open a blank policy form.
- Fill in the following fields:
Field Description Required? Policy Name A descriptive name or code for the policy (e.g. "Vida Ley 2024 – Rimac"). Yes Entities The insurance company or broker — select from existing Contacts. Optional Policy Number Official number assigned by the insurer (e.g. "POL-00123-2024"). Optional Validity Start Date The date the policy coverage begins. Optional Validity End Date The date the policy expires. Important: the system uses this date to detect date conflicts between policies for the same employee. Optional Hiring Term Free text — e.g. "Annual", "Biennial". Informational only. Optional Rate The premium rate (up to 4 decimal places), e.g. 0.0068 for 0.68%. Optional Amount The total coverage amount in monetary units. Optional - Go to the "Employees" tab (notebook at the bottom of the form).
- Click "Add a line" to add one or more employees covered by this policy. You can add multiple employees at once.
- Click "Save" (or use the breadcrumb to navigate away — Odoo will auto-save).
2. Assigning a Policy from the Employee Profile
Alternatively, you can flag an employee and link them to an existing policy directly from their profile:
- Go to Employees app > Open the employee's profile.
- Scroll down to the "Private Information" tab (or look for the insurance fields positioned after the Disability field).
- Enable the checkbox "Life insurance?". This reveals two additional fields below it.
- In the "Life insurance policy" field that appeared, select the desired policy from the dropdown. Only already-created policies appear here.
- Click the "Save employee in the policy" checkbox (toggle it to
True) and then save the record. This action calls the backend to formally associate this employee with the selected policy's Many2many list. - Save the employee record. After saving, the "Save employee in the
policy" checkbox resets to
Falseautomatically.
3. Operating Manual — Day-to-Day Monitoring
Once policies are set up, use these views and filters daily:
Global Policy List
Go to Payroll > Employees > Life Insurance to see all policies in the company. The list view shows: Policy Name, Policy Number, Start Date, End Date, Hiring Term, Rate, and Amount at a glance.
"Pending Life Insurance" Filter
In the Employees list view, use the filter "Pending life insurance" (under Filters menu) to quickly identify employees who have been flagged with "Life insurance? = Yes" but have no policy assigned yet. Act on these records immediately to avoid gaps in coverage.
Secure Data Access
The insurance fields (Life insurance?, Life insurance policy, Save employee in the policy) are restricted to the HR / Officer group. Regular employees and portal users cannot see or modify this data.
Deleting a Policy
If you delete a policy, the system automatically reassigns the affected employees to the next most-recent policy (by end date) if one exists. Employees with no remaining policy will have their Life insurance policy field cleared but the Life insurance? flag remains.
Global Ready | Multi-Language Support
This module is fully translated into English and Spanish (en_US, es_ES, es_PE, es_MX), ensuring a professional experience for international organizations.
Why Choose Ganemo?
----------------
Ganemo is the world's leading Odoo App developer and a multi-award-winning Gold Partner. For over 5 years, we have been recognized as the #1 seller of high-quality apps on the Odoo App Store. Trusted as the "Best Partner" in USA, Mexico, Chile, Spain, Colombia, Ecuador, and Peru, we deliver robust, secure, and localization-compliant solutions for global businesses.
Get a Quote & Resolve Commercial Doubts
Join thousands of satisfied clients on Odoo. Contact our sales team directly.
Official WhatsApp
Fastest response time.
LINK
+1 (828) 672-6150
Book a Demo
Let's explore your needs.
LINK
Schedule Meeting
Need More? We Do It All
Professional Odoo Services
ERP Implementation
Transform your business with a full Odoo implementation. We analyze, configure, and train your team to maximize productivity. From Accounting to Inventory, we handle the complexity so you can focus on growth.
Module Dev & Migration
Need a custom feature? Or stuck on an older version? We develop high-performance custom modules and migrate your existing code to Odoo 19 with zero data loss. Expert developers at your service.
QA / User Testing Scenarios
Enterprise Validation Plan
Scenario 1: Create a Policy and Assign it from the Policy Form
Role: HR Officer | Path: Payroll > Employees > Life Insurance > New
- Navigate to Payroll > Employees > Life Insurance and click New.
- Fill in: Policy Name = "Vida Ley 2025 – Pacifico", Validity Start Date = 01/01/2025, Validity End Date = 31/12/2025, Rate = 0.0053, Amount = 50000.
- In the Employees tab, add 3 employees.
- Save the record.
- Expected: Policy is saved. All 3 employee profiles now show this policy in the Life insurance policy field. The Life insurance? flag is visible on each employee.
Scenario 2: Assign a Policy from the Employee Profile
Role: HR Officer | Path: Employees > [Employee] > Private Information
- Open any employee profile.
- Enable the "Life insurance?" checkbox — verify that "Life insurance policy" and "Save employee in the policy" fields appear below.
- Select an existing policy in the "Life insurance policy" field.
- Enable the "Save employee in the policy" toggle and save the form.
- Expected: The employee appears in the Employees tab of the
selected policy. The toggle resets to
Falseafter saving.
Scenario 3: Multi-Employee Global Tracking
Role: HR Officer | Path: Payroll > Employees > Life Insurance (list view)
- Create at least 3 different policies, each covering different employees.
- Go to Payroll > Employees > Life Insurance (list view).
- Verify that all policies appear with their correct Policy Name, Number, Dates, Rate, and Amount.
- Open each policy and confirm the Employees tab lists the correct employees for each.
- Expected: Each policy shows only its assigned employees; no cross-contamination between policies.
Scenario 4: Date Conflict Validation
Role: HR Officer | Goal: Verify the system prevents overlapping policies for the same employee
- Create Policy A with dates 01/01/2025 – 31/12/2025, assigned to Employee X.
- Create Policy B with dates 01/06/2025 – 31/05/2026, and try to add Employee X to it.
- Attempt to save Policy B.
- Expected: A ValidationError appears:
"Employee X has date conflicts with other insurances."The record is NOT saved. Adjust the dates so they don't overlap and verify saving succeeds.
Scenario 5: "Pending Life Insurance" Filter
Role: HR Officer | Path: Employees app > List View > Filters
- Open an employee profile and enable the "Life insurance?" checkbox, but do NOT select a policy. Save.
- Go to the Employees list view.
- Open the Filters dropdown and select "Pending life insurance".
- Expected: Only the employee from step 1 appears — employees with Life insurance? = True but no policy linked.
- Assign a policy to this employee, save, and re-apply the filter. Expected: The employee no longer appears in the filtered list.
Scenario 6: Deleting a Policy — Auto-Reassignment
Role: HR Officer | Goal: Verify employees are correctly reassigned when a policy is deleted
- Create two sequential policies for the same employee (e.g. Policy 2024: Jan–Dec 2024, Policy 2025: Jan–Dec 2025).
- Verify both policies show the employee in their Employees tab.
- Delete Policy 2025 (the more recent one).
- Open the employee profile. Expected: the Life insurance policy field now points to Policy 2024 (auto-reassigned to the next most-recent policy).
- Now delete Policy 2024. Expected: The Life insurance policy field on the employee is empty, but the "Life insurance?" flag remains enabled.
Scenario 7: Access Control Verification
Role: HR User (non-officer) | Goal: Confirm restricted fields are hidden for non-HR-Officer users
- Log in as a user who belongs only to the Employee / User group (not HR / Officer).
- Open any employee profile.
- Expected: The fields "Life insurance?", "Life insurance policy", and "Save employee in the policy" are NOT visible.
- Log in as an HR / Officer and open the same employee. Expected: All three fields appear correctly.
Scenario 8: Editing Policy Data
Role: HR Officer | Goal: Verify edits to a policy propagate correctly
- Open an existing policy assigned to at least one employee.
- Update the Rate from 0.0053 to 0.0068 and the Amount from 50,000 to 75,000. Save.
- Expected: Changes are saved. Open the policy again and verify the updated values appear. The employee association is unaffected.
- Now change the Validity End Date to a valid future date. Save.
- Expected: No errors. The system re-runs the date conflict check on save. If no overlaps exist, it saves successfully.
Scenario 9: Multi-Company Isolation
Role: HR Officer with multi-company access | Goal: Verify company-level data isolation
- Configure Odoo with at least 2 companies (e.g. Company A and Company B).
- Create a policy and assign employees from Company A only.
- Switch to Company B context in Odoo.
- Expected: The policy created under Company A is not visible in Company B's list (Odoo's standard multi-company rules apply via the employee's company field).
Scenario 10: Multi-Language Interface
Role: HR Officer | Goal: Verify Spanish translation is complete
- In Settings > Users, change the interface language to Spanish (es_PE, es_ES or es_MX).
- Navigate to Payroll > Employees > Life Insurance.
- Expected: All field labels, menu items, and field strings appear correctly in Spanish. No visible English strings remain in the module's interface elements.
- Open an employee form and verify the insurance fields have their correct Spanish translations.
FAQ & Troubleshooting
Common Resolutions
How do I attach a policy to an employee?
Two methods available:
Method A (from
Employee): Open the employee profile > Enable "Life insurance?"
> Select the policy > Enable "Save employee in the policy" >
Save.
Method B (from Policy): Go to Payroll > Employees > Life
Insurance >
Open the policy > Add employee in the Employees tab > Save.
Is this compatible with Multi-company?
Answer: Yes!
Detail: Since policies relate to employees, and employees belong to individual companies, life insurance access follows standard multi-company access rules in Odoo automatically.
I get a "date conflict" error when saving a policy. What does it mean?
Cause: One or more employees assigned to this policy are already covered by another policy whose date range overlaps.
Fix: Open the conflicting policy and adjust its Validity Start Date or Validity End Date so the date ranges do not overlap. Then retry saving.
The "Life insurance?" checkbox is not visible on the employee form. Why?
Cause: The insurance fields are restricted to the HR / Officer group.
Fix: Ensure the logged-in user has the Employees / Officer (or Administrator) access level in Settings > Users & Companies > Users. Basic HR users will not see these fields by design.
I enabled "Life insurance?" but no policy shows in the dropdown. Why?
Cause: No life insurance policies have been created in the system yet.
Fix: First create at least one policy via Payroll > Employees > Life Insurance > New. Once saved, it will be selectable in the employee form dropdown.
After toggling "Life insurance?" on the employee, the policy field was auto-filled. Is this normal?
Answer: Yes, this is by design.
Detail: When "Life insurance?" is enabled, the system automatically searches for the most recent policy (by end date) associated with this employee and pre-fills the field. If incorrect, simply change it manually before saving.
I deleted a policy and now an employee shows no policy. What happened?
Cause: The deleted policy was the only one assigned to that employee.
Fix: If a second (older) policy existed, the system auto-reassigns the employee to it. If no other policy exists, the Life insurance policy field is cleared. Use the "Pending life insurance" filter in the Employees list to find affected employees and assign them a new policy.
Can one employee be covered by multiple policies simultaneously?
Answer: No — not if their date ranges overlap.
Detail: The system enforces non-overlapping date ranges per employee. However, an employee can appear in multiple sequential policies (non-overlapping periods), e.g. one policy for 2024 and another for 2025.
Is the "Rate" field a percentage or a decimal?
Answer: It is stored as a decimal.
Detail: Enter the rate as a decimal value with up to 4 decimal places.
For example, a rate of 0.68% should be entered as 0.0068. This field is
informational and does not automatically calculate payroll deductions — it serves
as a reference value for HR and payroll analysts.
Where is the "Life Insurance" menu located? I can't find it.
Cause: The menu is under the Payroll app, inside the Employees section.
Fix: Open the Payroll app (top menu bar) > Click on Employees > Select Life Insurance. If the Payroll app or the Employees menu is not visible, verify that the module is installed and that you have HR / Officer access or higher.
Commercial & Sales
For inquiries about licenses, demos, or partnerships.
Official WhatsApp
Fastest response time.
LINK
+1 (828) 672-6150
Book a Demo
Let's explore your needs.
LINK
Technical Support
Existing customers regarding module functionality.
© 2026 Ganemo. All rights reserved. visit ganemo.com
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module