| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/10.0/hr_employee_benefit |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE), Iryna Vushnevska |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:57 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_salary_rule_reference odoo/odoo: - hr_payroll - hr_contract - base_action_rule - base - resource - base_setup - web_kanban - web - bus - web_tour - hr - hr_holidays - calendar - web_calendar - product - decimal_precision - report |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | group | 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 | page | 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 | field | Inherits hr_payroll.view_hr_payslip_form |
benefit_line_ids
One2many → hr.employee.benefit
No public methods.
amount_type
Selection
readonly=True
related='rate_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
index=True
ondelete='cascade'
required=True
args: 'hr.employee.benefit.category', 'Benefit'
code
Char
related='category_id.code'
string='Code'
contract_id
Many2one → hr.contract
index=True
ondelete='cascade'
args: 'hr.contract', 'Contract'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
readonly=True
related='rate_id.employee_amount'
string='Employee Amount'
employer_amount
Float
readonly=True
related='rate_id.employer_amount'
string='Employer Amount'
rate_id
Many2one → hr.employee.benefit.rate
required=True
args: 'hr.employee.benefit.rate', 'Rate'
compute_amounts(self, payslip)
active
Boolean
default=True
args: 'active'
code
Char
help='The code that can be used in the salary rules to identify the benefit'
args: 'Code'
description
Text
help='Brief explanation of which benefits the category contains.'
args: 'Description'
name
Char
required=True
args: 'Benefit Name'
rate_ids
One2many → hr.employee.benefit.rate
string='Benefit Rates'
args: 'hr.employee.benefit.rate', 'category_id'
reference
Char
help='Field used to enter an external identifier for a benefit category. Example, pension plans may have a registration number.'
args: 'Reference'
salary_rule_ids
Many2many → hr.salary.rule
No public methods.
amount_type
Selection
default='each_pay'
required=True
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit Category'
employee_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employee Contribution'
employer_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employer Contribution'
line_ids
One2many → hr.employee.benefit.rate.line
name
Char
required=True
args: 'Name'
compute_amounts(self, payslip)
get_all_amount_types(self)
get_amount(self, date, employer=False)
amount_type
Selection
readonly=True
related='parent_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
readonly=True
related='parent_id.category_id'
string='Category'
args: 'hr.employee.benefit.category'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employee Amount'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employer Amount'
parent_id
Many2one → hr.employee.benefit.rate
ondelete='cascade'
required=True
args: 'hr.employee.benefit.rate', 'Parent'
No public methods.
benefit_line_ids
One2many → hr.payslip.benefit.line
readonly=True
states={'draft': [('readonly', False)]}
args: 'hr.payslip.benefit.line', 'payslip_id', 'Employee Benefits'
pays_per_year
Integer
compute='_get_pays_per_year'
help='Field required to compute benefits based on an annual amount.'
readonly=True
store=True
string='Number of pays per year'
button_compute_benefits(self)
compute_benefits(self)
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employee Contribution'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employer Contribution'
payslip_id
Many2one → hr.payslip
ondelete='cascade'
required=True
args: 'hr.payslip', 'Payslip'
reference
Char
source
Selection
default='manual'
readonly=True
required=True
string='Type'
type='char'
args: [('contract', 'From Contract'), ('manual', 'Added Manually')]
No public methods.
employee_benefit_ids
Many2many → hr.employee.benefit.category
sum_benefits(self, payslip, **kwargs)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/9.0/hr_employee_benefit |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE) |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_salary_rule_reference odoo/odoo: - hr_payroll - hr - base_setup - base - web_kanban - web - bus - resource - web_tip - hr_contract - base_action_rule - hr_holidays - calendar - web_calendar - report - decimal_precision |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | group | 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 | page | 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 | field | Inherits hr_payroll.view_hr_payslip_form |
benefit_line_ids
One2many → hr.employee.benefit
No public methods.
amount_type
Selection
readonly=True
related='rate_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
index=True
ondelete='cascade'
required=True
args: 'hr.employee.benefit.category', 'Benefit'
code
Char
related='category_id.code'
string='Code'
contract_id
Many2one → hr.contract
index=True
ondelete='cascade'
args: 'hr.contract', 'Contract'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
readonly=True
related='rate_id.employee_amount'
string='Employee Amount'
employer_amount
Float
readonly=True
related='rate_id.employer_amount'
string='Employer Amount'
rate_id
Many2one → hr.employee.benefit.rate
required=True
args: 'hr.employee.benefit.rate', 'Rate'
compute_amounts(self, payslip)
active
Boolean
default=True
args: 'active'
code
Char
help='The code that can be used in the salary rules to identify the benefit'
args: 'Code'
description
Text
help='Brief explanation of which benefits the category contains.'
args: 'Description'
name
Char
required=True
args: 'Benefit Name'
rate_ids
One2many → hr.employee.benefit.rate
string='Benefit Rates'
args: 'hr.employee.benefit.rate', 'category_id'
reference
Char
help='Field used to enter an external identifier for a benefit category. Example, pension plans may have a registration number.'
args: 'Reference'
salary_rule_ids
Many2many → hr.salary.rule
No public methods.
amount_type
Selection
default='each_pay'
required=True
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit Category'
employee_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employee Contribution'
employer_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employer Contribution'
line_ids
One2many → hr.employee.benefit.rate.line
name
Char
required=True
args: 'Name'
compute_amounts(self, payslip)
get_all_amount_types(self)
get_amount(self, date, employer=False)
amount_type
Selection
readonly=True
related='parent_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
readonly=True
related='parent_id.category_id'
string='Category'
args: 'hr.employee.benefit.category'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employee Amount'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employer Amount'
parent_id
Many2one → hr.employee.benefit.rate
ondelete='cascade'
required=True
args: 'hr.employee.benefit.rate', 'Parent'
No public methods.
benefit_line_ids
One2many → hr.payslip.benefit.line
readonly=True
states={'draft': [('readonly', False)]}
args: 'hr.payslip.benefit.line', 'payslip_id', 'Employee Benefits'
pays_per_year
Integer
compute='_get_pays_per_year'
help='Field required to compute benefits based on an annual amount.'
readonly=True
store=True
string='Number of pays per year'
button_compute_benefits(self)
compute_benefits(self)
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employee Contribution'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employer Contribution'
payslip_id
Many2one → hr.payslip
ondelete='cascade'
required=True
args: 'hr.payslip', 'Payslip'
reference
Char
source
Selection
default='manual'
readonly=True
required=True
string='Type'
type='char'
args: [('contract', 'From Contract'), ('manual', 'Added Manually')]
No public methods.
employee_benefit_ids
Many2many → hr.employee.benefit.category
sum_benefits(self, payslip, **kwargs)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/8.0/hr_employee_benefit |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | Stéphane Bidoul, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, dufresnedavid, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:23 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_salary_rule_reference odoo/odoo: - hr_payroll - hr - base_setup - base - web_kanban - web - resource - board - hr_contract - base_action_rule - hr_holidays - calendar - web_calendar - decimal_precision - report |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | group | 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 | page | 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 | field | Inherits hr_payroll.view_hr_payslip_form |
benefit_line_ids
One2many → hr.employee.benefit
No public methods.
amount_type
Selection
readonly=True
related='rate_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
index=True
ondelete='cascade'
required=True
args: 'hr.employee.benefit.category', 'Benefit'
code
Char
related='category_id.code'
string='Code'
contract_id
Many2one → hr.contract
index=True
ondelete='cascade'
args: 'hr.contract', 'Contract'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
readonly=True
related='rate_id.employee_amount'
string='Employee Amount'
employer_amount
Float
readonly=True
related='rate_id.employer_amount'
string='Employer Amount'
rate_id
Many2one → hr.employee.benefit.rate
required=True
args: 'hr.employee.benefit.rate', 'Rate'
compute_amounts(self, payslip)
active
Boolean
default=True
args: 'active'
code
Char
help='The code that can be used in the salary rules to identify the benefit'
args: 'Code'
description
Text
help='Brief explanation of which benefits the category contains.'
args: 'Description'
name
Char
required=True
args: 'Benefit Name'
rate_ids
One2many → hr.employee.benefit.rate
string='Benefit Rates'
args: 'hr.employee.benefit.rate', 'category_id'
reference
Char
help='Field used to enter an external identifier for a benefit category. Example, pension plans may have a registration number.'
args: 'Reference'
salary_rule_ids
Many2many → hr.salary.rule
No public methods.
amount_type
Selection
default='each_pay'
required=True
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit Category'
employee_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employee Contribution'
employer_amount
Float
compute='_get_amounts_now'
readonly=True
string='Employer Contribution'
line_ids
One2many → hr.employee.benefit.rate.line
name
Char
required=True
args: 'Name'
compute_amounts(self, payslip)
get_all_amount_types(self)
get_amount(self, date, employer=False)
amount_type
Selection
readonly=True
related='parent_id.amount_type'
string='Amount Type'
args: get_amount_types
category_id
Many2one → hr.employee.benefit.category
readonly=True
related='parent_id.category_id'
string='Category'
args: 'hr.employee.benefit.category'
date_end
Date
date_start
Date
default=fields.Date.context_today
required=True
args: 'Start Date'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employee Amount'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
required=True
args: 'Employer Amount'
parent_id
Many2one → hr.employee.benefit.rate
ondelete='cascade'
required=True
args: 'hr.employee.benefit.rate', 'Parent'
No public methods.
benefit_line_ids
One2many → hr.payslip.benefit.line
readonly=True
states={'draft': [('readonly', False)]}
args: 'hr.payslip.benefit.line', 'payslip_id', 'Employee Benefits'
pays_per_year
Integer
compute='_get_pays_per_year'
help='Field required to compute benefits based on an annual amount.'
readonly=True
store=True
string='Number of pays per year'
button_compute_benefits(self)
compute_benefits(self)
category_id
Many2one → hr.employee.benefit.category
required=True
args: 'hr.employee.benefit.category', 'Benefit'
employee_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employee Contribution'
employer_amount
Float
digits_compute=dp.get_precision('Payroll')
args: 'Employer Contribution'
payslip_id
Many2one → hr.payslip
ondelete='cascade'
required=True
args: 'hr.payslip', 'Payslip'
reference
Char
source
Selection
default='manual'
readonly=True
required=True
string='Type'
type='char'
args: [('contract', 'From Contract'), ('manual', 'Added Manually')]
No public methods.
employee_benefit_ids
Many2many → hr.employee.benefit.category
sum_benefits(self, payslip, **kwargs)
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/hr |
| GIT | |
| GIT | https://github.com/OCA/hr.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/hr/tree/7.0/hr_employee_benefit |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Generic Modules/Human Resources |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Savoir-faire Linux |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Savoir-faire Linux |
| COMMITTERS | |
| COMMITTERS | OCA Transbot, dufresnedavid |
| WEBSITE | |
| WEBSITE | https://www.savoirfairelinux.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:14 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/hr: - hr_salary_rule_reference odoo/odoo: - hr_payroll - hr - base_setup - base - web_kanban - web - resource - process - board - hr_contract - hr_holidays - base_calendar - base_status - base_action_rule - decimal_precision |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Employee Benefit
================
This module implements employee benefits in order to produce payslips.
Employee benefits can be computed automatically at a specific point in a
payroll structure. They can also be computed using the button on the
payslip form, in the 'Employee Benefits' tab.
Also, they can be added manually on a payslip.
If a benefit has 2 different rates in the same payslip period,
the 2 rates will be weighted by the fraction of the payslip over which they
apply.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_view_form |
hr.contract.view.form | hr.contract | group | 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 | page | 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 | field | Inherits hr_payroll.view_hr_payslip_form |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)compute_amounts(self, cr, uid, ids, payslip, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (3)compute_amounts(self, cr, uid, ids, payslip, context=None)
get_all_amount_types(self, cr, uid, context=None)
get_amount(self, cr, uid, ids, date, employer=False, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (2)button_compute_benefits(self, cr, uid, ids, context=None)
compute_benefits(self, cr, uid, ids, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)sum_benefits(self, cr, uid, ids, payslip, context=None, **kwargs)