Basic Salary 1 BASIC none code result = payslip.paid_amount Housing Allowance HOUALLOW 10 python result = bool(version.l10n_jo_housing_allowance) code result = version.l10n_jo_housing_allowance Transportation Allowance TRAALLOW 20 python result = bool(version.l10n_jo_transportation_allowance) code result = version.l10n_jo_transportation_allowance Other Allowances OTALLOW 30 python result = bool(version.l10n_jo_other_allowances) code result = version.l10n_jo_other_allowances SSC Company Contribution SSC 35 code result = min(payslip._rule_parameter('l10n_jo_min_ssc_contrib'), (categories['BASIC'] + categories['ALW'])) result_rate = payslip._rule_parameter('l10n_jo_ssc_rate') SSC Employee Contribution SSE 40 code result = min(payslip._rule_parameter('l10n_jo_min_sse_ded'), (categories['BASIC'] + categories['ALW'])) result_rate = payslip._rule_parameter('l10n_jo_sse_rate') Sick Leave (Un-Paid) SICKLEAVE0 45 python result = 'SICKLEAVE0' in worked_days code result_qty = worked_days['SICKLEAVE0'].number_of_days result = - (payslip._l10n_jo_get_gross_wage() / 30) Rest Days Overtime ROVT 50 python result = 'ROVT' in inputs and inputs['ROVT'].amount and version.resource_calendar_id.hours_per_day code overtime_rate = payslip._rule_parameter('l10n_jo_rest_days_overtime_rate') number_of_days = (payslip.date_to - payslip.date_from).days + 1 gross_wage = payslip._l10n_jo_get_gross_wage() result_rate = overtime_rate * 100 result_qty = inputs['ROVT'].amount if version.resource_calendar_id: result = gross_wage / number_of_days / version.resource_calendar_id.hours_per_day elif version.company_id.resource_calendar_id: result = gross_wage / number_of_days / version.company_id.resource_calendar_id.hours_per_day else: result = gross_wage / number_of_days / 8.0 Weekdays Overtime WOVT 50 python result = 'WOVT' in inputs and inputs['WOVT'].amount and version.resource_calendar_id.hours_per_day code overtime_rate = payslip._rule_parameter('l10n_jo_work_days_overtime_rate') number_of_days = (payslip.date_to - payslip.date_from).days + 1 gross_wage = payslip._l10n_jo_get_gross_wage() result_rate = overtime_rate * 100 result_qty = inputs['WOVT'].amount if version.resource_calendar_id: result = gross_wage / number_of_days / version.resource_calendar_id.hours_per_day elif version.company_id.resource_calendar_id: result = gross_wage / number_of_days / version.company_id.resource_calendar_id.hours_per_day else: result = gross_wage / number_of_days / 8.0 End of Service Provision EOSPROV 55 none code salary = payslip._l10n_jo_get_gross_wage() result = salary / 12 Annual Leave Provision ANNUALP 60 none code salary = payslip._l10n_jo_get_gross_wage() result = (salary / 30) * version.l10n_jo_number_of_leave_days / 12 Taxable Salary (Gross) 100 GROSS none code result = categories['BASIC'] + categories['ALW'] Taxable Yearly Gross GROSSY 115 code exemption_amount = payslip._rule_parameter('l10n_jo_taxable_yearly_gross_exemption_amount') if employee.is_non_resident: exemption_amount = 0 elif employee.l10n_jo_is_blind: exemption_amount = GROSS * 12 elif employee.l10n_jo_has_dependants: exemption_amount += 12000 result = max((GROSS * 12) - exemption_amount, 0) TAX Bracket Deduction TXB 145 python result = (payslip._l10n_jo_get_tax(GROSSY)) > 0 code result = -payslip._l10n_jo_get_tax(GROSSY) / 12 End of Service Benefit EOSB 150 python result = employee.departure_date and employee.departure_reason_id and employee.l10n_jo_is_eligible_for_eos code start_date = employee._get_first_version_date() end_date = version.date_end difference = relativedelta(end_date, start_date) total_years = difference.years + difference.months / 12 + difference.days / 365 gross_wage = payslip._l10n_jo_get_gross_wage() result_qty = total_years result = gross_wage Remaining Leaves Compensation EOSLEAVES 155 python result = employee.departure_reason_id code remaining_annual_leave_balance = employee.company_id.l10n_jo_annual_leave_type_id.get_allocation_data(employee).get(employee, False) if remaining_annual_leave_balance: employee_remaining_leaves = remaining_annual_leave_balance[0][1]['remaining_leaves'] else: employee_remaining_leaves = 0 deserved_leaves = version.l10n_jo_number_of_leave_days / 12 * payslip.date_to.month if employee_remaining_leaves >= deserved_leaves: diff = deserved_leaves else: diff = employee_remaining_leaves - deserved_leaves result = diff * (payslip._l10n_jo_get_gross_wage() / 30) End of Service Tax Deduction EOSTXD 160 python result = employee.departure_date and employee.departure_reason_id and employee.l10n_jo_is_eligible_for_eos code exemption_amount = payslip._rule_parameter('l10n_jo_eos_exemption') taxable_amount = EOSB - exemption_amount result = - payslip._l10n_jo_get_tax(taxable_amount) if taxable_amount > 0 else 0 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']