Switzerland - Payroll

l10n_ch_hr_payroll
REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/11.0/l10n_ch_hr_payroll
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Net Sàrl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Net Sàrl
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, OCA-git-bot, Lucas Huber, Antonio Buric
WEBSITE
WEBSITEhttp://open-net.ch
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:24:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_payroll_account
    - hr_payroll
    - hr_contract
    - hr
    - base_setup
    - base
    - web
    - mail
    - bus
    - web_tour
    - resource
    - hr_holidays
    - calendar
    - decimal_precision
    - account
    - product
    - analytic
    - web_planner
    - portal
    - http_routing
    - hr_attendance
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_contract_form_l10n_ch_inherit hr.contract.form.inherit_ch_01 hr.contract field Inherits hr_contract.hr_contract_view_form
hr_employee_form_l10n_ch_inherit hr.employee.form.inherit_ch_01 hr.employee field Inherits hr_contract.hr_hr_employee_view_form2
hr_payroll_struc_l10n_ch_inherit1 hr.payroll.struc_l10n_ch_inherit2 hr.payroll.structure xpath Inherits hr_payroll.view_hr_employee_grade_form
hr_payslip_form_l10n_ch_inherit hr.payslip.form.inherit_ch_01 hr.payslip field Inherits hr_payroll.view_hr_payslip_form
hr_payslip_line_tree_l10n_ch_inherit hr.payslip.line.tree.inherit_ch_01 hr.payslip.line xpath Inherits hr_payroll.view_hr_payslip_line_tree
hr_salary_rule_form_l10n_ch_inherit_info hr.salary.rule.form.inherit_ch_info hr.salary.rule xpath Inherits hr_payroll_account.hr_salary_rule_form_inherit
hr_salary_rule_list_l10n_ch_inherit1 hr.salary.rule.list_l10n_ch_inherit1 hr.salary.rule xpath Inherits hr_payroll.hr_salary_rule_list
view_hr_payroll_config_form hr.payroll.config.form hr.payroll.config form New
view_lpp_contract_form lpp.contract.form lpp.contract form New
Models touched (9)

New fields (7)
  • imp_src Float
    digits=dp.get_precision('Payroll Rate') string='Source Tax (%)'
  • lpp_amount Float
    digits=dp.get_precision('Account') string='OBP Amount'
  • lpp_contract_id Many2one → lpp.contract
    comodel_name='lpp.contract' inverse_name='contract_id' string='OBP Contract'
  • lpp_rate Float
    digits=dp.get_precision('Payroll Rate') string='OBP Rate (%)'
  • occupation_rate Float
    default=100.0 digits=dp.get_precision('Account') string='Occupation Rate (%)'
  • wage_fulltime Float
    default=0 digits=dp.get_precision('Account') string='Full-time Wage'
  • wage_type Selection
    default='month' selection=[('month', 'Monthly'), ('hour', 'Hourly')] string='Wage Type'
Public methods (0)

No public methods.

New fields (2)
  • children Integer
    args: 'Number of Children at school'
  • children_student Integer
    args: 'Number of Children student'
Public methods (0)

No public methods.

New fields (26)
  • ac_limit Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Maximum limit'
  • ac_per_in_limit Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • ac_per_off_limit Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (off limit) (%)'
  • avs_c Many2one → account.account
    comodel_name='account.account' default=_get_default_avs_c required=False string='Social charges (OAI/II/IC)'
  • avs_d Many2one → account.account
    comodel_name='account.account' default=_get_default_avs_d required=False string='Social Insurance (OAI/II/IC)'
  • avs_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • basic Many2one → account.account
    comodel_name='account.account' default=_get_default_basic required=False string='Gross Salary'
  • cc Many2one → account.account
    comodel_name='account.account' default=_get_default_cc required=False string='Counterparty account'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • fa_amount_additional Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Additional allowance amount'
  • fa_amount_child Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Amount per child (0-16)'
  • fa_amount_student Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Amount per student (16+)'
  • fa_min_number_childs Integer
    default=<expr> required=False string='Additional allowance for the'
  • fadmin_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • laa_c Many2one → account.account
    comodel_name='account.account' default=_get_default_laa_c required=False string='Debts AI'
  • laa_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lca_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lpp_c Many2one → account.account
    comodel_name='account.account' default=_get_default_lpp_c required=False string='Social charges (OBP)'
  • lpp_contract_ids One2many
    default=<expr> ondelete='cascade' related='company_id.lpp_contract_ids' string='OBP contract ids'
  • lpp_d Many2one → account.account
    comodel_name='account.account' default=_get_default_lpp_d required=False string='Institutions of Providence (OBP)'
  • lpp_max Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Maximum legal'
  • lpp_min Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Minimum legal'
  • net Many2one → account.account
    comodel_name='account.account' default=_get_default_net required=False string='Net Salary'
  • other_costs Many2one → account.account
    comodel_name='account.account' default=_get_default_other_costs required=False string='Other staff costs'
  • pc_f_vd_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • staff_ins Many2one → account.account
    comodel_name='account.account' default=_get_default_staff_ins required=False string='Staff Insurance'
