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 ce4b3ee50fd..5eca5bb34e4 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 @@ -44,14 +44,19 @@ ONSS + + Employment Bonus + EmpBonus + + Misc. Taxable DIV. IMPOS - Withholding Tax Grid 2011 (Precompte Professionnel Bareme 2011) - P.P. + Withholding Tax Grid 2017 (Precompte Professionnel Bareme 2017) + PP @@ -61,10 +66,24 @@ Child Allowance Belgium - Ch.A + ChA + + + + Reduction for special family charges + FamRed + + + + Withholding Tax Reduction + PPRed + + + + Special social contribution + SSC - @@ -76,11 +95,12 @@ - Employee Salary + Gross Salary SALARY none code - result = contract.wage * 1 + result = contract.wage * 1 + contract.car_atn + contract.mobile + contract.mobile_plus + contract.internet + 20 @@ -93,19 +113,87 @@ SALARY -13.07 - - - - Withholding Tax Grid 2011 - P.P - 120 - fix - none - + + + Employment Bonus + EmpBonus.1 + 42 + python + result = categories.BRUT <= 2431.27 + code + +salary = categories.BRUT +if salary <= 1577.89: + result = 193.79 +elif salary <= 2461.27: + result = 193.79 - (0.2194 * (salary - 1577.89)) + + + + + Employment Bonus + EmpBonus.2 + 42 + python + result = categories.BRUT + categories.ONSS <= 2431.27 + code + +salary = categories.BRUT +if salary <= 1577.89: + result = 209.29 +elif salary <= 2461.27: + result = 209.29 - (0.2369 * (salary - 1577.89)) + + + + + Special social cotisation + M.ONSS.1 + fix + 165 + python + + result = (((employee.marital=='single') or (employee.marital=='married' and employee.spouse_fiscal_status=='without income')) and (employee.resident_bool!=True)) + code + +if contract.wage >= 0.01 and contract.wage <= 1095.09: + result = 0.0 +elif contract.wage >= 1095.10 and contract.wage <= 1945.38: + result = 0.0 +elif contract.wage >= 1945.39 and contract.wage <= 2190.18: + result = -min((contract.wage - 1945.38) * 0.076, 18.60) +elif contract.wage >= 2190.19 and contract.wage <= 6038.82: + result = -min(18.60 + (contract.wage - 2190.18) * 0.011, 60.94) +else: + result = -60.94 + + + + + Special social cotisation + M.ONSS.2 + fix + 165 + python + + result = (((employee.marital=='married' and employee.spouse_fiscal_status=='with income')) and (employee.resident_bool!=True)) + code + +if contract.wage >= 0.01 and contract.wage <= 1095.09: + result = 0.0 +elif contract.wage >= 1095.10 and contract.wage <= 1945.38: + result = -9.30 +elif contract.wage >= 1945.39 and contract.wage <= 2190.18: + result = -min(max((contract.wage - 1945.38) * 0.076, 9.30), 18.60) +elif contract.wage >= 2190.19 and contract.wage <= 6038.82: + result = -min(18.60 + (contract.wage - 2190.18) * 0.011, 51.64) +else: + result = -51.64 + + - Withholding Tax B.I. fix @@ -116,7 +204,6 @@ - Withholding Tax B.II fix @@ -127,7 +214,6 @@ - Withholding Tax B.III fix @@ -136,17 +222,63 @@ result = employee.resident_bool==True + + + Withholding Tax Reduction for Low Salaries + PPRed.0 + 131 + python + result = categories.GROSS <= 2027.86 and categories.GROSS > 565.02 + code + +result = 5.83 + + + + + Withholding Tax Reduction for Low Salaries (ONSS) + PPRed.1 + 132 + python + result = categories.BRUT <= 2431.27 + code + +salary = categories.BRUT +percentage = 0.2803 +if salary <= 1577.89: + result = 193.79 * percentage +elif salary <= 2461.27: + result = (193.79 - (0.2194 * (salary - 1577.89))) * percentage + + + + + Withholding Tax Reduction for Low Salaries (ONSS) + PPRed.2 + 133 + python + result = categories.BRUT <= 2431.27 + code + +salary = categories.BRUT +percentage = 0.2803 +if salary <= 1577.89: + result = 209.29 * percentage +elif salary <= 2461.27: + result = (209.29 - (0.2369 * (salary - 1577.89))) * percentage + + - + Child Allowance Belgium Child.Allowance 140 fix python - result = bool(employee.children) + result = bool(employee.dependent_children) - + Child Allowance Belgium Ch.A @@ -160,114 +292,195 @@ a) Reduction for dependent children python - result = bool(employee.children) + result = bool(employee.dependent_children) - - - - Child Allowance for the Disabled Belgium - Ch.Handicap - fix + + + Other family charges reductions + Oth.Fam.Red 143 - "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 - python - result = bool(employee.disabled_children_number) + fix + python + result = True + + + + + Reduction for isolated people + Red.Iso + 144 + python + result = (employee.marital == 'single') and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(25.00, - (categories.PP + categories.PPRed + 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.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(35.00, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA)) + + + + + Reduction for disabled employee + Red.Dis + 145 + python + result = (employee.disabled) and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(35.00, - (categories.PP + categories.PPRed + 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.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(71.0 * employee.dependent_seniors, - (categories.PP + categories.PPRed + 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.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(35.0 * employee.dependent_juniors, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA)) + + + + + Reduction for low spouse revenue + Red.Spouse.Net + 148 + python + result = (employee.marital == 'married' and employee.spouse_net_revenue <= 221.0) and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(110.50, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA)) + + + + + Reduction for low spouse other revenue + Red.Spouse.Oth.Net + 149 + python + result = (employee.marital == 'married' and not employee.spouse_net_revenue and employee.spouse_other_net_revenue <= 440.0) and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0) + code + result = min(220.0, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA)) + Disabled Spouse Allowance Sp.handicap - fix - 145 - 31 + 150 python - result = employee.disabled_spouse_bool==True - - - - Company Car - car - fix - 15 - none - + result = (employee.disabled_spouse_bool==True) and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0) + code + min(35.0, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA)) - Company car - - CAR 1 + ATN Company Car + ATN.CAR 15 python - result = bool(contract.car_employee_deduction) + +result = bool(contract.transport_mode == 'company_car' and contract.car_atn) + code - result = contract.car_employee_deduction + +result = contract.car_atn + + + + + ATN Internet + ATN.INT + 16 + python + result = bool(contract.internet) + code + result = 5.0 + + + + ATN Mobile + ATN.MOB + 17 + python + result = bool(contract.mobile) + code + result = 12.0 - Retenue Company car - - CAR 2 + ATN Company Car + ATN.CAR.2 160 python - result = contract.car_employee_deduction + +result = bool(contract.transport_mode == 'company_car' and contract.car_atn) + code - result = -contract.car_employee_deduction + +result = -contract.car_atn + - - - Company car, Company part - - CAR 3 - 160 - python - result = bool(contract.car_company_amount) - code - result = -contract.car_company_amount - - - + - Meal Voucher - MEAL_V - fix - 165 - none - - - - - - Meal Voucher, Company Part - MEAL_V_COMP - fix - 165 - code - result = -(contract.meal_voucher_amount - contract.meal_voucher_employee_deduction) * worked_days.WORK100.number_of_days + ATN Internet + ATN.INT.2 + 161 python - result = bool(contract.meal_voucher_amount) + result = contract.internet + code + result = -5.0 + + + + ATN Mobile + ATN.MOB.2 + 162 + python + result = contract.mobile + code + result = -12.0 + + + + Commission on Target + COM + 170 + python + result = bool(contract.commission_on_target) + code + result = contract.warrant_value_employee / 12.0 - Retain on Meal Voucher - MEAL_V_EMP 165 python - result = bool(contract.meal_voucher_employee_deduction) + result = bool(contract.meal_voucher_amount) percentage -100.0 - contract.meal_voucher_employee_deduction - worked_days.WORK100.number_of_days + contract.meal_voucher_amount - contract.meal_voucher_paid_by_employer + worked_days.WORK100 and worked_days.WORK100.number_of_days @@ -278,38 +491,18 @@ code 65 python - result = bool(contract.travel_reimbursement_amount) - result = contract.travel_reimbursement_amount + result = bool(contract.others_reimbursed_amount) + result = contract.others_reimbursed_amount - - - Miscellaneous exempt ONSS - M.ONSS + + + Representation Fees + REP.FEES code - 165 + 171 python - result = bool(contract.misc_onss_deduction) - result = -contract.misc_onss_deduction - - - - Insurance - Ins - code - 165 - python - result = bool(contract.insurance_employee_deduction) - result = -contract.insurance_employee_deduction - - - - Benefits of various nature - Ben - code - 10 - python - result = bool(contract.misc_advantage_amount) - result = contract.misc_advantage_amount + result = bool(contract.representation_fees) + result = contract.representation_fees @@ -334,15 +527,119 @@ C.P.218 Belgian Employee - + C.P.219 Belgian Worker - + + + + + Check Value Meal + meal_voucher_amount + 7.45 + + + Internet + internet + 38.0 + + + Mobile + mobile + 30.0 + + + Mobile + + mobile_plus + 50.0 + + + Net supplements + additional_net_amount + + + Net retained + retained_net_amount + + + Commission on target + commission_on_target + 1000.0 + + + Fuel card + fuel_card + 150.0 + 0.0 + 500.0 + + + Holidays duration + holidays + 20.0 + 0.0 + 30.0 + + + Representation fees + representation_fees + 150.0 + + + Eco-checks + eco_checks + 250.0 + +