- Recurring service: auto-detects direct debits/subscriptions from CSV imports using frequency analysis; manual toggle in transaction detail drawer - Subscriptions page (/subscriptions): groups recurring payments with monthly cost equivalents, next-payment badges, and re-scan trigger - UK Tax page (/tax): payslips/P60 entry, income tax + NI + CGT + dividend tax calculations, configurable rate tables per tax year (pre-seeded 2024/25 and 2025/26), editable in-app so Budget changes need no rebuild - Migration 0006: tax_rate_configs, tax_profiles, payslips, manual_cgt_disposals with RLS; seeds 2025/2026 rate configs for existing users - Chart tooltip fix: all Recharts tooltips now use TOOLTIP_STYLE constant so they render correctly across all dark/light themes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
21 lines
1,014 B
Python
21 lines
1,014 B
Python
from app.db.models.user import User
|
|
from app.db.models.session import Session
|
|
from app.db.models.account import Account
|
|
from app.db.models.category import Category
|
|
from app.db.models.transaction import Transaction
|
|
from app.db.models.budget import Budget
|
|
from app.db.models.asset import Asset
|
|
from app.db.models.asset_price import AssetPrice
|
|
from app.db.models.investment_holding import InvestmentHolding
|
|
from app.db.models.investment_transaction import InvestmentTransaction
|
|
from app.db.models.currency import Currency, ExchangeRate
|
|
from app.db.models.net_worth_snapshot import NetWorthSnapshot
|
|
from app.db.models.audit_log import AuditLog
|
|
from app.db.models.tax import TaxRateConfig, TaxProfile, Payslip, ManualCGTDisposal
|
|
|
|
__all__ = [
|
|
"User", "Session", "Account", "Category", "Transaction", "Budget",
|
|
"Asset", "AssetPrice", "InvestmentHolding", "InvestmentTransaction",
|
|
"Currency", "ExchangeRate", "NetWorthSnapshot", "AuditLog",
|
|
"TaxRateConfig", "TaxProfile", "Payslip", "ManualCGTDisposal",
|
|
]
|