Basic Salary 1 BASIC none code result = payslip.paid_amount Other Allowances OTHER_ALLOW 5 input input Salary Arrears SALARY_ARREARS 5 input input Extra Hours EXTRA_HOURS 5 input input Provident Fund PROV_FUND 5 input input Gratuity Fund GRAT_FUND 5 input input Taxable Salary 100 GROSS none code result = categories['BASIC'] + categories['ALW'] Tax Credits (Investments) TAX_CREDITS 105 input input Taxable Amount TAXABLE_AMOUNT 110 code yearly_income_exempt = min(payslip._rule_parameter('l10n_bd_maximum_yearly_exempt'), result_rules['GROSS']['total'] * 12 / 3) result = result_rules['GROSS']['total'] - result_rules['TAX_CREDITS']['total'] - yearly_income_exempt / 12 Income Tax TAXES 115 code def _is_senior(): age = relativedelta(payslip.date_from, employee.birthday).years return age > 65 yearly_taxable_amount = result_rules['TAXABLE_AMOUNT']['total'] * 12 # All foreigners non-resident (excluding bangladeshi non-resident) are taxed at a 30% flat rate if employee.private_country_id.code != 'BD' and employee.country_id.code != 'BD': income_tax = yearly_taxable_amount * 0.30 # If bangladeshi or residing in Bangladesh else: x = 0 if employee.l10n_bd_gazetted_war_founded_freedom_fighter: x = payslip._rule_parameter('l10n_bd_gazetted_fighter_yearly_exempt') elif employee.disabled: x = payslip._rule_parameter('l10n_bd_disabled_yearly_exempt') elif employee.sex in ('female', 'other') or _is_senior(): x = payslip._rule_parameter('l10n_bd_female_senior_yearly_exempt') elif employee.sex == 'male': x = payslip._rule_parameter('l10n_bd_male_yearly_exempt') if employee.l10n_bd_disabled_dependent: x += payslip._rule_parameter('l10n_bd_per_disabled_dependent_yearly_exempt') * employee.l10n_bd_disabled_dependent yearly_taxable_amount -= min(yearly_taxable_amount, x) income_tax = 0 for amount, rate in payslip._rule_parameter('l10n_bd_yearly_tax_rates'): taxable_in_current = min(yearly_taxable_amount, amount) yearly_taxable_amount -= taxable_in_current income_tax += taxable_in_current * rate result = -max(income_tax, payslip._rule_parameter('l10n_bd_yearly_minimum_tax')) / 12 Attachment of Salary 174 ATTACH_SALARY python result = 'ATTACH_SALARY' in inputs code result = -inputs['ATTACH_SALARY'].amount result_name = inputs['ATTACH_SALARY'].name Assignment of Salary 174 ASSIG_SALARY python result = 'ASSIG_SALARY' in inputs code result = -inputs['ASSIG_SALARY'].amount result_name = inputs['ASSIG_SALARY'].name Child Support CHILD_SUPPORT code 174 python result = 'CHILD_SUPPORT' in inputs result = -inputs['CHILD_SUPPORT'].amount result_name = inputs['CHILD_SUPPORT'].name Deduction 198 DEDUCTION python result = 'DEDUCTION' in inputs code result = -inputs['DEDUCTION'].amount result_name = inputs['DEDUCTION'].name Reimbursement 199 REIMBURSEMENT python result = 'REIMBURSEMENT' in inputs code result = inputs['REIMBURSEMENT'].amount result_name = inputs['REIMBURSEMENT'].name Net Salary 200 NET none code result = categories['BASIC'] + categories['ALW'] + categories['DED']