Public methods (5)
  • assign_account_to_rule(self, rules, account, type)
  • delete_lpp_contracts(self)
  • save_configs(self)
    @api.multi
  • search_account_by_rule(self, rules_types)
    @api.model
  • values_to_company(self)

New fields (5)
  • non_working_days Integer
    string='Number of non-working days (not payable)'
  • wage_type Selection
    related='contract_id.wage_type'
  • worked_hours Float
    compute='_compute_worked_hours' readonly=True string='Number of worked hours'
  • working_days Integer
    string='Number of working days'
  • working_rate Float
    default=100 readonly=True string='Working Rate (%)'
Public methods (1)
  • compute_sheet(self)
    @api.multi

New fields (2)
  • python_amount Float
    compute='_compute_python_amount' digits=dp.get_precision('Account') store=True string='Amount'
  • python_rate Float
    compute='_compute_python_rate' digits=dp.get_precision('Payroll Rate') store=True string='Rate (%)'
Public methods (0)

No public methods.

New fields (4)
  • amount_base Float
    required=False
  • name Char
    translate=True
  • note Char
    translate=True
  • percentage Float
    compute='_compute_percentage_from_company' required=False
Public methods (0)

No public methods.

New fields (2)
  • name Char
    translate=True
  • note Char
    translate=True
Public methods (0)

No public methods.

New fields (4)
  • company_id Many2one → res.company
    comodel_name='res.company' invisible=True string='Company'
  • contract_id One2many → hr.contract
    comodel_name='hr.contract' inverse_name='lpp_contract_id' required=True string="Contract id's"
  • dc_amount Float
    required=True string='Deduction Amount'
  • name Char
    required=True string='Contract name'
Public methods (0)

No public methods.

New fields (15)
  • ac_limit Float
    default=12350 digits=dp.get_precision('Account') required=False string='Maximum limit'
  • ac_per_in_limit Float
    default='-1.1' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • ac_per_off_limit Float
    default='-1.0' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (off limit) (%)'
  • avs_per Float
    default='-5.125' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • fa_amount_additional Float
    default='0' digits=dp.get_precision('Account') required=False string='Additional allowance amount'
  • fa_amount_child Float
    default='0' digits=dp.get_precision('Account') required=False string='Amount per child (0-16)'
  • fa_amount_student Float
    default='0' digits=dp.get_precision('Account') required=False string='Amount per student (16+)'
  • fa_min_number_childs Integer
    default='3' required=False string='Additional allowance for the'
  • fadmin_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • laa_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lca_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lpp_contract_ids One2many → lpp.contract
    comodel_name='lpp.contract' inverse_name='company_id' string='OBP contract ids'
  • lpp_max Float
    default='7050.00' digits=dp.get_precision('Account') required=False string='Maximum legal'
  • lpp_min Float
    default=1762.5 digits=dp.get_precision('Account') required=False string='Minimum legal'
  • pc_f_vd_per Float
    default='-0.06' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/10.0/l10n_ch_hr_payroll
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Net Sàrl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Net Sàrl
COMMITTERS
COMMITTERSPedro M. Baeza, Alexandre Saunier, OCA Transbot, oca-travis, Weblate, Open Net Sarl
WEBSITE
WEBSITEhttp://open-net.ch
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:20:03
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr_payroll_account
    - hr_payroll
    - hr_contract
    - base_action_rule
    - base
    - resource
    - mail
    - base_setup
    - web_kanban
    - web
    - bus
    - web_tour
    - hr
    - hr_holidays
    - calendar
    - web_calendar
    - product
    - decimal_precision
    - report
    - account
    - analytic
    - web_planner
    - hr_expense
    - account_accountant
    - hr_attendance
    - barcodes
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
hr_contract_form_l10n_ch_inherit hr.contract.form.inherit_ch_01 hr.contract field Inherits hr_contract.hr_contract_view_form
hr_employee_form_l10n_ch_inherit hr.employee.form.inherit_ch_01 hr.employee field Inherits hr_contract.hr_hr_employee_view_form2
hr_payroll_struc_l10n_ch_inherit1 hr.payroll.struc_l10n_ch_inherit2 hr.payroll.structure xpath Inherits hr_payroll.view_hr_employee_grade_form
hr_payslip_form_l10n_ch_inherit hr.payslip.form.inherit_ch_01 hr.payslip field Inherits hr_payroll.view_hr_payslip_form
hr_payslip_line_tree_l10n_ch_inherit hr.payslip.line.tree.inherit_ch_01 hr.payslip.line xpath Inherits hr_payroll.view_hr_payslip_line_tree
hr_salary_rule_form_l10n_ch_inherit_info hr.salary.rule.form.inherit_ch_info hr.salary.rule xpath Inherits hr_payroll_account.hr_salary_rule_form_inherit
hr_salary_rule_list_l10n_ch_inherit1 hr.salary.rule.list_l10n_ch_inherit1 hr.salary.rule xpath Inherits hr_payroll.hr_salary_rule_list
view_hr_payroll_config_form hr.payroll.config.form hr.payroll.config form New
view_lpp_contract_form lpp.contract.form lpp.contract form New
Models touched (9)

