Office National de Sécurité Sociale (ONSS)
1
ONSS
National Office of Social Security
Fiscal Administration
1
Fiscal Administration
Meal Voucher Vendor
1
Meal Voucher Vendor
Gross
BRUT
Company Part
COMP. PART
Worker Social Contribution
ONSS
Employment Bonus
EmpBonus
Misc. Taxable
DIV. IMPOS
Withholding Tax Grid 2018 (Precompte Professionnel Bareme 2018)
PP
Misc. Net
DIV. NET
Child Allowance Belgium
ChA
Reduction for special family charges
FamRed
Withholding Tax Reduction
PPRed
Special social contribution
SSC
Worker Salary. Premium pay of 108%
SALARY
none
code
result = categories.BASIC * 1.08
Gross Salary
SALARY
none
code
result = categories.BASIC
if contract.internet:
result += 5.0
if contract.mobile:
result += 12.0
20
Social contribution
ONSS
41
none
percentage
SALARY
-13.07
Employment Bonus
EmpBonus.1
42
python
result = categories.BRUT <= 2510.47
code
salary = categories.BRUT
if salary <= 1609.47:
result = 197.67
elif salary <= 2510.47:
result = 197.67 - (0.2194 * (salary - 1609.47))
Employment Bonus
EmpBonus.2
42
python
result = categories.BRUT + categories.ONSS <= 2510.47
code
salary = categories.BRUT
if salary <= 1609.47:
result = 213.48
elif salary <= 2510.47:
result = 213.48 - (0.2369 * (salary - 1609.47))
Special social cotisation
M.ONSS.1
fix
165
python
result = (((employee.marital in ['divorced', 'single', 'widower']) or (employee.marital=='married' and employee.spouse_fiscal_status=='without income')) and (employee.resident_bool!=True))
code
wage = categories.BASIC
if wage >= 0.01 and wage <= 1095.09:
result = 0.0
elif wage >= 1095.10 and wage <= 1945.38:
result = 0.0
elif wage >= 1945.39 and wage <= 2190.18:
result = -min((wage - 1945.38) * 0.076, 18.60)
elif wage >= 2190.19 and wage <= 6038.82:
result = -min(18.60 + (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
wage = categories.BASIC
if wage >= 0.01 and wage <= 1095.09:
result = 0.0
elif wage >= 1095.10 and wage <= 1945.38:
result = -9.30
elif wage >= 1945.39 and wage <= 2190.18:
result = -min(max((wage - 1945.38) * 0.076, 9.30), 18.60)
elif wage >= 2190.19 and wage <= 6038.82:
result = -min(18.60 + (wage - 2190.18) * 0.011, 51.64)
else:
result = -51.64
Withholding Tax
B.I.
fix
120
python
result = (((employee.marital in ['divorced', 'single', 'widower']) or (employee.marital=='married' and employee.spouse_fiscal_status=='with income')) and (employee.resident_bool!=True))
Withholding Tax
B.II
fix
120
python
result = ((employee.marital=='married' and employee.spouse_fiscal_status=='without income') and (employee.resident_bool!=True))
Withholding Tax
B.III
fix
120
python
result = employee.resident_bool==True
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.dependent_children) and (categories.PP + categories.PPRed + 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.PPRed + 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.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(36.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(36.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(73.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(36.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_fiscal_status=='with income' and employee.spouse_net_revenue <= 225.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 employee.spouse_fiscal_status=='with income' and not employee.spouse_net_revenue and employee.spouse_other_net_revenue <= 450.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
150
python
result = (employee.disabled_spouse_bool==True) and (categories.PP + categories.PPRed + categories.FamRed + categories.ChA < 0.0)
code
min(36.0, - (categories.PP + categories.PPRed + categories.FamRed + categories.ChA))
ATN Company Car
ATN.CAR
70
python
result = bool(contract.transport_mode == 'company_car' and contract.car_atn)
code
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
ATN Company Car
ATN.CAR.2
160
python
result = bool(contract.transport_mode == 'company_car' and contract.car_atn)
code
result = -contract.car_atn
ATN Internet
ATN.INT.2
161
python
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_amount)
percentage
-100.0
contract.meal_voucher_amount - contract.meal_voucher_paid_by_employer
worked_days.WORK100 and worked_days.WORK100.number_of_days
Reimbursement of travel expenses
Tr.E
code
65
python
result = bool(contract.others_reimbursed_amount)
result = contract.others_reimbursed_amount
Representation Fees
REP.FEES
code
171
python
result = bool(contract.representation_fees)
result = contract.representation_fees
Net Supplement
Net.S
code
185
python
result = bool(contract.additional_net_amount)
result = contract.additional_net_amount
Net retained
Net.R
code
190
python
result = bool(contract.retained_net_amount)
result = -contract.retained_net_amount
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
0.0
Fuel card
fuel_card
150.0
0.0
500.0
Leaves duration
holidays
20.0
0.0
35.0
Representation fees
representation_fees
150.0
Eco-checks
eco_checks
250.0