The LedgerMy finances

A cascading budget & retirement planner

$
Everything below recalculates as you type.
Start with a salary.

Type an annual gross salary in the box above and the whole
dashboard — budget, retirement projection, and KPIs — fills itself in.

No salary yet? Put your current checking balance in the Active Plan tab instead, then drop your bank statements into the importer there.

Assumptions & methodology

Taxes are estimated per person as a single filer: 401(k) and HSA contributions reduce taxable income; a $16,100 standard deduction and 2026 federal brackets are applied, plus 7.65% FICA and an editable flat state rate. 2026 limits used: 401(k) $24,500 · Roth IRA $7,500 · HSA $4,400 self-only. Employer match: 50% of the first 10% contributed. Projections assume end-of-year contributions, constant limits, and returns of 7% (tax-advantaged) / 8% (taxable), roughly inflation-adjusted. Insurance, HYSA, car payment and utilities are optional and off by default. Portfolio glide-path targets follow Vanguard's Target Retirement approach (~90% equity through your 30s, easing to ~50% by 65) with a 60% US / 40% international equity split; ranges are guidance, not personal advice. The Active Plan ledger and portfolio holdings are entered manually. Imported statements are parsed entirely inside your browser — no file is ever uploaded anywhere — and stored in this browser's local storage alongside the rest of your inputs. PDF parsing is a best-effort read of the statement's text layer, and screenshots are read by on-device OCR; both can misread a row, so low-confidence rows are flagged for review. Where a statement prints a running balance, each row's amount is checked against the change in that balance and rebuilt from it when the two disagree — unless the balance column itself looks unreliable, in which case nothing is rewritten. Every import is then reconciled against the statement's own beginning and ending balance, and any file that fails to reconcile is flagged rather than silently accepted. CSV and QFX downloads bypass all of this and import exactly. Categorization starts from a merchant keyword list and learns from every correction you make. Spending targets compare against your own Budget Cascade weights and your trailing average across imported months; they are budgeting guidance, not tax or investment advice. Planning tool, not tax or investment advice.