Files
enterprise-addons/l10n_be_hr_payroll/data/cp200/employee_pfi_data.xml
T

286 lines
13 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_basic_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.BASIC"/>
<field name="name">Basic Salary</field>
<field name="sequence">1</field>
<field name="code">BASIC</field>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = payslip.paid_amount
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_internet" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_impos"/>
<field name="name">Benefit in Kind (Internet)</field>
<field name="code">ATN.INT</field>
<field name="sequence">16</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.internet)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = 5.0</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_mobile" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_impos"/>
<field name="name">Benefit in Kind (Phone Subscription)</field>
<field name="code">ATN.MOB</field>
<field name="sequence">17</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.mobile)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
if version.mobile and not version.internet:
result = 4.0 + 5.0
if version.mobile and version.internet:
result = 4.0
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_laptop" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_impos"/>
<field name="name">Benefit in Kind (Laptop)</field>
<field name="code">ATN.LAP</field>
<field name="sequence">18</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.has_laptop)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = payslip._rule_parameter('cp200_bik_laptop')</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_company_car" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_impos"/>
<field name="name">Benefit in Kind (Company Car)</field>
<field name="code">ATN.CAR</field>
<field name="sequence">18</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.transport_mode_car and version.car_atn)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">result = version.car_atn</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_gross_salary" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_salary"/>
<field name="name">Gross Salary</field>
<field name="code">SALARY</field>
<field name="sequence">20</field>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = categories['BASIC']
if version.internet:
result += result_rules['ATN.INT']['total']
if version.mobile:
result += result_rules['ATN.MOB']['total']
</field>
<field name="appears_on_payslip" eval="False"/>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_gross_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.GROSS"/>
<field name="name">Taxable Salary</field>
<field name="sequence">100</field>
<field name="code">GROSS</field>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = categories['BASIC'] + categories['ALW']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_salary_withholding_taxes" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_pp"/>
<field name="name">Withholding Tax</field>
<field name="code">P.P</field>
<field name="sequence">120</field>
<field name="appears_on_payslip" eval="True"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = version.wage
# The car atn is included for withholding taxes in pfi contracts, not the other advantages
if bool(version.transport_mode_car and version.car_atn):
result += version.car_atn
result *= -0.2
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_company_car_2" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_net"/>
<field name="name">Benefit in Kind (Company Car)</field>
<field name="code">ATN.CAR.2</field>
<field name="sequence">160</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.transport_mode_car and version.car_atn)</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result_qty = result_rules['ATN.CAR']['quantity']
result = -result_rules['ATN.CAR']['amount']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_internet_2" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_net"/>
<field name="name">Benefit in Kind (Internet)</field>
<field name="code">ATN.INT.2</field>
<field name="sequence">161</field>
<field name="condition_select">python</field>
<field name="condition_python">result = version.internet</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result_qty = result_rules['ATN.INT']['quantity']
result = -result_rules['ATN.INT']['amount']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_mobile_2" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_net"/>
<field name="name">Benefit in Kind (Phone Subscription)</field>
<field name="code">ATN.MOB.2</field>
<field name="sequence">162</field>
<field name="condition_select">python</field>
<field name="condition_python">result = version.mobile</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
if version.mobile:
result_qty = result_rules['ATN.MOB']['quantity']
result = -result_rules['ATN.MOB']['amount']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_atn_laptop_2" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_net"/>
<field name="name">Benefit in Kind (Laptop)</field>
<field name="code">ATN.LAP.2</field>
<field name="sequence">163</field>
<field name="condition_select">python</field>
<field name="condition_python">result = version.has_laptop</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result_qty = result_rules['ATN.LAP']['quantity']
result = -result_rules['ATN.LAP']['amount']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="cp200_pfi_ch_worker" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll_head_div_net"/>
<field name="name">Retain on Meal Voucher</field>
<field name="code">MEAL_V_EMP</field>
<field name="sequence">165</field>
<field name="condition_select">python</field>
<field name="condition_python">result = bool(version.meal_voucher_amount)</field>
<field name="amount_select">percentage</field>
<field name="amount_percentage">-100.0</field>
<field name="amount_percentage_base">version.meal_voucher_amount - version.meal_voucher_paid_by_employer</field>
<field name="quantity">payslip.meal_voucher_count</field>
<field name="appears_on_payslip" eval="True"/>
<field name="partner_id" ref="res_partner_meal_vouchers"/>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_attachment_of_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.DED"/>
<field name="name">Attachment of Salary</field>
<field name="sequence">174</field>
<field name="code">ATTACH_SALARY</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'ATTACH_SALARY' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -inputs['ATTACH_SALARY'].amount
result_name = inputs['ATTACH_SALARY'].name
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_assignment_of_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.DED"/>
<field name="name">Assignment of Salary</field>
<field name="sequence">174</field>
<field name="code">ASSIG_SALARY</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'ASSIG_SALARY' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -inputs['ASSIG_SALARY'].amount
result_name = inputs['ASSIG_SALARY'].name
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_child_support" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.DED"/>
<field name="name">Child Support</field>
<field name="code">CHILD_SUPPORT</field>
<field name="amount_select">code</field>
<field name="sequence">174</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'CHILD_SUPPORT' in inputs</field>
<field name="amount_python_compute">
result = -inputs['CHILD_SUPPORT'].amount
result_name = inputs['CHILD_SUPPORT'].name
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_deduction_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.DED"/>
<field name="name">Deduction</field>
<field name="sequence">198</field>
<field name="code">DEDUCTION</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'DEDUCTION' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = -inputs['DEDUCTION'].amount
result_name = inputs['DEDUCTION'].name
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_reimbursement_salary_rule" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.ALW"/>
<field name="name">Reimbursement</field>
<field name="sequence">199</field>
<field name="code">REIMBURSEMENT</field>
<field name="condition_select">python</field>
<field name="condition_python">result = 'REIMBURSEMENT' in inputs</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = inputs['REIMBURSEMENT'].amount
result_name = inputs['REIMBURSEMENT'].name
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
<record id="l10n_be_hr_payroll_structure_cp200_pfi_net_salary" model="hr.salary.rule">
<field name="category_id" ref="hr_payroll.NET"/>
<field name="name">Net Salary</field>
<field name="sequence">200</field>
<field name="code">NET</field>
<field name="appears_on_employee_cost_dashboard" eval="True"/>
<field name="condition_select">none</field>
<field name="amount_select">code</field>
<field name="amount_python_compute">
result = categories['BASIC'] + categories['ALW'] + categories['DED']
</field>
<field name="struct_id" ref="hr_payroll_structure_cp200_pfi"/>
</record>
</odoo>