New fields (7)
  • imp_src Float
    digits=dp.get_precision('Payroll Rate') string='Source Tax (%)'
  • lpp_amount Float
    digits=dp.get_precision('Account') string='OBP Amount'
  • lpp_contract_id Many2one → lpp.contract
    comodel_name='lpp.contract' inverse_name='contract_id' string='OBP Contract'
  • lpp_rate Float
    digits=dp.get_precision('Payroll Rate') string='OBP Rate (%)'
  • occupation_rate Float
    default=100.0 digits=dp.get_precision('Account') string='Occupation Rate (%)'
  • wage_fulltime Float
    default=0 digits=dp.get_precision('Account') string='Full-time Wage'
  • wage_type Selection
    default='month' selection=[('month', 'Monthly'), ('hour', 'Hourly')] string='Wage Type'
Public methods (0)

No public methods.

New fields (2)
  • children Integer
    args: 'Number of Children at school'
  • children_student Integer
    args: 'Number of Children student'
Public methods (0)

No public methods.

New fields (26)
  • ac_limit Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Maximum limit'
  • ac_per_in_limit Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • ac_per_off_limit Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (off limit) (%)'
  • avs_c Many2one → account.account
    comodel_name='account.account' default=_get_default_avs_c required=False string='Social charges (OAI/II/IC)'
  • avs_d Many2one → account.account
    comodel_name='account.account' default=_get_default_avs_d required=False string='Social Insurance (OAI/II/IC)'
  • avs_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • basic Many2one → account.account
    comodel_name='account.account' default=_get_default_basic required=False string='Gross Salary'
  • cc Many2one → account.account
    comodel_name='account.account' default=_get_default_cc required=False string='Counterparty account'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • fa_amount_additional Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Additional allowance amount'
  • fa_amount_child Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Amount per child (0-16)'
  • fa_amount_student Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Amount per student (16+)'
  • fa_min_number_childs Integer
    default=<expr> required=False string='Additional allowance for the'
  • fadmin_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • laa_c Many2one → account.account
    comodel_name='account.account' default=_get_default_laa_c required=False string='Debts AI'
  • laa_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lca_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lpp_c Many2one → account.account
    comodel_name='account.account' default=_get_default_lpp_c required=False string='Social charges (OBP)'
  • lpp_contract_ids One2many
    default=<expr> ondelete='cascade' related='company_id.lpp_contract_ids' string='OBP contract ids'
  • lpp_d Many2one → account.account
    comodel_name='account.account' default=_get_default_lpp_d required=False string='Institutions of Providence (OBP)'
  • lpp_max Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Maximum legal'
  • lpp_min Float
    default=<expr> digits=dp.get_precision('Account') required=False string='Minimum legal'
  • net Many2one → account.account
    comodel_name='account.account' default=_get_default_net required=False string='Net Salary'
  • other_costs Many2one → account.account
    comodel_name='account.account' default=_get_default_other_costs required=False string='Other staff costs'
  • pc_f_vd_per Float
    default=<expr> digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • staff_ins Many2one → account.account
    comodel_name='account.account' default=_get_default_staff_ins required=False string='Staff Insurance'
