{% include "_pwa_head.html" %}
{% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} {% for category, message in messages %} {% endfor %} {% endif %} {% endwith %}
Clear
Exports use the current search and branch filters.
Active Staff Count
{{ staff_count }}
Salary Total
{{ '%.2f'|format(salary_total|float) }}
Other Components
{{ '%.2f'|format(deduction_total|float) }}
Total Payable
{{ '%.2f'|format(payable_total|float) }}
Resigned Staff
{{ resigned_count }}
Add Staff Member
Total payable is calculated as Salary + ESI + PF + Room Rent.
Active Staff List
{% if staff_rows %} {% for row in staff_rows %} {% endfor %} {% else %} {% endif %}
No Name Contact Branch Salary ESI PF Room Rent Joined Date Total Payable Action
{{ loop.index }} {{ row.staff_name }} {{ row.contact_number }} {{ row.branch_name }} {{ '%.2f'|format((row.salary or 0)|float) }} {{ '%.2f'|format((row.esi or 0)|float) }} {{ '%.2f'|format((row.pf or 0)|float) }} {{ '%.2f'|format((row.room_rent or 0)|float) }} {{ row.joined_date.strftime('%Y-%m-%d') if row.joined_date else '' }} {{ '%.2f'|format(row.total_payable|float) }}
Set resigned date and save to move this staff member to the resigned list.
No staff records found
Resigned Staff List
{% if resigned_staff_rows %} {% for row in resigned_staff_rows %} {% endfor %} {% else %} {% endif %}
No Name Contact Branch Salary ESI PF Room Rent Joined Date Resigned Date Total Payable Action
{{ loop.index }} {{ row.staff_name }} {{ row.contact_number }} {{ row.branch_name }} {{ '%.2f'|format((row.salary or 0)|float) }} {{ '%.2f'|format((row.esi or 0)|float) }} {{ '%.2f'|format((row.pf or 0)|float) }} {{ '%.2f'|format((row.room_rent or 0)|float) }} {{ row.joined_date.strftime('%Y-%m-%d') if row.joined_date else '' }} {{ row.resigned_date.strftime('%Y-%m-%d') if row.resigned_date else '' }} {{ '%.2f'|format(row.total_payable|float) }}
Clear resigned date and save if this staff member should move back to the active list.
No resigned staff records found