464 lines
22 KiB
XML
464 lines
22 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<!--
|
|
Sources:
|
|
https://www.lano.io/global-payroll-guide/slovakia
|
|
https://accace.com/labour-law-and-employment-in-slovakia/
|
|
-->
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_meal_voucher_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_meal_vouchers_employee"/>
|
|
<field name="name">Meal Vouchers</field>
|
|
<field name="code">MEALEMPLOYEE</field>
|
|
<field name="sequence">80</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result_qty = 'WORK100' in worked_days and worked_days['WORK100'].number_of_days
|
|
result = version.l10n_sk_meal_voucher_employee
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_meal_voucher_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_meal_vouchers_employer"/>
|
|
<field name="name">Meal Vouchers (Employer)</field>
|
|
<field name="code">MEALEMPLOYER</field>
|
|
<field name="sequence">81</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result_qty = 'WORK100' in worked_days and worked_days['WORK100'].number_of_days
|
|
result = -version.l10n_sk_meal_voucher_employer
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<!-- GROSS -->
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_sickness_insurance_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee"/>
|
|
<field name="name">Sickness Insurance</field>
|
|
<field name="code">SICK</field>
|
|
<field name="sequence">110</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = -1.4
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_sickness_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Sickness Insurance (Employer)</field>
|
|
<field name="code">SICKEMPLOYER</field>
|
|
<field name="sequence">110</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 1.4
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_pension_contribution_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee"/>
|
|
<field name="name">Pension Contribution</field>
|
|
<field name="code">PENSION</field>
|
|
<field name="sequence">115</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = -4
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_pension_contribution_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Pension Contribution (Employer)</field>
|
|
<field name="code">PENSIONEMPLOYER</field>
|
|
<field name="sequence">115</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 14
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_disability_insurance_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee"/>
|
|
<field name="name">Disability Insurance</field>
|
|
<field name="code">DISABILITY</field>
|
|
<field name="sequence">120</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = -3
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_disability_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Disability Insurance (Employer)</field>
|
|
<field name="code">DISABILITYEMPLOYER</field>
|
|
<field name="sequence">120</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 3
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_unemployment_insurance_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee"/>
|
|
<field name="name">Unemployment Insurance</field>
|
|
<field name="code">UNEMPLOYMENT</field>
|
|
<field name="sequence">125</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = -1
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_unemployment_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Unemployment Insurance (Employer)</field>
|
|
<field name="code">UNEMPLOYMENTEMPLOYER</field>
|
|
<field name="sequence">125</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 0.5
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_short_time_work_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Insurance to Finance Support during Short-Time Work (Employer)</field>
|
|
<field name="code">SHORTTIMEEMPLOYER</field>
|
|
<field name="sequence">130</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 0.5
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_guarantee_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Guarantee Insurance (Employer)</field>
|
|
<field name="code">GUARANTEEEMPLOYER</field>
|
|
<field name="sequence">135</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 0.25
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_accident_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Accident Insurance (Employer)</field>
|
|
<field name="code">ACCIDENT</field>
|
|
<field name="sequence">140</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = categories['GROSS']
|
|
result_rate = 0.80
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_reserve_fund_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Reserve Fund (Employer)</field>
|
|
<field name="code">RESERVEFUNDEMPLOYER</field>
|
|
<field name="sequence">145</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = min(categories['GROSS'], payslip._rule_parameter('l10n_sk_monthly_taxable_max'))
|
|
result_rate = 4.75
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_health_insurance_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee"/>
|
|
<field name="name">Health Insurance</field>
|
|
<field name="code">HEALTH</field>
|
|
<field name="sequence">150</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = categories['GROSS']
|
|
result_rate = -4
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_health_insurance_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer"/>
|
|
<field name="name">Health Insurance (Employer)</field>
|
|
<field name="code">HEALTHEMPLOYER</field>
|
|
<field name="sequence">150</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = categories['GROSS']
|
|
result_rate = 10
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_income_tax_19_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_income_tax_employee"/>
|
|
<field name="name">Income Tax</field>
|
|
<field name="code">INCOMETAX19</field>
|
|
<field name="sequence">170</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
taxable = categories['GROSS']
|
|
already_taxed = payslip.search([
|
|
('employee_id', '=', payslip.employee_id.id),
|
|
('state', 'in', ['paid', 'validated']),
|
|
('date_from', '>=', payslip.date_from + relativedelta(day=1, month=1)),
|
|
('date_to', '<=', payslip.date_from + relativedelta(day=31, months=-1)),
|
|
])._get_line_values(['GROSS'], compute_sum=True)['GROSS']['sum']['total']
|
|
threshold = payslip._rule_parameter('l10n_sk_income_tax_threshold')
|
|
|
|
if already_taxed > threshold:
|
|
result = 0
|
|
else:
|
|
result = max(min(threshold - already_taxed, taxable), 0)
|
|
result_rate = -19
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_income_tax_25_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_income_tax_employee"/>
|
|
<field name="name">Income Tax</field>
|
|
<field name="code">INCOMETAX25</field>
|
|
<field name="sequence">170</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
taxable = categories['GROSS']
|
|
already_taxed = payslip.search([
|
|
('employee_id', '=', payslip.employee_id.id),
|
|
('state', 'in', ['paid', 'validated']),
|
|
('date_from', '>=', payslip.date_from + relativedelta(day=1, month=1)),
|
|
('date_to', '<=', payslip.date_from + relativedelta(day=31, months=-1)),
|
|
])._get_line_values(['GROSS'], compute_sum=True)['GROSS']['sum']['total']
|
|
threshold = payslip._rule_parameter('l10n_sk_income_tax_threshold')
|
|
|
|
if already_taxed > threshold:
|
|
result = taxable
|
|
else:
|
|
result = max(already_taxed + taxable - threshold, 0)
|
|
result_rate = -25
|
|
</field>
|
|
<field name="appears_on_payslip" eval="True"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_hr_payroll_structure_sk_employee_salary_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 = max(
|
|
0,
|
|
BASIC + categories['ALW'] + categories['DED']
|
|
- result_rules['MEALEMPLOYEE']['total'] - result_rules['MEALEMPLOYER']['total']
|
|
)
|
|
</field>
|
|
<field name="struct_id" ref="hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_social_security_total_employee" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employee_total"/>
|
|
<field name="name">Social Security Total (Employee)</field>
|
|
<field name="code">SOCIALEMPLOYEETOTAL</field>
|
|
<field name="sequence">500</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = categories['SOCIALEMPLOYEE']
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_social_security_total_employer" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_social_security_employer_total"/>
|
|
<field name="name">Social Security Total (Employer)</field>
|
|
<field name="code">SOCIALEMPLOYERTOTAL</field>
|
|
<field name="sequence">500</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = categories['SOCIALEMPLOYER']
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
|
|
<record id="l10n_sk_income_tax_total" model="hr.salary.rule">
|
|
<field name="category_id" ref="l10n_sk_hr_payroll.hr_payroll_income_tax_employee_total"/>
|
|
<field name="name">Income Tax Total</field>
|
|
<field name="code">INCOMETAXTOTAL</field>
|
|
<field name="sequence">510</field>
|
|
<field name="condition_select">none</field>
|
|
<field name="amount_select">code</field>
|
|
<field name="amount_python_compute">
|
|
result = -categories['INCOMETAX']
|
|
</field>
|
|
<field name="appears_on_payslip" eval="False"/>
|
|
<field name="struct_id" ref="l10n_sk_hr_payroll.hr_payroll_structure_sk_employee_salary"/>
|
|
</record>
|
|
</odoo>
|