{# Active-filter chips — each removes itself by swapping to a narrower URL. #} {% if chips %}
{% for chip in chips %} {{ chip.label }} {% endfor %} Clear all
{% endif %} {% if not page.total and not chips %} {# First-run hint: an empty database with no filters applied (spec FR10.1). #}

No transactions yet. Import your history from a legacy abn-analyst database with:

abn-combined migrate-legacy /path/to/abn_analyst.db

…or use the Upload or Download tabs.

{% endif %}

{% if page.total %} Showing {{ page.start_index }}–{{ page.end_index }} of {{ page.total }} transactions {% elif chips %} No transactions match these filters. {% endif %}

{% if page.total %}
Transactions: {{ page.total }} Total: {{ '%.2f'|format(summary.total_amount) }} {% if summary.date_from and summary.date_to %} Date range: {{ summary.date_from.isoformat() }} {% if summary.date_to != summary.date_from %} – {{ summary.date_to.isoformat() }}{% endif %} {% endif %}
{% else %}
No transactions{% if chips %} match these filters{% endif %}.
{% endif %} {% macro sort_th(column, label, extra_class="") %} {% set state = filter.sort_state_for_column(column) %} {{ label }} {% if state == 'asc' %} {% elif state == 'desc' %} {% else %} {% endif %} {% endmacro %}
{{ sort_th('date', 'Date') }} {{ sort_th('description', 'Description') }} {{ sort_th('amount', 'Amount', 'num') }} {{ sort_th('category', 'Category') }} {{ sort_th('tags', 'Tags') }} {% for row in rows %} {% include "_transactions_row.html" %} {% else %} {% endfor %}
AccountSource
Nothing here.
{% if page.total %}
{{ page.total }} transaction{{ 's' if page.total != 1 else '' }} {{ page.start_index }}–{{ page.end_index }} shown
{% endif %} {% if page.pages > 1 %} {% endif %}