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']