{% extends "base.html" %} {% load humanize %} {% load crispy_forms_tags %} {% block page_title %}Quick Payment{% endblock %} {% block content %}

Bursar Quick Payment

Search learner by name, student ID, guardian or phone. Record payment without moving through many pages.

1. Find learner

All Bills
{% if query and students %}
{% for student in students %}

{{ student.student_name }}

{{ student.display_student_id }} {{ student.current_class.code|default:student.current_class.name }} {{ student.stream.stream|default:"" }}

Guardian: {{ student.guardian }} · {{ student.contact }}

Select learner
{% endfor %}
{% elif query %}
No learner found. Check spelling, student ID or guardian phone.
{% endif %}
{% if selected_student %}

2. Learner balance

{{ selected_student.student_name }}

{{ selected_student.display_student_id }} · {{ selected_student.current_class.code|default:selected_student.current_class.name }} {{ selected_student.stream.stream|default:"" }}

Total billedUGX {{ totals.total_billed|floatformat:0|intcomma }}
Total paidUGX {{ totals.total_paid|floatformat:0|intcomma }}
BalanceUGX {{ totals.balance|floatformat:0|intcomma }}
Open full profile

Recent payments

{% for payment in recent_payments %}
UGX {{ payment.amount|floatformat:0|intcomma }}
{{ payment.payment_date }} · {{ payment.payment_method }} · {{ payment.reference_no }}
Receipt
{% empty %}
No payments yet for this learner.
{% endfor %}

3. Select bill and record payment

{% if bills %}
{% if selected_bill %}
Selected Bill #{{ selected_bill.id }} · Total UGX {{ selected_bill.total_amount|floatformat:0|intcomma }} · Paid UGX {{ selected_bill.amount_paid|floatformat:0|intcomma }} · Balance UGX {{ selected_bill.balance|floatformat:0|intcomma }}
{% if not selected_bill_has_balance %}
This bill is fully paid. Select another bill or open the learner’s full bill page.
{% else %}
{% csrf_token %} {{ payment_form|crispy }} Open Receipt Page
{% endif %} {% endif %} {% else %}
No bill found for this learner. Create a bill first before recording payment.
{% endif %}
{% endif %} {% endblock %}