{% extends "base.html" %} {% block title %}Settings{% endblock %} {% block page_title %}Settings{% endblock %} {% block content %}
Teller Sync
Connect US bank accounts via Teller
Schwab Sync
Connect Charles Schwab directly
Plaid Sync
12,000+ US banks · CC billing dates
Profile
Name, currency, timezone, AI model
Recurring
Automate recurring income & expenses
Import
Bulk import from CSV file
Security
Change password
Audit Log
Login, 2FA, and sync events
System Logs
Application log viewer
Two-Factor Authentication (2FA) {% if current_user.totp_enabled %} Enabled {% else %} Disabled {% endif %}
{% if current_user.totp_enabled %}

2FA is active. Each login requires a 6-digit code from your authenticator app.

{% else %}

Protect your account with a time-based one-time password (TOTP). Use Google Authenticator, Authy, or any compatible app.

Enable 2FA {% endif %}
Maintenance

Recalculate every account balance from scratch using all recorded transactions. Run this after bulk imports or manual adjustments to make sure balances are correct.

Budget Alert Emails
{% if smtp_ok %}
Email alerts enabled → {{ alert_email }}

An email is sent automatically when a budget category hits 80% or 100% of its monthly limit.

{% else %}
Email alerts not configured

Add these to your .env file to enable budget alert emails:

SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=you@gmail.com
SMTP_PASSWORD=your-app-password
ALERT_EMAIL=you@gmail.com
{% endif %}
{% if upcoming %}
Upcoming Recurring (next 30 days)
{% for item in upcoming[:10] %} {% endfor %}
DateDescriptionTypeAmount
{{ item.date.strftime('%b %d') }} {{ item.description }} {{ item.type | title }} {{ item.amount | currency }}
{% endif %} {% endblock %}