Payment To Beneficiary:
{{ record.worker.name }}
{% if is_advance %}Advance{% elif is_loan %}Loan{% elif is_salary %}Salary{% endif %} Payslip No. #{{ record.id|stringformat:"06d" }}
{% if is_advance %}Advance{% elif is_loan %}Loan{% elif is_salary %}Salary{% endif %} Payslip
{{ record.date|date:"F j, Y" }}
Payer: Fox Fitt
Beneficiary Details:
{{ record.worker.name }}
ID Number: {{ record.worker.id_number }}
Phone: {{ record.worker.phone_number|default:"—" }}
Net Payable Amount:
R {{ record.amount_paid|floatformat:2 }}
PAID
{% if is_advance %}
Advance Details
| Date |
Type |
Description |
Amount |
| {{ advance_adj.date|date:"M d, Y" }} |
ADVANCE PAYMENT |
{{ advance_adj.description|default:"Salary advance" }} |
R {{ advance_adj.amount|floatformat:2 }} |
| Amount Advanced: |
R {{ advance_adj.amount|floatformat:2 }} |
{% elif is_loan %}
Loan Details
| Date |
Type |
Description |
Amount |
| {{ loan_adj.date|date:"M d, Y" }} |
LOAN PAYMENT |
{{ loan_adj.description|default:"Worker loan" }} |
R {{ loan_adj.amount|floatformat:2 }} |
| Loan Amount: |
R {{ loan_adj.amount|floatformat:2 }} |
{% elif is_salary %}
{# === SALARY PAYMENT DETAIL === #}
{# Manager / fixed-salary monthly pay. Clean single-line #}
{# layout — no empty work-log table, no R 0.00 base-pay row. #}
Salary Details
| Date |
Type |
Description |
Amount |
| {{ salary_adj.date|date:"M d, Y" }} |
SALARY |
{{ salary_adj.description|default:"Monthly salary" }} |
R {{ salary_adj.amount|floatformat:2 }} |
| Salary Amount: |
R {{ salary_adj.amount|floatformat:2 }} |
{% else %}
Work Log Details (Attendance)
| Date |
Project |
Notes |
Amount |
{% for log in logs %}
| {{ log.date|date:"M d, Y" }} |
{{ log.project.name }} |
{{ log.notes|default:"—"|truncatechars:50 }} |
R {{ record.worker.daily_rate|floatformat:2 }} |
{% empty %}
|
No work logs in this period.
|
{% endfor %}
| Base Pay Subtotal |
R {{ base_pay|floatformat:2 }} |
{% if adjustments %}
Adjustments (Bonuses, Deductions, Loans)
| Date |
Type |
Description |
Amount |
{% for adj in adjustments %}
| {{ adj.date|date:"M d, Y" }} |
{{ adj.get_type_display|upper }}
|
{{ adj.description }} |
{% if adj.type in deductive_types %}- R {{ adj.amount|floatformat:2 }}{% else %}+ R {{ adj.amount|floatformat:2 }}{% endif %}
|
{% endfor %}
{% endif %}
| Base Pay: |
R {{ base_pay|floatformat:2 }} |
{% if adjustments %}
| Adjustments Net: |
{% if adjustments_net >= 0 %}+ R {{ adjustments_net|floatformat:2 }}{% else %}- R {{ adjustments_net_abs|floatformat:2 }}{% endif %}
|
{% endif %}
| Net Payable: |
R {{ record.amount_paid|floatformat:2 }} |
{% endif %}
This is a computer-generated document and does not require a signature.
Payer: Fox Fitt © {% now "Y" %}