| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Payroll (hr_payroll)
• Employees (hr) • Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 2250 |
| Technical Name |
eps_process |
| License | OPL-1 |
| Website | https://www.ganemo.co |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Payroll (hr_payroll)
• Employees (hr) • Discuss (mail) • Invoicing (account) |
| Community Apps Dependencies | Show |
| Lines of code | 2250 |
| Technical Name |
eps_process |
| License | OPL-1 |
| Website | https://www.ganemo.co |
EPS Management
Employee Health Policy Control
Optimize your HR processes by managing EPS (Health Service Provider) affiliations, policies, and credits directly within the employee profile in Odoo.
What We're Solving
----------------
Centralized Policy Control
Keep track of which employees are enrolled in an EPS. The system seamlessly handles EPS Policies tracking directly in the employee file, meaning no more scattered spreadsheets.
Conditional Interface
A clean and focused UI. The EPS Policy field only appears if the employee is actually marked as having an EPS (Exists EPS checkbox), avoiding clutter for employees using standard public health services.
Setup & User Manual
Step-by-Step implementation
Step 1 — Create EPS Policies (Master Data)
Before assigning any EPS to employees, you must first register the available health plans in the system. This is the foundational step.
- Go to Payroll > Employees > EPS > EPS Management in the top navigation menu.
- Click New to create a new EPS policy record.
- Fill in the Start Date and End Date — these define the validity period of the policy. Important: if an employee is assigned to this policy, the system will validate that no other active policy overlaps with these dates for the same employee.
- In the Entity field, select the contact (partner) representing the EPS provider (e.g., "EPS Sura", "Compensar"). The Entity Name field is auto-populated from the selected partner.
- Enter the Policy Number to uniquely identify the insurance contract.
- Set the Employer Rate (%) and Employer Amount: these control how much the company contributes toward the plan cost. Both can be used simultaneously for hybrid cost structures.
- Set the Worker Rate (%) and Worker Amount: the employee's share of the policy premium.
- In the Employees tab, add all employees who are enrolled under this policy. Effect: the system will automatically update each employee's profile — setting their "Exists EPS" flag to true and linking them to this policy.
- Click Save. The policy is now active and linked to all assigned employees.
Step 2 — Assign an EPS Directly from an Employee Profile
You can also assign an EPS policy on a per-employee basis directly from the employee form, ideal for individual changes.
- Go to Employees from the main menu and open the desired employee record.
- Navigate to the Private Information tab within the employee form.
- Locate the Health section at the bottom of the tab.
- Check the Exists EPS checkbox. Effect: the "EPS Policy" dropdown field immediately appears below it. Without this checkbox checked, the field remains hidden to avoid UI clutter for employees on public health plans.
- In the EPS Policy dropdown, select the applicable policy from the pre-configured list (Step 1).
- Click Save. Effect: the employee is automatically added to the selected EPS policy's "Employees" list (bidirectional sync).
- To remove an EPS: Uncheck the "Exists EPS" checkbox and save. The "EPS Policy" field is cleared, and the employee is removed from the policy's employee list.
Step 3 — Calculate EPS Credits (Tax Benefit)
The EPS Credit records calculate the monthly tax credit your company can claim against health contributions. This is a Peru-specific payroll benefit.
- Go to Payroll > Employees > EPS > EPS Credit from the navigation menu.
- Click New and set the Since (start) and Until (end) dates for the period you are calculating. These dates define the payroll slips to be analyzed.
- Enter the EPS Service Cost — this is the total invoice amount billed by the EPS provider for the period (including VAT).
- Click Compute. The system will automatically scan all validated payroll slips within the period for employees under health regime code "01" (EPS affiliated) and populate all calculated fields.
Calculated Fields Explained:
- Number of Affiliated Workers: Active employees with health regime "01" (EPS plan).
- Computable Remuneration: Sum of salary rule
ESA_100from validated payslips in the period. - EPS Credit: = Computable Remuneration × 9% × 25%.
- Tax Unit (UIT) Limit: = UIT × 10% × Number of Workers. (UIT is auto-fetched from the active configuration).
- Final EPS Credit: = MIN(EPS Credit, EPS Service Cost, UIT Limit). If an Adjustment is entered, it overrides the calculated minimum.
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: Dynamic EPS Field Visibility
Goal: Validate that the conditional UI logic works correctly.
- Go to Employees and open any employee form.
- Navigate to the Private Information tab.
- Test: Confirm that the EPS Policy dropdown is NOT visible when "Exists EPS" is unchecked.
- Check the Exists EPS checkbox. Expected Result: The "EPS Policy" dropdown appears immediately without page reload.
- Uncheck "Exists EPS" again. Expected Result: The dropdown disappears and the previously selected policy is automatically cleared.
- Save and re-open the record. Confirm the state is persisted correctly.
Scenario 2: Bidirectional Sync — Assign from EPS Policy
Goal: Confirm that assigning employees from the EPS Management record updates the employee profile automatically.
- Go to Payroll > Employees > EPS > EPS Management and open an existing policy (or create one).
- In the Employees tab, add a new employee (one that currently has no EPS assigned).
- Save the EPS Management record.
- Navigate to the added employee's profile and open the Private Information tab.
- Expected Result: "Exists EPS" is checked (
True) and the "EPS Policy" field is now populated with the policy you just edited — without any manual action on the employee form.
Scenario 3: Bidirectional Sync — Remove from EPS Policy
Goal: Validate that removing an employee from an EPS policy correctly clears their profile.
- Take an employee who is currently assigned to an EPS policy (see Scenario 2 to set up).
- Open the EPS Management record and remove that employee from the Employees tab.
- Save the EPS Management record.
- Navigate to the removed employee's profile.
- Expected Result: "Exists EPS" is now
False(unchecked) and the "EPS Policy" field is empty. The employee profile reflects the removal automatically.
Scenario 4: Date Conflict Validation
Goal: Confirm the system prevents an employee from being enrolled in two overlapping EPS policies.
- Create Policy A with dates 01/01/2025 – 31/12/2025 and assign Employee X to it.
- Create Policy B with overlapping dates, e.g. 06/01/2025 – 31/12/2025.
- Try to add Employee X to Policy B's Employees tab and save.
- Expected Result: Odoo raises a ValidationError stating that Employee X has date conflicts with another policy. The save is blocked.
- Pass Condition: No data is corrupted; only the invalid record is rejected.
Scenario 5: EPS Credit Calculation
Goal: Validate the automatic computation of the monthly EPS tax credit.
- Ensure at least one employee with health regime code 01 has a
validated payslip within the test period containing salary rule
ESA_100. - Ensure an active UIT value is configured in the system.
- Go to Payroll > Employees > EPS > EPS Credit and create a new record with dates covering the payslip period.
- Enter the EPS Service Cost (the invoice amount from the EPS provider).
- Click Compute.
- Expected Result: All fields are populated: Affiliated Workers count, Computable Remuneration, EPS Credit (= Remuneration × 9% × 25%), UIT Limit, and Final EPS Credit (MIN of the three limits).
- Verify manually: EPS Credit = SUM(ESA_100 lines from validated slips) × 0.09 × 0.25.
Scenario 6: Access Control — Non-HR Users Cannot See EPS Fields
Goal: Validate that EPS fields are restricted to authorized HR personnel only.
- Create a test user with only Employee / User access (no HR Officer or HR Manager role).
- Log in as this restricted user and open an employee form.
- Navigate to the Private Information tab.
- Expected Result: The "Exists EPS" checkbox and "EPS Policy" field are NOT visible to this user.
- Log back as an Administrator and confirm the same fields ARE visible.
Scenario 7: EPS Credit Override with Adjustment
Goal: Validate the Adjustment field overrides the auto-calculated Final EPS Credit.
- Follow Scenario 5 to compute an EPS Credit record. Note the auto-calculated Final EPS Credit value.
- Enter a non-zero value in the Adjustment field (e.g., a corrected amount received from SUNAT).
- Click Compute again (or Save).
- Expected Result: The Final EPS Credit now equals the Adjustment value, ignoring the MIN calculation.
- Reset Adjustment to 0.00 and compute again. Result reverts to the MIN auto-calculation.
FAQ & Troubleshooting
Common Resolutions
Why don't I see the EPS Policy field on the employee form?
Reason: The field is conditionally hidden to keep the interface clean for employees without an EPS plan.
Fix: Check the Exists EPS checkbox first. The "EPS Policy" dropdown will immediately appear below it.
I assigned an employee to an EPS policy from the employee form, but they don't appear in the policy's "Employees" tab. Why?
Reason: The bidirectional sync requires both Exists EPS to be checked AND an EPS Policy to be selected before saving.
Fix: Ensure both fields are filled before clicking Save. If still not synced, open the EPS Management record and add the employee manually from the Employees tab.
A ValidationError appears when saving an EPS policy with an employee assigned. What does it mean?
Reason: The employee is already assigned to another EPS policy with overlapping date ranges. The system prevents double-enrollment.
Fix: Check the employee's current EPS policy and verify its End Date. Adjust the date ranges so they don't overlap, or terminate the previous policy before creating the new one.
The EPS Credit Compute button returns 0 affiliated workers. Why?
Reason: The computation only counts active employees whose health regime code is 01 (EPS affiliates). If no employees have this regime, the count will be 0.
Fix: Verify that the relevant employees have health regime "01" configured in their HR settings. This is typically set in the Personal Information module within the employee profile.
The Final EPS Credit is 0 even though the calculation produced a positive value. Why?
Reason: The Final EPS Credit is the minimum of three values: (a) EPS Credit, (b) EPS Service Cost, and (c) the UIT Limit. If EPS Service Cost is 0, the EPS Credit amount is used instead. If the UIT Limit is 0, it means the UIT value is not configured.
Fix: (1) Ensure the EPS Service Cost field has the correct invoice amount. (2) Ensure an active UIT record exists in the Various Data configuration.
Can I assign one employee to multiple EPS policies at the same time?
Answer: No. The system enforces exclusive enrollment — an employee can only be linked to one active EPS policy at a time. This reflects the legal reality in Peru where an employee can only be affiliated with one EPS provider per period.
Detail: The date conflict validation blocks saving a second simultaneous policy for the same employee.
Why doesn't the Computable Remuneration include all payslips?
Reason: The EPS Credit computation only reads payslips in "Done" (validated) state. Draft, cancelled, or confirmed-but-not-validated payslips are excluded.
Fix: Validate (confirm and process) all relevant payslips for the
period before clicking Compute. Also, ensure the salary rule ESA_100 exists
in the company's payroll structure and produces a non-zero amount.
I accidentally removed an employee from a policy. How do I restore them?
Situation: After removing an employee from the EPS Management "Employees" tab, their profile was automatically cleared (Exists EPS = False, Policy = empty).
Fix: Simply re-open the EPS Management record and re-add the employee in the Employees tab, then Save. The system will automatically re-set their "Exists EPS" to True and re-link the policy on the employee profile — no manual edits required on the employee form.
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.
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