Basic Salary 1 BASIC none code result = payslip.paid_amount Allowance MY_GENERIC_ALW 5 input input Dearness Allowance MY_DA 6 input input House Rent Allowance MY_HRA 6 input input Conveyance Allowance MY_CONV_ALW 6 input input Taxable Salary 100 GROSS none code result = categories['BASIC'] + categories['ALW'] EPF EPF_EMP 110 code result = -ceil(categories['GROSS'] * payslip._rule_parameter("l10n_my_epf_rate_employee") / 100) EPF - Employer EPF_EMPLR 115 code result = categories['GROSS'] rate = 0 if result <= payslip._rule_parameter("l10n_my_epf_threshold_employer"): rate = payslip._rule_parameter("l10n_my_epf_rate_employer_low") else: rate = payslip._rule_parameter("l10n_my_epf_rate_employer_high") result = ceil(result * rate / 100) SOCSO - Act 800 SOCSO_800_EMP 120 code def _find_contribution(wage, contributions): for (limit, contribution) in contributions: if wage <= limit: return contribution if employee.l10n_my_socso_exempted: result = 0 else: contributions = payslip._rule_parameter('l10n_my_socso_act_800_employee') wage = categories['GROSS'] result = -_find_contribution(wage, contributions) SOCSO - Act 800 - Employer SOCSO_800_EMPLR 121 code if employee.l10n_my_socso_exempted: result = 0 else: result = -result_rules['SOCSO_800_EMP']['total'] SOCSO - Act 4 SOCSO_4_EMP 125 code def _find_contribution(wage, contributions): for (limit, contribution) in contributions: if wage <= limit: return contribution if employee.l10n_my_socso_exempted: result = 0 else: contributions = payslip._rule_parameter('l10n_my_socso_act_4_first_category_employee') wage = categories['GROSS'] result = -_find_contribution(wage, contributions) SOCSO - Act 4 - Employer SOCSO_4_EMPLR 126 code def _find_contribution(wage, contributions): for (limit, contribution) in contributions: if wage <= limit: return contribution wage = categories['GROSS'] if employee.l10n_my_socso_exempted: contributions = payslip._rule_parameter('l10n_my_socso_act_4_second_category_employer') result = -_find_contribution(wage, contributions) else: contributions = payslip._rule_parameter('l10n_my_socso_act_4_first_category_employer') result = -_find_contribution(wage, contributions) SOCSO Employee Share SOCSO_EMP 150 code result = -categories['SOCSO_EMP'] SOCSO Employer Share SOCSO_EMPLR 151 code result = categories['SOCSO_EMPLR'] EIS EIS_EMP 160 code result = categories['GROSS'] result_rate = -payslip._rule_parameter("l10n_my_eis_rate_employee") EIS - Employer EIS_EMPLR 161 code result = categories['GROSS'] result_rate = payslip._rule_parameter("l10n_my_eis_rate_employer") 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']