Public methods (5)
  • assign_account_to_rule(self, rules, account, type)
  • delete_lpp_contracts(self)
  • save_configs(self)
    @api.multi
  • search_account_by_rule(self, rules_types)
    @api.model
  • values_to_company(self)

New fields (5)
  • non_working_days Integer
    string='Number of non-working days (not payable)'
  • wage_type Selection
    related='contract_id.wage_type'
  • worked_hours Float
    compute='_compute_worked_hours' readonly=True string='Number of worked hours'
  • working_days Integer
    string='Number of working days'
  • working_rate Float
    default=100 readonly=True string='Working Rate (%)'
Public methods (1)
  • compute_sheet(self)
    @api.multi

New fields (2)
  • python_amount Float
    compute='_compute_python_amount' digits=dp.get_precision('Account') store=True string='Amount'
  • python_rate Float
    compute='_compute_python_rate' digits=dp.get_precision('Payroll Rate') store=True string='Rate (%)'
Public methods (0)

No public methods.

New fields (4)
  • amount_base Float
    required=False
  • name Char
    translate=True
  • note Char
    translate=True
  • percentage Float
    compute='_compute_percentage_from_company' required=False
Public methods (1)
  • compute_rule(self, localdict)
    @api.multi

New fields (2)
  • name Char
    translate=True
  • note Char
    translate=True
Public methods (0)

No public methods.

New fields (4)
  • company_id Many2one → res.company
    comodel_name='res.company' invisible=True string='Company'
  • contract_id One2many → hr.contract
    comodel_name='hr.contract' inverse_name='lpp_contract_id' required=True string="Contract id's"
  • dc_amount Float
    required=True string='Deduction Amount'
  • name Char
    required=True string='Contract name'
Public methods (0)

No public methods.

New fields (15)
  • ac_limit Float
    default=12350 digits=dp.get_precision('Account') required=False string='Maximum limit'
  • ac_per_in_limit Float
    default='-1.1' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • ac_per_off_limit Float
    default='-1.0' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (off limit) (%)'
  • avs_per Float
    default='-5.125' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • fa_amount_additional Float
    default='0' digits=dp.get_precision('Account') required=False string='Additional allowance amount'
  • fa_amount_child Float
    default='0' digits=dp.get_precision('Account') required=False string='Amount per child (0-16)'
  • fa_amount_student Float
    default='0' digits=dp.get_precision('Account') required=False string='Amount per student (16+)'
  • fa_min_number_childs Integer
    default='3' required=False string='Additional allowance for the'
  • fadmin_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • laa_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lca_per Float
    digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
  • lpp_contract_ids One2many → lpp.contract
    comodel_name='lpp.contract' inverse_name='company_id' string='OBP contract ids'
  • lpp_max Float
    default='7050.00' digits=dp.get_precision('Account') required=False string='Maximum legal'
  • lpp_min Float
    default=1762.5 digits=dp.get_precision('Account') required=False string='Minimum legal'
  • pc_f_vd_per Float
    default='-0.06' digits=dp.get_precision('Payroll Rate') required=False string='Percentage (%)'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/9.0/l10n_ch_hr_payroll
VERSION
VERSION 1.4.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Net Sàrl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Net Sàrl
COMMITTERS
COMMITTERSYannick Vaucher, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Alexandre Saunier, OCA Transbot, David Coninckx, oca-travis, dcoopennet, Open Net Sàrl
WEBSITE
WEBSITEhttp://open-net.ch
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:25
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - decimal_precision
    - base
    - hr_payroll
    - hr
    - base_setup
    - web_kanban
    - web
    - mail
    - bus
    - resource
    - web_tip
    - hr_contract
    - base_action_rule
    - hr_holidays
    - calendar
    - web_calendar
    - report
    - hr_payroll_account
    - account
    - product
    - analytic
    - web_planner
    - hr_expense
    - account_accountant
    - hr_attendance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
hr_contract_form_l10n_ch_inherit hr.contract.form.inherit_ch_01 hr.contract field Inherits hr_contract.hr_contract_view_form
hr_employee_form_l10n_ch_inherit hr.employee.form.inherit_ch_01 hr.employee field Inherits hr_contract.hr_hr_employee_view_form2
Models touched (4)

