{% extends 'base.html' %} {% load branch_tags %} {% block title %}Salary Sheet{% endblock %} {% block content %}

Monthly Salary Sheet

{{ month_label }} · {{ branch_ctx.active_label }}
CSV PDF
{% include 'partials/scope_banner.html' %}
Total Gross

{{ totals.gross|floatformat:2 }}

Deductions (absence + advance + other)

{{ totals.absence|add:totals.advance|add:totals.other|floatformat:2 }}

Net Payable

{{ totals.net|floatformat:2 }}

Paid / Pending

{{ totals.paid|floatformat:0 }} / {{ totals.pending|floatformat:0 }}

{% csrf_token %} {% if missing_count and payslips %}{{ missing_count }} employee(s) not on the sheet yet{% endif %}
{% if payslips %}
{% if counts.draft %}
{% csrf_token %}
{% endif %} {% if counts.draft or counts.approved %} {% endif %}
{% endif %}
{% if branch_ctx.is_multi %}{% endif %} {% for p in payslips %} {% if branch_ctx.is_multi %}{% endif %} {% empty %}{% endfor %} {% if payslips %}{% endif %}
EmployeeBranchDaysGrossAbsenceOTBonusAdvanceOtherNet SalaryStatus
{{ p.employee.full_name }}
{{ p.employee.employee_code }}
{{ p.branch_id|branch_label:branch_map }} {{ p.present_days|add:p.late_days }} / {{ p.deduction_days|floatformat:"-1" }} {% if p.unmarked_days %}{% endif %} {{ p.gross_salary|floatformat:2 }} {{ p.absence_deduction|floatformat:2 }} {{ p.overtime_amount|floatformat:2 }} {{ p.bonus|floatformat:2 }} {{ p.advance_deduction|floatformat:2 }} {{ p.other_deduction|floatformat:2 }} {{ p.net_salary|floatformat:2 }} {{ p.get_status_display }} {% if not p.is_locked %}{% endif %}
No salary sheet for {{ month_label }} yet. Click Generate Salary Sheet above.
TOTAL{{ totals.gross|floatformat:2 }}{{ totals.absence|floatformat:2 }} {{ totals.overtime|floatformat:2 }}{{ totals.bonus|floatformat:2 }}{{ totals.advance|floatformat:2 }} {{ totals.other|floatformat:2 }}{{ totals.net|floatformat:2 }}
Days = attended / deducted. means some working days have no attendance record (counted as present unless you change this in Holidays & Rules).
{% endblock %}