{% extends "base.html" %} {% block title %}Invoices · InvoiceGuard{% endblock %} {% block content %}
Outstanding
{{ fmt(totals.outstanding) }}
sent + overdue + partially-paid invoices
Overdue
{{ fmt(totals.overdue) }}
needs escalation
Collected
{{ fmt(totals.collected) }}
paid invoices
{% if totals.currencies > 1 %}

Totals mix {{ totals.currencies }} currencies — shown as raw cent sums.

{% endif %}
{% if invoices %} {% for inv in invoices %}
{{ inv.client_name }}
{{ inv.kind }} {{ inv.project_title }} #{{ inv.id }}
{{ fmt(inv.amount_cents, inv.currency) }} {% if inv.paid_cents %}{% endif %}
{{ inv.status }}{% if inv.paid_late %} · late{% endif %}
{% if inv.due_date %} {{ inv.due_date[:10] }} {% if inv.days_overdue %}{{ inv.days_overdue }}d overdue{% endif %} {% else %}—{% endif %}
{% if inv.status in ('sent', 'overdue', 'partially-paid') %} {% if inv.stage %}{{ stage_display[inv.stage] }} {% else %}none{% endif %} {% else %}—{% endif %}
{% if inv.stripe_url and inv.status in ('sent', 'overdue', 'partially-paid') %} Pay {% endif %} Details
{% endfor %} {% else %}
No invoices{% if active != 'all' %} with status “{{ active }}”{% endif %}
Invoices created from the InvoiceGuard CLI will appear here.
{% endif %}
{% endblock %}