The Ledger
{{ account.name }} · {{ account.account_type | replace('_',' ') }}
{% include 'includes/ledger_nav.html' %}
{% with messages = get_flashed_messages(with_categories=true) %} {% for category, message in messages %}
{{ message }}
{% endfor %} {% endwith %} {# ===== Top summary card with sparkline ===== #}
{% if account.current_balance is not none %}${{ '{:,.2f}'.format(account.current_balance) }}{% else %}—{% endif %}
APR {% if account.apr %}{{ '{:.2f}'.format(account.apr) }}%{% else %}—{% endif %} Min {% if account.minimum_payment %}${{ '{:,.2f}'.format(account.minimum_payment) }}{% else %}—{% endif %} Alloc {% if account.attack_allocation %}${{ '{:,.0f}'.format(account.attack_allocation) }}{% else %}—{% endif %} Status {{ account.status }} {% if account.autopay_enabled %} Next autopay {{ account.autopay_next_date or '—' }} {% endif %}
{% if spark and spark|length > 1 %} {% endif %}
{% if account.notes %}

{{ account.notes }}

{% endif %}
{% if account.current_balance is not none and account.current_balance <= 5 and account.status == 'active' %}
{% endif %}
{# ===== Snapshot quick-add ===== #}
// Snapshot balance
{# ===== Edit form ===== #}
// Edit account
{# ===== Recent transactions ===== #}
// Recent transactions
{% if transactions %}
{% for t in transactions %} {% endfor %}
DateTypeDescription AmountSourceConf?
{{ t.tx_date }} {{ t.tx_type }} {{ t.description or '—' }} ${{ '{:,.2f}'.format(t.amount) }} {{ t.source }} {{ '✓' if t.confirmed else '·' }}
{% else %}
No transactions yet.
{% endif %}
{# ===== Snapshot history ===== #}
// Snapshot history
{% if snapshots %}
{% for s in snapshots %} {% endfor %}
WhenBalanceSourceNotes
{{ s.snapshot_at[:19] | replace('T',' ') }} ${{ '{:,.2f}'.format(s.balance) }} {{ s.source }} {{ s.notes or '' }}
{% else %}
No snapshots yet.
{% endif %}
{% include 'includes/today_panel.html' ignore missing %} {% include 'includes/active_timer_strip.html' ignore missing %}