TIP: You can type at any time to perform a new search.
Employee Benefit
hr_employee_benefit · OCA/hr
- Repository
- OCA/hr · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Generic Modules/Human Resources
- Folder size
- 0.16 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://www.savoirfairelinux.com
- Last tracking update
- 2026-08-07 07:17:51
- Authors
- Savoir-faire Linux, Odoo Community Association (OCA)
- Maintainers
- Savoir-faire Linux, Odoo Community Association (OCA)
- Committers
- Pedro M. Baeza, Stéphane Bidoul (ACSONE), Iryna Vushnevska
Code Analysis ⓘ
Views touched (9)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | form | Inherits hr_contract.hr_contract_view_form |
hr_employee_benefit_category_form |
hr.employee.benefit.category.form | hr.employee.benefit.category | form | New |
hr_employee_benefit_category_list |
hr.employee.benefit.category.tree | hr.employee.benefit.category | tree | New |
hr_employee_benefit_rate_form |
hr.employee.benefit.rate.form | hr.employee.benefit.rate | form | New |
hr_employee_benefit_rate_list |
hr.employee.benefit.rate.tree | hr.employee.benefit.rate | tree | New |
hr_salary_rule_form |
hr.salary.rule.view.form | hr.salary.rule | form | Inherits hr_payroll.hr_salary_rule_form |
view_hr_employee_benefit_category_filter |
hr.employee.benefit.category.select | hr.employee.benefit.category | search | New |
view_hr_employee_benefit_rate_filter |
hr.employee.benefit.rate.select | hr.employee.benefit.rate | search | New |
view_hr_payslip_form |
hr.payslip.form | hr.payslip | form | Inherits hr_payroll.view_hr_payslip_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (8)
New fields (1)
-
benefit_line_idsOne2many → hr.employee.benefitargs: 'hr.employee.benefit', 'contract_id', 'Employee Benefits'
No public methods.
New fields (9)
-
amount_typeSelectionreadonly=Truerelated='rate_id.amount_type'string='Amount Type' args: get_amount_types -
category_idMany2one → hr.employee.benefit.categoryindex=Trueondelete='cascade'required=True args: 'hr.employee.benefit.category', 'Benefit' -
codeCharrelated='category_id.code'string='Code' -
contract_idMany2one → hr.contractindex=Trueondelete='cascade' args: 'hr.contract', 'Contract' -
date_endDateargs: 'End Date' -
date_startDatedefault=fields.Date.context_todayrequired=True args: 'Start Date' -
employee_amountFloatreadonly=Truerelated='rate_id.employee_amount'string='Employee Amount' -
employer_amountFloatreadonly=Truerelated='rate_id.employer_amount'string='Employer Amount' -
rate_idMany2one → hr.employee.benefit.raterequired=True args: 'hr.employee.benefit.rate', 'Rate'
-
compute_amounts(self, payslip)@api.one
New fields (7)
-
activeBooleandefault=True args: 'active' -
codeCharhelp='The code that can be used in the salary rules to identify the benefit' args: 'Code' -
descriptionTexthelp='Brief explanation of which benefits the category contains.' args: 'Description' -
nameCharrequired=True args: 'Benefit Name' -
rate_idsOne2many → hr.employee.benefit.ratestring='Benefit Rates' args: 'hr.employee.benefit.rate', 'category_id' -
referenceCharhelp='Field used to enter an external identifier for a benefit category. Example, pension plans may have a registration number.' args: 'Reference' -
salary_rule_idsMany2many → hr.salary.ruleargs: 'hr.salary.rule', 'salary_rule_employee_benefit_rel', 'benefit_id', 'salary_rule_id', 'Salary Rules'
No public methods.
New fields (6)
-
amount_typeSelectiondefault='each_pay'required=Truestring='Amount Type' args: get_amount_types -
category_idMany2one → hr.employee.benefit.categoryrequired=True args: 'hr.employee.benefit.category', 'Benefit Category' -
employee_amountFloatcompute='_get_amounts_now'readonly=Truestring='Employee Contribution' -
employer_amountFloatcompute='_get_amounts_now'readonly=Truestring='Employer Contribution' -
line_idsOne2many → hr.employee.benefit.rate.lineargs: 'hr.employee.benefit.rate.line', 'parent_id', 'Rates' -
nameCharrequired=True args: 'Name'
-
compute_amounts(self, payslip)@api.multiCompute benefit lines -
get_all_amount_types(self)@api.modelGet the list of amount types for employee benefits This method is not called directly so that it can be inherited easily in other modules. When inheriting this method, the list of selections is updated in every related models. -
get_amount(self, date, employer=False)@api.multi
New fields (7)
-
amount_typeSelectionreadonly=Truerelated='parent_id.amount_type'string='Amount Type' args: get_amount_types -
category_idMany2one → hr.employee.benefit.categoryreadonly=Truerelated='parent_id.category_id'string='Category' args: 'hr.employee.benefit.category' -
date_endDateargs: 'End Date' -
date_startDatedefault=fields.Date.context_todayrequired=True args: 'Start Date' -
employee_amountFloatdigits_compute=dp.get_precision('Payroll')required=True args: 'Employee Amount' -
employer_amountFloatdigits_compute=dp.get_precision('Payroll')required=True args: 'Employer Amount' -
parent_idMany2one → hr.employee.benefit.rateondelete='cascade'required=True args: 'hr.employee.benefit.rate', 'Parent'
No public methods.
New fields (2)
-
benefit_line_idsOne2many → hr.payslip.benefit.linereadonly=Truestates={'draft': [('readonly', False)]} args: 'hr.payslip.benefit.line', 'payslip_id', 'Employee Benefits' -
pays_per_yearIntegercompute='_get_pays_per_year'help='Field required to compute benefits based on an annual amount.'readonly=Truestore=Truestring='Number of pays per year'
-
button_compute_benefits(self)@api.multi -
compute_benefits(self)@api.oneCompute the employee benefits on the payslip. This method can be called from inside a salary rule. Exemple ------- payslip.compute_benefits() This is required when the benefits are based on the value of one or more salary rules. The module hr_employee_benefit_percent implements that functionnality.
New fields (6)
-
category_idMany2one → hr.employee.benefit.categoryrequired=True args: 'hr.employee.benefit.category', 'Benefit' -
employee_amountFloatdigits_compute=dp.get_precision('Payroll') args: 'Employee Contribution' -
employer_amountFloatdigits_compute=dp.get_precision('Payroll') args: 'Employer Contribution' -
payslip_idMany2one → hr.payslipondelete='cascade'required=True args: 'hr.payslip', 'Payslip' -
referenceCharargs: 'Reference' -
sourceSelectiondefault='manual'readonly=Truerequired=Truestring='Type'type='char' args: [('contract', 'From Contract'), ('manual', 'Added Manually')]
No public methods.
New fields (1)
-
employee_benefit_idsMany2many → hr.employee.benefit.categoryargs: 'hr.employee.benefit.category', 'salary_rule_employee_benefit_rel', 'salary_rule_id', 'benefit_id', 'Salary Rules'
-
sum_benefits(self, payslip, **kwargs)@api.multiMethod used to sum the employee benefits computed on the payslip Because there are many possible parameters and that the module needs to be inherited easily, arguments are passed through kwargs :param codes: The type of benefit over which to sum :type codes: list of string or single string :param employer: If True, sum over the employer contribution. If False, sum over the employee contribution Exemple ------- payslip.compute_benefits(payslip, employer=True) Will return the employer contribution for the pay period
Loading…
Loading…
Loading…