{% extends "base.html" %}{% block content %}

Payroll {{ period.year }}-{{ period.month|stringformat:"02d" }}

{{ period.company }} · {{ period.get_status_display }} · Payment: {{ period.get_payment_status_display }}{% if period.payment_reference %} · Ref: {{ period.payment_reference }}{% endif %}
Export CSV
{% if period.status == 'DRAFT' %}
{% csrf_token %}
{% endif %}{% if period.status == 'DRAFT' %}
{% csrf_token %}
{% elif period.status == 'REVIEWED' %}
{% csrf_token %}
{% elif period.status == 'APPROVED' %}
{% csrf_token %}
{% elif period.status == 'LOCKED' %}{% if period.payment_status == 'UNPAID' %}
{% csrf_token %}
{% csrf_token %}
{% else %}Payment posted · {{ period.paid_at }}{% endif %}{% endif %}
{% for r in records %}{% empty %}{% endfor %}
EmployeeGrossOTBonusOther Earn.Attendance Ded.Other Ded.LoanNet PayablePayslip
{{ r.employee }}{% if period.status == 'DRAFT' %}
+ Payroll adjustment
{% csrf_token %}
{% if r.adjustments.all %}
Existing adjustments:{% for a in r.adjustments.all %} {{ a.adjustment_type }} {{ a.amount }}{% if a.reference_no %} ({{ a.reference_no }}){% endif %}{% if not forloop.last %};{% endif %}{% endfor %}
{% endif %}
{% endif %}
{{ r.gross_salary }}{{ r.overtime_amount }}{{ r.bonus_amount }}{{ r.other_earnings }}{{ r.attendance_deduction }}{{ r.deduction_amount }}{{ r.loan_recovery }}{{ r.net_payable }}View
No payroll records. Calculate the period first.
{% endblock %}