[MERGE] merged the branch with the belgian rules for hr_payroll (hr_payroll_l10n_be module)
bzr revid: qdp-launchpad@openerp.com-20110913122823-nnb9pb6upzm40pu1
This commit is contained in:
commit
d8d3afa070
|
@ -197,6 +197,7 @@ class hr_employee(osv.osv):
|
|||
_defaults = {
|
||||
'active': 1,
|
||||
'photo': _get_photo,
|
||||
'marital': 'single',
|
||||
}
|
||||
|
||||
def _check_recursion(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -144,7 +144,7 @@
|
|||
<field name="date_end" eval="time.strftime('%Y')+'-12-31'"/>
|
||||
<field name="struct_id" ref="hr_payroll.structure_001"/>
|
||||
<field name="employee_id" ref="hr_employee_bonamy0"/>
|
||||
<field name="notes">This is a First Contract</field>
|
||||
<field name="notes">Default contract for marketing executives</field>
|
||||
<field eval="4000.0" name="wage"/>
|
||||
<field eval="5" name="working_days_per_week"/>
|
||||
</record>
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
import hr_payroll_l10n_be
|
||||
import hr_contract
|
||||
import hr_payroll
|
|
@ -0,0 +1,53 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
# published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
{
|
||||
'name': 'hr_payroll_l10n_be',
|
||||
'category': 'payroll',
|
||||
'init_xml':[],
|
||||
'author': 'OpenERP',
|
||||
'depends': ['hr_payroll','hr_contract'],
|
||||
'version': '1.0',
|
||||
'description': """
|
||||
Belgian Payroll system.
|
||||
=======================
|
||||
|
||||
* Employee Details
|
||||
* Employee Contracts
|
||||
* Passport based Contract
|
||||
* Allowances / Deductions
|
||||
* Allow to configure Basic / Grows / Net Salary
|
||||
* Employee Payslip
|
||||
* Monthly Payroll Register
|
||||
* Integrated with Holiday Management
|
||||
* Salary Maj, ONSS, Precompte Professionnel, Child Allowance, ...
|
||||
""",
|
||||
|
||||
'active': False,
|
||||
'demo_xml': [
|
||||
'hr_payroll_l10n_be_demo.xml',
|
||||
],
|
||||
'update_xml':[
|
||||
'hr_payroll_l10n_be_view.xml',
|
||||
'hr_payroll_l10n_be_data.xml',
|
||||
'data/hr.salary.rule.csv',
|
||||
],
|
||||
'installable': True
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,63 @@
|
|||
#-*- coding:utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
|
||||
# d$
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU Affero General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Affero General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import time
|
||||
from datetime import date
|
||||
from datetime import datetime
|
||||
from datetime import timedelta
|
||||
|
||||
import netsvc
|
||||
from osv import fields, osv
|
||||
import tools
|
||||
from tools.translate import _
|
||||
import decimal_precision as dp
|
||||
|
||||
|
||||
|
||||
class hr_contract_be(osv.osv):
|
||||
_inherit = 'hr.contract'
|
||||
|
||||
_columns = {
|
||||
'reim_travel':fields.float('Reimbursement of travel expenses', digits=(16,2)),
|
||||
'company_car_emp':fields.float('Company car employer', digits=(16,2)),
|
||||
'company_car_wkr':fields.float('Company Car Deduction for Worker', digits=(16,2)),
|
||||
'mis_ex_onss':fields.float('Miscellaneous exempt ONSS ', digits=(16,2)),
|
||||
'ch_value':fields.float('Check Value Meal ', digits=(16,2)),
|
||||
'ch_worker':fields.float('Check Value Meal - by worker ', digits=(16,2)),
|
||||
'insurance':fields.float('Insurance Group - by worker ', digits=(16,2)),
|
||||
'advantage':fields.float('Benefits of various nature ', digits=(16,2)),
|
||||
'suppl_net':fields.float('Net supplements', digits=(16,2)),
|
||||
'retained_net':fields.float('Net retained ', digits=(16,2)),
|
||||
}
|
||||
hr_contract_be()
|
||||
|
||||
class hr_employee_be(osv.osv):
|
||||
_inherit = 'hr.employee'
|
||||
|
||||
_columns = {
|
||||
'statut_fiscal':fields.selection([('without income','Without Income'),('with income','With Income')], 'Tax status for spouse'),
|
||||
'handicap':fields.boolean('Disabled Spouse', help="if recipient spouse is declared disabled by law"),
|
||||
'handicap_child':fields.boolean('Disabled Children', help="if recipient children is/are declared disabled by law"),
|
||||
'resident':fields.boolean('Nonresident', help="if recipient lives in a foreign country"),
|
||||
'number_handicap':fields.integer('Number of disabled children'),
|
||||
}
|
||||
hr_employee_be()
|
|
@ -0,0 +1,316 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="hr_payroll_head_salary" model="hr.salary.rule.category">
|
||||
<field name="name">Brut Total</field>
|
||||
<field name="code">BRUT</field>
|
||||
</record>
|
||||
<record id="hr_payroll.COMP" model="hr.salary.rule.category">
|
||||
<field name="name">Company Part</field>
|
||||
<field name="code">COMP. PART</field>
|
||||
</record>
|
||||
<record id="hr_payroll_head_onss" model="hr.salary.rule.category">
|
||||
<field name="name">Cotisation Sociale Travailleur</field>
|
||||
<field name="code">ONSS</field>
|
||||
<field name="parent_id" ref="hr_payroll.ALW"/>
|
||||
</record>
|
||||
<record id="hr_payroll_head_div_impos" model="hr.salary.rule.category">
|
||||
<field name="name">Total des divers imposables</field>
|
||||
<field name="code">DIV. IMPOS</field>
|
||||
<field name="parent_id" ref="hr_payroll.ALW"/>
|
||||
</record>
|
||||
<record id="hr_payroll_head_pp" model="hr.salary.rule.category">
|
||||
<field name="name">Precompte Professionnel Bareme 2011</field>
|
||||
<field name="code">P.P.</field>
|
||||
<field name="parent_id" ref="hr_payroll.DED"/>
|
||||
</record>
|
||||
<record id="hr_payroll_head_div_net" model="hr.salary.rule.category">
|
||||
<field name="name">Total divers net</field>
|
||||
<field name="code">DIV. NET</field>
|
||||
<field name="parent_id" ref="hr_payroll.DED"/>
|
||||
</record>
|
||||
<record id="hr_payroll_head_child_alw" model="hr.salary.rule.category">
|
||||
<field name="name">Child Allowance Belgium</field>
|
||||
<field name="code">Ch.A</field>
|
||||
<field name="parent_id" ref="hr_payroll.DED"/>
|
||||
</record>
|
||||
|
||||
<!-- HR SALAR RULES-->
|
||||
<record id="hr_payroll_rules_maj" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_salary"/>
|
||||
<field name="name">Premium pay 108% Worker</field>
|
||||
<field name="code">SALARY</field>
|
||||
<field name="condition_select">none</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = contract.wage * 1.08</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_employee" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_salary"/>
|
||||
<field name="name">Salary Employee</field>
|
||||
<field name="code">SALARY</field>
|
||||
<field name="condition_select">none</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = contract.wage * 1</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_onss_rule" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_onss"/>
|
||||
<field name="name">Office National de Sécurité Sociale</field>
|
||||
<field name="code">ONSS</field>
|
||||
<field name="sequence">41</field>
|
||||
<field name="condition_select">none</field>
|
||||
<field name="amount_select">percentage</field>
|
||||
<field name="amount_percentage_base">SALARY</field>
|
||||
<field name="amount_percentage">-13.07</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_p_p_b1" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_pp"/>
|
||||
<field name="name">Precompte Professionnel Bareme 2011</field>
|
||||
<field name="code">P.P</field>
|
||||
<field name="sequence">120</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="condition_select">none</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_bareme" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_pp"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
|
||||
<field name="name">Precompte Professionnel</field>
|
||||
<field name="code">B.I.</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">120</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
<field name="condition_python">result = (((employee.marital=='single') or (employee.marital=='married' and employee.statut_fiscal=='with income')) and (employee.resident!=True))</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_baremeII" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_pp"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
|
||||
<field name="name">Precompte Professionnel</field>
|
||||
<field name="code">B.II</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">120</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
<field name="condition_python">result = ((employee.marital=='married' and employee.statut_fiscal=='without income') and (employee.resident!=True))</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_baremeIII" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_pp"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
|
||||
<field name="name">Precompte Professionnel</field>
|
||||
<field name="code">B.III</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">120</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = employee.resident==True</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_child_alw" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="name">Child Allowance Belgium</field>
|
||||
<field name="code">Child.Allowance</field>
|
||||
<field name="sequence">140</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(employee.children)</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_child" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_child_alw"/>
|
||||
<field name="name">Child Allowance Belgium</field>
|
||||
<field name="code">Ch.A</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">141</field>
|
||||
<field name="note">The recipient of income is an isolated or spouse beneficiary's income has also
|
||||
earned income (Schedule I / II scale)
|
||||
|
||||
A. When the gross monthly earnings do not exceed € 7,500, the withholding tax is determined according to the Schedule I.
|
||||
The following reductions are then deducted from the payroll tax determined in accordance with this schedule:
|
||||
|
||||
a) Reduction for dependent children</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(employee.children)</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_child_handicap" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_child_alw"/>
|
||||
<field name="name">Child Allowance for the Disabled Belgium</field>
|
||||
<field name="code">Ch.Handicap</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">143</field>
|
||||
<field name="note">"Disabled child" means:
|
||||
|
||||
the child reaches at least 66% of failure or reduced physical or mental capacity
|
||||
the head of one or more conditions;
|
||||
|
||||
|
||||
the child that is established, regardless of age, that due to developments and recognized
|
||||
before age 65</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(employee.number_handicap)</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_spouse_handicap" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Disabled Spouse Allowance</field>
|
||||
<field name="code">Sp.handicap</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">145</field>
|
||||
<field name="amount_fix">31</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = employee.handicap==True</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_company_car_parent" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_impos"/>
|
||||
<field name="name">Company Car</field>
|
||||
<field name="code">car</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">15</field>
|
||||
<field name="condtion_select">none</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_parent_company_car" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_impos"/>
|
||||
<field name="name">Company car</field>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
|
||||
<field name="code">CAR 1</field>
|
||||
<field name="sequence">15</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.company_car_wkr)</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = contract.company_car_wkr</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_company_car_2" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Retenue Company car</field>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
|
||||
<field name="code">CAR 2</field>
|
||||
<field name="sequence">160</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = contract.company_car_wkr</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = -contract.company_car_wkr</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_company_car_emp" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.COMP"/>
|
||||
<field name="name">Company car, Company part</field>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
|
||||
<field name="code">CAR 3</field>
|
||||
<field name="sequence">160</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.company_car_emp)</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = -contract.company_car_emp</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_parent_ch" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Check Value Meal</field>
|
||||
<field name="code">Ch.M.</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">165</field>
|
||||
<field name="condition_select">none</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_ch_value" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.COMP"/>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_parent_ch"/>
|
||||
<field name="name">Check Value Meal, Company Part</field>
|
||||
<field name="code">Ch.M.</field>
|
||||
<field name="amount_select">fix</field>
|
||||
<field name="sequence">165</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="amount_python_compute">result = -(contract.ch_value - contract.ch_worker) * worked_days.WORK100.number_of_days</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.ch_value)</field>
|
||||
<field name="appears_on_payslip" eval="False"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_ch_worker" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Retain on Check Value Meal</field>
|
||||
<field name="parent_rule_id" ref="hr_payroll_rules_parent_ch"/>
|
||||
<field name="code">Meal Check</field>
|
||||
<field name="sequence">165</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.ch_worker)</field>
|
||||
<field name="amount_select">percentage</field>
|
||||
<field name="amount_percentage">-100.0</field>
|
||||
<field name="amount_percentage_base">contract.ch_worker</field>
|
||||
<field name="quantity">worked_days.WORK100.number_of_days</field>
|
||||
<field name="appears_on_payslip" eval="True"/>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_reim_travel" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="name">Reimbursement of travel expenses</field>
|
||||
<field name="code">Tr.E</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">65</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.reim_travel)</field>
|
||||
<field name="amount_python_compute">result = contract.reim_travel</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_mis_ex_onss" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="name">Miscellaneous exempt ONSS</field>
|
||||
<field name="code">M.ONSS</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">165</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.mis_ex_onss)</field>
|
||||
<field name="amount_python_compute">result = -contract.mis_ex_onss</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_insurance" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.DED"/>
|
||||
<field name="name">Insurance</field>
|
||||
<field name="code">Ins</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">165</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.insurance)</field>
|
||||
<field name="amount_pyton_compute">result = -contract.insurance</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_advantage" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll.ALW"/>
|
||||
<field name="name">Benefits of various nature</field>
|
||||
<field name="code">Ben</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">10</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.advantage)</field>
|
||||
<field name="amount_python_compute">result = contract.advantage</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_suppl_net" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Net Supplement</field>
|
||||
<field name="code">Net.S</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">185</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.suppl_net)</field>
|
||||
<field name="amount_python_compute">result = contract.suppl_net</field>
|
||||
</record>
|
||||
<record id="hr_payroll_rules_retained_net" model="hr.salary.rule">
|
||||
<field name="category_id" ref="hr_payroll_head_div_net"/>
|
||||
<field name="name">Net retained</field>
|
||||
<field name="code">Net.R</field>
|
||||
<field name="amount_select">code</field>
|
||||
<field name="sequence">190</field>
|
||||
<field name="condition_select">python</field>
|
||||
<field name="condition_python">result = bool(contract.retained_net)</field>
|
||||
<field name="amount_python_compute">result = -contract.retained_net</field>
|
||||
</record>
|
||||
<record id="hr_payroll_salary_structure_employee" model="hr.payroll.structure">
|
||||
<field name="code">C.P.218</field>
|
||||
<field name="name">Belgian Employee</field>
|
||||
<field eval="[(6, 0, [ref('hr_payroll_rules_company_car_parent'),ref('hr_payroll_rules_onss_rule'),ref('hr_payroll_rules_employee'),ref('hr_payroll_rules_p_p_b1'),ref('hr_payroll_rules_child_alw'),ref('hr_payroll_rules_parent_ch'),ref('hr_payroll_rules_reim_travel'),ref('hr_payroll_rules_mis_ex_onss'),ref('hr_payroll_rules_insurance'),ref('hr_payroll_rules_advantage'),ref('hr_payroll_rules_suppl_net'),ref('hr_payroll_rules_retained_net')])]" name="rule_ids"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="parent_id" ref="hr_payroll.structure_base"/>
|
||||
</record>
|
||||
<record id="hr_payroll_salary_structure_worker" model="hr.payroll.structure">
|
||||
<field name="code">C.P.219</field>
|
||||
<field name="name">Belgian Worker</field>
|
||||
<field eval="[(6, 0, [ref('hr_payroll_rules_maj'), ref('hr_payroll_rules_onss_rule'),ref('hr_payroll_rules_p_p_b1'),ref('hr_payroll_rules_child_alw'),ref('hr_payroll_rules_parent_ch'),ref('hr_payroll_rules_reim_travel'),ref('hr_payroll_rules_mis_ex_onss'),ref('hr_payroll_rules_insurance'),ref('hr_payroll_rules_advantage'),ref('hr_payroll_rules_suppl_net'),ref('hr_payroll_rules_retained_net')])]" name="rule_ids"/>
|
||||
<field name="company_id" ref="base.main_company"/>
|
||||
<field name="parent_id" ref="hr_payroll.structure_base"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Employee Contract -->
|
||||
<record id="hr_payroll.hr_contract_firstcontract1" model="hr.contract">
|
||||
<field name="name">Bonamy's Contract (C.P.218)</field>
|
||||
<field name="struct_id" ref="hr_payroll_salary_structure_employee"/>
|
||||
<field eval="2500.0" name="wage"/>
|
||||
<field eval="6.0" name="ch_value"/>
|
||||
<field eval="1.09" name="ch_worker"/>
|
||||
<field eval="250.0" name="company_car_emp"/>
|
||||
<field eval="110" name="company_car_wkr"/>
|
||||
<field eval="50.0" name="suppl_net"/>
|
||||
<field name="working_hours" ref="resource.timesheet_group1"/>
|
||||
</record>
|
||||
|
||||
<record id="hr_payroll.hr_employee_bonamy0" model="hr.employee">
|
||||
<field name="marital">single</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="hr_contract_form_inherit" model="ir.ui.view">
|
||||
<field name="name">hr.contract.form.inherit</field>
|
||||
<field name="model">hr.contract</field>
|
||||
<field name="type">form</field>
|
||||
<field name="priority">20</field>
|
||||
<field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='advantages']" position="after">
|
||||
<field name="reim_travel"/>
|
||||
<field name="company_car_emp"/>
|
||||
<field name="mis_ex_onss"/>
|
||||
<field name="ch_value"/>
|
||||
<field name="advantage"/>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Miscellaneous" colspan="2"/>
|
||||
<field name="suppl_net"/>
|
||||
<field name="retained_net"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='trial_date_end']" position="after">
|
||||
<group colspan="2" col="2">
|
||||
<separator string="by Worker" colspan="2"/>
|
||||
<field name="insurance"/>
|
||||
<field name="ch_worker"/>
|
||||
<field name="company_car_wkr"/>
|
||||
</group>
|
||||
</xpath>
|
||||
<xpath expr="/form//group/field[@name='type_id']" position="after">
|
||||
<field name="struct_id" select="1"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_employee_marital_required_form" model="ir.ui.view">
|
||||
<field name="name">hr.employee.employee.inherit.form</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="type">form</field>
|
||||
<field name="priority">25</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="marital" position="replace">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_contract_salary_structure" model="ir.ui.view">
|
||||
<field name="name">hr.contract.struc</field>
|
||||
<field name="model">hr.contract</field>
|
||||
<field name="inherit_id" ref="hr_payroll.hr_contract_form_inherit"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="struct_id" position="replace">
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="hr_contract_hr_hr_employee_view_for" model="ir.ui.view">
|
||||
<field name="name">hr.hr.employee.view.for</field>
|
||||
<field name="model">hr.employee</field>
|
||||
<field name="inherit_id" ref="hr.view_employee_form"/>
|
||||
<field name="priority">30</field>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='birthday']" position="after">
|
||||
<field name="marital" required="True"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='gender']" position="before">
|
||||
<field name="resident" eval="False"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='marital']" position="after">
|
||||
<field name="statut_fiscal" attrs="{'invisible':[('marital','!=','married')],'required':[('marital','=','married')]}" colspan="1" help="if spouse has professionnel income or not"/>
|
||||
<field name="handicap" attrs="{'invisible':[('marital','!=','married')]}" colspan="1"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/notebook/page/group/field[@name='children']" position="after">
|
||||
<field name="handicap_child"/>
|
||||
<field name="number_handicap" attrs="{'invisible':[('handicap_child','!=',True)]}" colspan="1" help="number of dependent children declared as disabled"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -0,0 +1,3 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_hr_salary_rule_category","hr.salary.rule.category","model_hr_salary_rule_category","base.group_hr_user",1,1,1,1
|
||||
"access_hr_salary_rule","hr.salary.rule","model_hr_salary_rule","base.group_hr_user",1,1,1,1
|
|
Loading…
Reference in New Issue