diff --git a/addons/l10n_be_hr_payroll/__manifest__.py b/addons/l10n_be_hr_payroll/__manifest__.py index f6cd23958e2..9070cc1dac9 100644 --- a/addons/l10n_be_hr_payroll/__manifest__.py +++ b/addons/l10n_be_hr_payroll/__manifest__.py @@ -23,6 +23,5 @@ Belgian Payroll Rules. 'data': [ 'views/l10n_be_hr_payroll_view.xml', 'data/l10n_be_hr_payroll_data.xml', - 'data/hr.salary.rule.csv', ], } diff --git a/addons/l10n_be_hr_payroll/data/hr.salary.rule.csv b/addons/l10n_be_hr_payroll/data/hr.salary.rule.csv deleted file mode 100644 index a3fc0ef57d5..00000000000 --- a/addons/l10n_be_hr_payroll/data/hr.salary.rule.csv +++ /dev/null @@ -1,21 +0,0 @@ -id,amount_select,condition_range_min,condition_range_max,amount_percentage,amount_fix,amount_python_compute,name,category_id,sequence,code,parent_rule_id/id,condition_select,condition_range,amount_percentage_base,register_id/id -1410,code,1,1,,,"result = min(36, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1411,code,2,2,,,"result = min(97, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1412,code,3,3,,,"result = min(253, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1413,code,4,4,,,"result = min(454, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1414,code,5,5,,,"result = min(677, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1415,code,6,6,,,"result = min(902, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1416,code,7,7,,,"result = min(1128, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1417,code,8,8,,,"result = min(1371, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1418,code,9,9,,,"result = min(1622, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1419,code,10,10,,,"result = min(1873, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1420,code,11,11,,,"result = min(2124, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1421,code,12,12,,,"result = min(2375, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1422,code,13,13,,,"result = min(2626, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1423,code,14,14,,,"result = min(2877, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1424,code,15,15,,,"result = min(3128, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1425,code,16,16,,,"result = min(3379, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1426,code,17,17,,,"result = min(3630, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1427,code,18,18,,,"result = min(3881, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1428,code,19,19,,,"result = min(4132, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, -1429,code,20,20,,,"result = min(4383, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))",Child Allowance Belgium,Child Allowance Belgium,142,Ch.A,hr_payroll_rules_child,range,employee.dependent_children,, diff --git a/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml b/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml index 22d8f4e9d92..f7caf5787a7 100644 --- a/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml +++ b/addons/l10n_be_hr_payroll/data/l10n_be_hr_payroll_data.xml @@ -75,11 +75,6 @@ result = contract.wage_with_holidays ChA - - Reduction for special family charges - FamRed - - Special social contribution SSC @@ -293,132 +288,55 @@ else: basic_bareme_2 = compute_basic_bareme(yearly_net_taxable_revenue - yearly_net_taxable_revenue_for_spouse) withholding_tax_amount = convert_to_month(max(basic_bareme_1 + basic_bareme_2 - 3381.2, 0)) -result = - withholding_tax_amount +# Reduction for isolated people and for other family charges +if employee.marital in ['divorced', 'single', 'widower'] or (employee.spouse_net_revenue > 0.0 or employee.spouse_other_net_revenue > 0.0): + if employee.marital in ['divorced', 'single', 'widower']: + withholding_tax_amount -= 25.0 + if employee.marital == 'widower' or (employee.marital in ['divorced', 'single', 'widower'] and employee.dependent_children): + withholding_tax_amount -= 36.0 + if employee.disabled: + withholding_tax_amount -= 36.0 + if employee.other_dependent_people and employee.dependent_seniors: + withholding_tax_amount -= 73.0 * employee.dependent_seniors + if employee.other_dependent_people and employee.dependent_juniors: + withholding_tax_amount -= 36.0 * employee.dependent_juniors + if employee.marital in ['married', 'cohabitant'] and employee.spouse_fiscal_status=='with income' and employee.spouse_net_revenue <= 225.0: + withholding_tax_amount -= 112.5 + if employee.marital in ['married', 'cohabitant'] and employee.spouse_fiscal_status=='with income' and not employee.spouse_net_revenue and employee.spouse_other_net_revenue <= 450.0: + withholding_tax_amount -= 225.0 +if employee.spouse_net_revenue == 0.0 and employee.spouse_other_net_revenue == 0.0: + if employee.disabled: + withholding_tax_amount -= 36.0 + if employee.disabled_spouse_bool: + withholding_tax_amount -= 36.0 + if employee.other_dependent_people and employee.dependent_seniors: + withholding_tax_amount -= 73.0 * employee.dependent_seniors + if employee.other_dependent_people and employee.dependent_juniors: + withholding_tax_amount -= 36.0 * employee.dependent_juniors + +# Child Allowances +if employee.dependent_children: + if employee.dependent_children == 1: + withholding_tax_amount -= 36.0 + if employee.dependent_children == 2: + withholding_tax_amount -= 97.0 + if employee.dependent_children == 3: + withholding_tax_amount -= 253.0 + if employee.dependent_children == 4: + withholding_tax_amount -= 454.0 + if employee.dependent_children == 5: + withholding_tax_amount -= 677.0 + if employee.dependent_children == 6: + withholding_tax_amount -= 902.0 + if employee.dependent_children == 7: + withholding_tax_amount -= 1128.0 + if employee.dependent_children >= 8: + withholding_tax_amount -= 1371.0 + (employee.dependent_children - 8) * 251.0 + +result = - max(withholding_tax_amount, 0.0) + - - - Child Allowance Belgium - Child.Allowance - 140 - fix - python - result = bool(employee.dependent_children) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - - - - - Child Allowance Belgium - Ch.A - fix - 141 - 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 - python - result = bool(employee.dependent_children) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - - - - Other family charges reductions - Oth.Fam.Red - 143 - fix - python - result = True - - - - - Reduction for isolated people - Red.Iso - 144 - python - result = (employee.marital in ['divorced', 'single', 'widower']) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(25.00, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for isolated parent - Red.Iso.Par - 144 - python - result = (employee.marital == 'widower' or (employee.marital in ['divorced', 'single', 'widower'] and employee.dependent_children)) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(36.00, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for disabled employee - Red.Dis - 145 - python - result = (employee.disabled) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(36.00, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for dependent seniors - Red.Seniors - 146 - python - result = (employee.other_dependent_people and employee.dependent_seniors) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(73.0 * employee.dependent_seniors, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for dependent juniors - Red.Juniors - 147 - python - result = (employee.other_dependent_people and employee.dependent_juniors) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(36.0 * employee.dependent_juniors, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for low spouse revenue - Red.Spouse.Net - 148 - python - result = (employee.marital in ['married', 'cohabitant'] and employee.spouse_fiscal_status=='with income' and employee.spouse_net_revenue <= 225.0) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(110.50, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Reduction for low spouse other revenue - Red.Spouse.Oth.Net - 149 - python - result = (employee.marital in ['married', 'cohabitant'] and employee.spouse_fiscal_status=='with income' and not employee.spouse_net_revenue and employee.spouse_other_net_revenue <= 450.0) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - result = min(220.0, - (categories.PP + categories.FamRed + categories.ChA)) - - - - - Disabled Spouse Allowance - Sp.handicap - 150 - python - result = (employee.disabled_spouse_bool==True) and (categories.PP + categories.FamRed + categories.ChA < 0.0) - code - min(36.0, - (categories.PP + categories.FamRed + categories.ChA)) - ATN Company Car @@ -594,8 +512,6 @@ result = -min(ip_amount * tax_rate, 11745) ref('hr_salary_rule_employment_bonus_employees'), ref('hr_payroll_rules_employee'), ref('hr_payroll_rules_bareme'), - ref('hr_salary_rule_other_family_charges_reductions'), - ref('hr_payroll_rules_child_alw'), ref('hr_payroll_rules_ch_worker'), ref('hr_payroll_rules_reim_travel'), ref('hr_payroll_rules_mis_ex_onss_1'), @@ -619,8 +535,6 @@ result = -min(ip_amount * tax_rate, 11745) ref('hr_payroll_rules_onss_rule'), ref('hr_salary_rule_employment_bonus_workers'), ref('hr_payroll_rules_bareme'), - ref('hr_payroll_rules_child_alw'), - ref('hr_salary_rule_other_family_charges_reductions'), ref('hr_payroll_rules_ch_worker'), ref('hr_payroll_rules_reim_travel'), ref('hr_payroll_rules_mis_ex_onss_1'),