New fields (3)
  • holiday_rate Float
    string='Holiday Rate'
  • lpp_amount Float
    digits=dp.get_precision('Account') string='OBP Amount'
  • lpp_rate Float
    digits=dp.get_precision('Payroll Rate') string='OBP Rate'
Public methods (0)

No public methods.

New fields (2)
  • children Integer
    args: 'Number of Children at school'
  • children_student Integer
    args: 'Number of Children student'
Public methods (0)

No public methods.

New fields (3)
  • code Char
    translate=True
  • name Char
    translate=True
  • note Char
    translate=True
Public methods (0)

No public methods.

New fields (3)
  • code Char
    translate=True
  • name Char
    translate=True
  • note Char
    translate=True
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/l10n-switzerland
GIT
GIThttps://github.com/OCA/l10n-switzerland.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/l10n-switzerland/tree/8.0/l10n_ch_hr_payroll
VERSION
VERSION 1.2.0
CATEGORY
CATEGORYLocalization
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Open Net Sàrl
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Open Net Sàrl
COMMITTERS
COMMITTERSStéphane Bidoul, Yannick Vaucher, Alexandre Fayolle, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Yvon-Philippe Crittin, dcoopennet, Sébastien Gendre
WEBSITE
WEBSITEhttp://open-net.ch
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:28
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - decimal_precision
    - base
    - hr_payroll
    - hr
    - base_setup
    - web_kanban
    - web
    - mail
    - resource
    - board
    - hr_contract
    - base_action_rule
    - hr_holidays
    - calendar
    - web_calendar
    - report
    - hr_payroll_account
    - account
    - product
    - analytic
    - edi
    - email_template
    - hr_expense
    - account_accountant
    - account_voucher
    - hr_attendance
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
hr_contract_form_l10n_ch_inherit hr.contract.form.inherit_ch_01 hr.contract field Inherits hr_contract.hr_contract_view_form
hr_contract_list_l10n_ch_inherit hr.contract.list.inherit_ch_01 hr.contract field Inherits hr_contract.hr_contract_view_tree
hr_employee_form_l10n_ch_inherit hr.employee.form.inherit_ch_01 hr.employee field Inherits hr_contract.hr_hr_employee_view_form2
hr_payroll_form_l10n_ch_inherit hr.payroll.form.inherit_ch_01 hr.payslip xpath Inherits hr_payroll.view_hr_payslip_form
Models touched (6)

New fields (1)
  • slip_id Many2one → hr.payslip
    string='Pay slip' args: 'hr.payslip'
Public methods (0)

No public methods.

New fields (1)
  • slip_id Many2one → hr.payslip
    string='Pay slip' args: 'hr.payslip'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, cr, uid, ids, vals, context=None, check=True, update_check=True)

New fields (8)
  • comm_rate Float
    digits=dp.get_precision('Payroll Rate') string='Commissions Rate'
  • commission Float
    compute='_comp_wage_expenses' string='Commission'
  • holiday_rate Float
    string='Holiday Rate'
  • hourly_rate Float
    string='Hourly Rate'
  • lpp_amount Float
    digits=dp.get_precision('Account') string='LPP Amount'
  • lpp_rate Float
    digits=dp.get_precision('Payroll Rate') string='LPP Rate'
  • reimbursement Float
    compute='_comp_wage_expenses' string='Reimbursement'
  • worked_hours Float
    string='Worked Hours'
Public methods (1)
  • compute_wage(self, worked_hours, hourly_rate)
    @api.multi
    Compute the wage from worked_hours and hourly_rate.

New fields (2)
  • children Integer
    args: 'Number of Children at school'
  • children_student Integer
    args: 'Number of Children student'
Public methods (0)

No public methods.

New fields (1)
  • slip_id Many2one → hr.payslip
    string='Pay slip' args: 'hr.payslip'
Public methods (0)

No public methods.

New fields (3)
  • expenses One2many → hr.expense.expense
    string='Expenses' args: 'hr.expense.expense', 'slip_id'
  • invoices One2many → account.invoice
    string='Invoices' args: 'account.invoice', 'slip_id'
  • move_lines One2many → account.move.line
    string='Journal Items' args: 'account.move.line', 'slip_id'
Public methods (2)
  • compute_sheet(self)
    @api.multi
  • process_sheet(self)