{% extends "base.html" %} {% block content %} {% with messages = get_flashed_messages(with_categories=true) %} {% for category, message in messages %}
{{ message }} {% if category == 'success' %} Review Now {% endif %}
{% endfor %} {% endwith %}
⬆️ Import Statement

Supports CSV exports from your bank or credit union. PDF import only works if the PDF has selectable text — scanned statements won't work.

Click to choose a file, or drag and drop here

PDF or CSV

How to export your statements ▾
  • WestConsin Credit Union: Log in → select your account → Download/Export → choose CSV → pick date range
  • Most other banks: Log in → Account Details or Transaction History → Export / Download → choose CSV
  • Affirm: affirm.com → Account → Payment History → Export
  • Klarna: klarna.com → Purchases → Export CSV
  • Afterpay: afterpay.com → Orders → Export

If a CSV imports 0 transactions, let Claude know — the column format varies by bank and may need a quick fix.

{% if spending_by_cat %}
📊 {{ week_label }} Spending
{% for cat, amt in spending_by_cat.items() %} {% set budgeted = budgeted_by_cat.get(cat, 0) %} {% set remaining = budgeted - amt %} {% set over = budgeted > 0 and amt > budgeted %} {% set pct = [(amt / budgeted * 100)|int, 100]|min if budgeted > 0 else 100 %} {% endfor %}
CategorySpentBudgetedRemaining
{{ cat }} ${{ amt | money }} {% if budgeted %}${{ budgeted | money }}{% else %}{% endif %} {% if budgeted %} {% if over %} -${{ (amt - budgeted) | money }} over {% else %} ${{ remaining | money }} {% endif %} {% else %} {% endif %}
Total ${{ spending_by_cat.values() | sum | money }} {% if budgeted_by_cat %}${{ budgeted_by_cat.values() | sum | money }}{% endif %}
{% endif %}
{% if filter_from or filter_to or filter_cat or filter_search %} Clear {% endif %}
{% if transactions %} {% for t in transactions %} {% endfor %}
Date Description Account Amount Category Notes
{{ t.date }} {{ t.description }} {{ t.account }} ${{ t.amount | money }} {% if t.category %} {{ t.category }}{% if t.subcategory %} › {{ t.subcategory }}{% endif %} {% endif %} {{ t.notes }} Edit
{% else %}

No transactions yet. Import a statement to get started.

{% endif %} {% endblock %}