1 <?xml version="1.0" encoding="utf-8"?>
4 <!-- CONTRIBUTION REGISTERS -->
5 <record id="res_partner_onss" model="res.partner">
6 <field name="name">Office National de Sécurité Sociale (ONSS)</field>
7 <field name="supplier">1</field>
8 <field eval="0" name="customer"/>
10 <record id="contrib_register_onss" model="hr.contribution.register">
11 <field name="name">ONSS</field>
12 <field name="note">National Office of Social Security</field>
13 <field name="partner_id" ref="res_partner_onss"/>
15 <record id="res_partner_pp" model="res.partner">
16 <field name="name">Fiscal Administration</field>
17 <field name="supplier">1</field>
18 <field eval="0" name="customer"/>
20 <record id="contrib_register_pp" model="hr.contribution.register">
21 <field name="name">Fiscal Administration</field>
22 <field name="partner_id" ref="res_partner_pp"/>
24 <record id="res_partner_meal_vouchers" model="res.partner">
25 <field name="name">Meal Voucher Supplier</field>
26 <field name="supplier">1</field>
27 <field eval="0" name="customer"/>
29 <record id="contrib_register_meal_vouchers" model="hr.contribution.register">
30 <field name="name">Meal Voucher Supplier</field>
31 <field name="partner_id" ref="res_partner_meal_vouchers"/>
34 <!-- HR SALARY RULE CATEGORIES-->
35 <record id="hr_payroll_head_salary" model="hr.salary.rule.category">
36 <field name="name">Gross</field>
37 <field name="code">BRUT</field>
39 <record id="hr_payroll.COMP" model="hr.salary.rule.category">
40 <field name="name">Company Part</field>
41 <field name="code">COMP. PART</field>
43 <record id="hr_payroll_head_onss" model="hr.salary.rule.category">
44 <field name="name">Worker Social Contribution</field>
45 <field name="code">ONSS</field>
46 <field name="parent_id" ref="hr_payroll.ALW"/>
48 <record id="hr_payroll_head_div_impos" model="hr.salary.rule.category">
49 <field name="name">Misc. Taxable</field>
50 <field name="code">DIV. IMPOS</field>
51 <field name="parent_id" ref="hr_payroll.ALW"/>
53 <record id="hr_payroll_head_pp" model="hr.salary.rule.category">
54 <field name="name">Withholding Tax Grid 2011 (Precompte Professionnel Bareme 2011)</field>
55 <field name="code">P.P.</field>
56 <field name="parent_id" ref="hr_payroll.DED"/>
58 <record id="hr_payroll_head_div_net" model="hr.salary.rule.category">
59 <field name="name">Misc. Net</field>
60 <field name="code">DIV. NET</field>
61 <field name="parent_id" ref="hr_payroll.DED"/>
63 <record id="hr_payroll_head_child_alw" model="hr.salary.rule.category">
64 <field name="name">Child Allowance Belgium</field>
65 <field name="code">Ch.A</field>
66 <field name="parent_id" ref="hr_payroll.DED"/>
69 <!-- HR SALARY RULES-->
70 <record id="hr_payroll_rules_maj" model="hr.salary.rule">
71 <field name="category_id" ref="hr_payroll_head_salary"/>
72 <field name="name">Worker Salary. Premium pay of 108%</field>
73 <field name="code">SALARY</field>
74 <field name="condition_select">none</field>
75 <field name="amount_select">code</field>
76 <field name="amount_python_compute">result = contract.wage * 1.08</field>
78 <record id="hr_payroll_rules_employee" model="hr.salary.rule">
79 <field name="category_id" ref="hr_payroll_head_salary"/>
80 <field name="name">Employee Salary</field>
81 <field name="code">SALARY</field>
82 <field name="condition_select">none</field>
83 <field name="amount_select">code</field>
84 <field name="amount_python_compute">result = contract.wage * 1</field>
85 <field name="appears_on_payslip" eval="False"/>
87 <record id="hr_payroll_rules_onss_rule" model="hr.salary.rule">
88 <field name="category_id" ref="hr_payroll_head_onss"/>
89 <field name="name">Social contribution</field>
90 <field name="code">ONSS</field>
91 <field name="sequence">41</field>
92 <field name="condition_select">none</field>
93 <field name="amount_select">percentage</field>
94 <field name="amount_percentage_base">SALARY</field>
95 <field name="amount_percentage">-13.07</field>
96 <field name="register_id" ref="contrib_register_onss"/>
98 <record id="hr_payroll_rules_p_p_b1" model="hr.salary.rule">
99 <field name="category_id" ref="hr_payroll_head_pp"/>
100 <field name="name">Withholding Tax Grid 2011</field>
101 <field name="code">P.P</field>
102 <field name="sequence">120</field>
103 <field name="amount_select">fix</field>
104 <field name="condition_select">none</field>
105 <field name="appears_on_payslip" eval="False"/>
107 <record id="hr_payroll_rules_bareme" model="hr.salary.rule">
108 <field name="category_id" ref="hr_payroll_head_pp"/>
109 <field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
110 <field name="name">Withholding Tax</field>
111 <field name="code">B.I.</field>
112 <field name="amount_select">fix</field>
113 <field name="sequence">120</field>
114 <field name="condition_select">python</field>
115 <field name="appears_on_payslip" eval="False"/>
116 <field name="condition_python">result = (((employee.marital=='single') or (employee.marital=='married' and employee.spouse_fiscal_status=='with income')) and (employee.resident_bool!=True))</field>
118 <record id="hr_payroll_rules_baremeII" model="hr.salary.rule">
119 <field name="category_id" ref="hr_payroll_head_pp"/>
120 <field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
121 <field name="name">Withholding Tax</field>
122 <field name="code">B.II</field>
123 <field name="amount_select">fix</field>
124 <field name="sequence">120</field>
125 <field name="condition_select">python</field>
126 <field name="appears_on_payslip" eval="False"/>
127 <field name="condition_python">result = ((employee.marital=='married' and employee.spouse_fiscal_status=='without income') and (employee.resident_bool!=True))</field>
129 <record id="hr_payroll_rules_baremeIII" model="hr.salary.rule">
130 <field name="category_id" ref="hr_payroll_head_pp"/>
131 <field name="parent_rule_id" ref="hr_payroll_rules_p_p_b1"/>
132 <field name="name">Withholding Tax</field>
133 <field name="code">B.III</field>
134 <field name="amount_select">fix</field>
135 <field name="sequence">120</field>
136 <field name="condition_select">python</field>
137 <field name="condition_python">result = employee.resident_bool==True</field>
138 <field name="appears_on_payslip" eval="False"/>
140 <record id="hr_payroll_rules_child_alw" model="hr.salary.rule">
141 <field name="category_id" ref="hr_payroll.DED"/>
142 <field name="name">Child Allowance Belgium</field>
143 <field name="code">Child.Allowance</field>
144 <field name="sequence">140</field>
145 <field name="amount_select">fix</field>
146 <field name="condition_select">python</field>
147 <field name="condition_python">result = bool(employee.children)</field>
149 <record id="hr_payroll_rules_child" model="hr.salary.rule">
150 <field name="category_id" ref="hr_payroll.DED"/>
151 <field name="parent_rule_id" ref="hr_payroll_rules_child_alw"/>
152 <field name="name">Child Allowance Belgium</field>
153 <field name="code">Ch.A</field>
154 <field name="amount_select">fix</field>
155 <field name="sequence">141</field>
156 <field name="note">The recipient of income is an isolated or spouse beneficiary's income has also
157 earned income (Schedule I / II scale)
159 A. When the gross monthly earnings do not exceed € 7,500, the withholding tax is determined according to the Schedule I.
160 The following reductions are then deducted from the payroll tax determined in accordance with this schedule:
162 a) Reduction for dependent children</field>
163 <field name="condition_select">python</field>
164 <field name="condition_python">result = bool(employee.children)</field>
166 <record id="hr_payroll_rules_child_handicap" model="hr.salary.rule">
167 <field name="category_id" ref="hr_payroll.DED"/>
168 <field name="parent_rule_id" ref="hr_payroll_rules_child_alw"/>
169 <field name="name">Child Allowance for the Disabled Belgium</field>
170 <field name="code">Ch.Handicap</field>
171 <field name="amount_select">fix</field>
172 <field name="sequence">143</field>
173 <field name="note">"Disabled child" means:
175 the child reaches at least 66% of failure or reduced physical or mental capacity
176 the head of one or more conditions;
179 the child that is established, regardless of age, that due to developments and recognized
180 before age 65</field>
181 <field name="condition_select">python</field>
182 <field name="condition_python">result = bool(employee.disabled_children_number)</field>
184 <record id="hr_payroll_rules_spouse_handicap" model="hr.salary.rule">
185 <field name="category_id" ref="hr_payroll_head_div_net"/>
186 <field name="name">Disabled Spouse Allowance</field>
187 <field name="code">Sp.handicap</field>
188 <field name="amount_select">fix</field>
189 <field name="sequence">145</field>
190 <field name="amount_fix">31</field>
191 <field name="condition_select">python</field>
192 <field name="condition_python">result = employee.disabled_spouse_bool==True</field>
194 <record id="hr_payroll_rules_company_car_parent" model="hr.salary.rule">
195 <field name="category_id" ref="hr_payroll_head_div_impos"/>
196 <field name="name">Company Car</field>
197 <field name="code">car</field>
198 <field name="amount_select">fix</field>
199 <field name="sequence">15</field>
200 <field name="condition_select">none</field>
201 <field name="appears_on_payslip" eval="False"/>
203 <record id="hr_payroll_rules_parent_company_car" model="hr.salary.rule">
204 <field name="category_id" ref="hr_payroll_head_div_impos"/>
205 <field name="name">Company car</field>
206 <field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
207 <field name="code">CAR 1</field>
208 <field name="sequence">15</field>
209 <field name="condition_select">python</field>
210 <field name="condition_python">result = bool(contract.car_employee_deduction)</field>
211 <field name="amount_select">code</field>
212 <field name="amount_python_compute">result = contract.car_employee_deduction</field>
214 <record id="hr_payroll_rules_company_car_2" model="hr.salary.rule">
215 <field name="category_id" ref="hr_payroll_head_div_net"/>
216 <field name="name">Retenue Company car</field>
217 <field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
218 <field name="code">CAR 2</field>
219 <field name="sequence">160</field>
220 <field name="condition_select">python</field>
221 <field name="condition_python">result = contract.car_employee_deduction</field>
222 <field name="amount_select">code</field>
223 <field name="amount_python_compute">result = -contract.car_employee_deduction</field>
225 <record id="hr_payroll_rules_company_car_emp" model="hr.salary.rule">
226 <field name="category_id" ref="hr_payroll.COMP"/>
227 <field name="name">Company car, Company part</field>
228 <field name="parent_rule_id" ref="hr_payroll_rules_company_car_parent"/>
229 <field name="code">CAR 3</field>
230 <field name="sequence">160</field>
231 <field name="condition_select">python</field>
232 <field name="condition_python">result = bool(contract.car_company_amount)</field>
233 <field name="amount_select">code</field>
234 <field name="amount_python_compute">result = -contract.car_company_amount</field>
235 <field name="appears_on_payslip" eval="False"/>
237 <record id="hr_payroll_rules_parent_ch" model="hr.salary.rule">
238 <field name="category_id" ref="hr_payroll_head_div_net"/>
239 <field name="name">Meal Voucher</field>
240 <field name="code">MEAL_V</field>
241 <field name="amount_select">fix</field>
242 <field name="sequence">165</field>
243 <field name="condition_select">none</field>
244 <field name="appears_on_payslip" eval="False"/>
246 <record id="hr_payroll_rules_ch_value" model="hr.salary.rule">
247 <field name="category_id" ref="hr_payroll.COMP"/>
248 <field name="parent_rule_id" ref="hr_payroll_rules_parent_ch"/>
249 <field name="name">Meal Voucher, Company Part</field>
250 <field name="code">MEAL_V_COMP</field>
251 <field name="amount_select">fix</field>
252 <field name="sequence">165</field>
253 <field name="amount_select">code</field>
254 <field name="amount_python_compute">result = -(contract.meal_voucher_amount - contract.meal_voucher_employee_deduction) * worked_days.WORK100.number_of_days</field>
255 <field name="condition_select">python</field>
256 <field name="condition_python">result = bool(contract.meal_voucher_amount)</field>
257 <field name="appears_on_payslip" eval="False"/>
258 <field name="register_id" ref="contrib_register_meal_vouchers"/>
260 <record id="hr_payroll_rules_ch_worker" model="hr.salary.rule">
261 <field name="category_id" ref="hr_payroll_head_div_net"/>
262 <field name="name">Retain on Meal Voucher</field>
263 <field name="parent_rule_id" ref="hr_payroll_rules_parent_ch"/>
264 <field name="code">MEAL_V_EMP</field>
265 <field name="sequence">165</field>
266 <field name="condition_select">python</field>
267 <field name="condition_python">result = bool(contract.meal_voucher_employee_deduction)</field>
268 <field name="amount_select">percentage</field>
269 <field name="amount_percentage">-100.0</field>
270 <field name="amount_percentage_base">contract.meal_voucher_employee_deduction</field>
271 <field name="quantity">worked_days.WORK100.number_of_days</field>
272 <field name="appears_on_payslip" eval="True"/>
273 <field name="register_id" ref="contrib_register_meal_vouchers"/>
275 <record id="hr_payroll_rules_reim_travel" model="hr.salary.rule">
276 <field name="category_id" ref="hr_payroll.DED"/>
277 <field name="name">Reimbursement of travel expenses</field>
278 <field name="code">Tr.E</field>
279 <field name="amount_select">code</field>
280 <field name="sequence">65</field>
281 <field name="condition_select">python</field>
282 <field name="condition_python">result = bool(contract.travel_reimbursement_amount)</field>
283 <field name="amount_python_compute">result = contract.travel_reimbursement_amount</field>
285 <record id="hr_payroll_rules_mis_ex_onss" model="hr.salary.rule">
286 <field name="category_id" ref="hr_payroll.DED"/>
287 <field name="name">Miscellaneous exempt ONSS</field>
288 <field name="code">M.ONSS</field>
289 <field name="amount_select">code</field>
290 <field name="sequence">165</field>
291 <field name="condition_select">python</field>
292 <field name="condition_python">result = bool(contract.misc_onss_deduction)</field>
293 <field name="amount_python_compute">result = -contract.misc_onss_deduction</field>
295 <record id="hr_payroll_rules_insurance" model="hr.salary.rule">
296 <field name="category_id" ref="hr_payroll.DED"/>
297 <field name="name">Insurance</field>
298 <field name="code">Ins</field>
299 <field name="amount_select">code</field>
300 <field name="sequence">165</field>
301 <field name="condition_select">python</field>
302 <field name="condition_python">result = bool(contract.insurance_employee_deduction)</field>
303 <field name="amount_python_compute">result = -contract.insurance_employee_deduction</field>
305 <record id="hr_payroll_rules_advantage" model="hr.salary.rule">
306 <field name="category_id" ref="hr_payroll.ALW"/>
307 <field name="name">Benefits of various nature</field>
308 <field name="code">Ben</field>
309 <field name="amount_select">code</field>
310 <field name="sequence">10</field>
311 <field name="condition_select">python</field>
312 <field name="condition_python">result = bool(contract.misc_advantage_amount)</field>
313 <field name="amount_python_compute">result = contract.misc_advantage_amount</field>
315 <record id="hr_payroll_rules_suppl_net" model="hr.salary.rule">
316 <field name="category_id" ref="hr_payroll_head_div_net"/>
317 <field name="name">Net Supplement</field>
318 <field name="code">Net.S</field>
319 <field name="amount_select">code</field>
320 <field name="sequence">185</field>
321 <field name="condition_select">python</field>
322 <field name="condition_python">result = bool(contract.additional_net_amount)</field>
323 <field name="amount_python_compute">result = contract.additional_net_amount</field>
325 <record id="hr_payroll_rules_retained_net" model="hr.salary.rule">
326 <field name="category_id" ref="hr_payroll_head_div_net"/>
327 <field name="name">Net retained</field>
328 <field name="code">Net.R</field>
329 <field name="amount_select">code</field>
330 <field name="sequence">190</field>
331 <field name="condition_select">python</field>
332 <field name="condition_python">result = bool(contract.retained_net_amount)</field>
333 <field name="amount_python_compute">result = -contract.retained_net_amount</field>
335 <record id="hr_payroll_salary_structure_employee" model="hr.payroll.structure">
336 <field name="code">C.P.218</field>
337 <field name="name">Belgian Employee</field>
338 <field eval="[(6, 0, [ref('hr_payroll_rules_company_car_parent'),ref('hr_payroll_rules_onss_rule'),ref('hr_payroll_rules_employee'),ref('hr_payroll_rules_p_p_b1'),ref('hr_payroll_rules_child_alw'),ref('hr_payroll_rules_parent_ch'),ref('hr_payroll_rules_reim_travel'),ref('hr_payroll_rules_mis_ex_onss'),ref('hr_payroll_rules_insurance'),ref('hr_payroll_rules_advantage'),ref('hr_payroll_rules_suppl_net'),ref('hr_payroll_rules_retained_net')])]" name="rule_ids"/>
339 <field name="company_id" ref="base.main_company"/>
340 <field name="parent_id" ref="hr_payroll.structure_base"/>
342 <record id="hr_payroll_salary_structure_worker" model="hr.payroll.structure">
343 <field name="code">C.P.219</field>
344 <field name="name">Belgian Worker</field>
345 <field eval="[(6, 0, [ref('hr_payroll_rules_maj'), ref('hr_payroll_rules_onss_rule'),ref('hr_payroll_rules_p_p_b1'),ref('hr_payroll_rules_child_alw'),ref('hr_payroll_rules_parent_ch'),ref('hr_payroll_rules_reim_travel'),ref('hr_payroll_rules_mis_ex_onss'),ref('hr_payroll_rules_insurance'),ref('hr_payroll_rules_advantage'),ref('hr_payroll_rules_suppl_net'),ref('hr_payroll_rules_retained_net')])]" name="rule_ids"/>
346 <field name="company_id" ref="base.main_company"/>
347 <field name="parent_id" ref="hr_payroll.structure_base"/>