Statements likely available to download
| Account | Type | Latest ingested | Age | Next expected |
|---|
Breakdown
| Account | Type | Statement date | Balance |
|---|---|---|---|
| Total | — | ||
Upcoming payments
Tiles start from each account's latest balance date, then subtract statement-known credit-card payments and flagged recurrent outflows, while also adding flagged recurrent income and transfers before each due date.
Income vs spending
Excludes transfers between your own accounts.
Period totals
Click a period to expand by section, then by category, then to individual transactions.
| Period | Income | Spending | Net |
|---|
Expenses by category
Category breakdown
Click a row to drill down: category → subcategory → rule → vendor → transaction. Subcategory rows can add rules; rule rows can edit them.
| Name | Count | Amount | Avg/mo |
|---|
Income by category
Income breakdown
Click a row to drill down: category → subcategory → rule → vendor → transaction. Subcategory rows can add rules; rule rows can edit them.
| Name | Count | Amount | Avg/mo |
|---|
Payroll taxes
Historical payroll withholding from ingested paystubs in the selected range.
Paystub history
| Pay date | Pay period | Gross pay | Total taxes | Federal | State | Social Security | Medicare | Net pay |
|---|
Liability outlook
Paystub stream projection
| Person | Employer | Observed through | Remaining pays | Projected gross pay | Projected federal | Projected state |
|---|
Forecast assumptions
Accounts
Balance over time
Spending by category
Recent transactions
| Date | Description | Category | Amount |
|---|
Monthly budget
A cash-flow style monthly budget. Recurring items are the same
every month. One-off items (tuition, holidays, insurance, ...)
hit in specific months and use a due-date-aware set-aside so
the sinking fund is ready by the time they come due.
Budgets are saved to data/budget.yaml.
History range
—
▸
Monthly cashflow across your data. Drag the handles to pick the window the category averages use. Widen it to smooth out irregularity, narrow it to focus on a recent period.
Income
▸
| Monthly | Monthly | Trend · hist avg | |||
|---|---|---|---|---|---|
| Total | — | hist avg — |
| Yearly | Months | Annual | Monthly | Trend · hist | |
|---|---|---|---|---|---|
| Total | — | — | hist — |
| Aggregate | — | — |
|---|
Not in this budget —
Recurring rules not in budget
Under-budgeted vs. history
Historical activity not budgeted
Expenses
▸
| Monthly | Monthly | Trend · hist avg | |||
|---|---|---|---|---|---|
| Total | — | hist avg — |
| Yearly | Months | Annual | Monthly | Trend · hist | |
|---|---|---|---|---|---|
| Total | — | — | hist — |
| Aggregate | — | — |
|---|
Not in this budget —
Recurring rules not in budget
Under-budgeted vs. history
Historical activity not budgeted
Savings
▸
| Monthly | Monthly | Rule | |||
|---|---|---|---|---|---|
| Total | — | — |
| Yearly | Months | Annual | Monthly | Rule | |
|---|---|---|---|---|---|
| Total | — | — | — |
| Aggregate | — | — |
|---|
Not in this budget —
Recurring investment transfers not in budget
12-month forecast
Projects cash balance month-by-month starting from the chosen forecast month. "Free cash" = cash minus any sinking-fund obligations still due. Savings transfers get their own recurring column, while "One-offs due" nets due income one-offs against expense and savings one-offs hitting that month. Rows in red flag months show where free cash would go negative.
| Month | Income | Expenses | Savings | One-offs due | Net | Cash balance | Sinking funds | Free cash |
|---|
Sinking fund balances
Month-end virtual balance per one-off expense or savings goal. Starting cash is applied to the earliest upcoming one-offs first, then the monthly reserve builds toward each next due hit. If any balance drops below zero the category is under-funded — raise the annual total or change the due months.
Per-account recurring cashflow
Net monthly cashflow per account implied by recurring rules
(recurrent: true in rules.yaml).
Income and expense are attributed to the account where the
transaction was observed. Transfers debit the source account
and credit the destination. Use this to spot accounts that
will chronically run low or accumulate cash if nothing else
changes. Independent of the budget rows above — always
reflects the raw recurring picture.
| Account | Income in | Expense out | Transfers in | Transfers out | Net / mo |
|---|
Invested balance over time
Tracks statement-end balances for investment accounts only.
Monthly investment activity
Uses contribution and withdrawal rows from investment statements within the selected range.
Investment accounts
| Family | Account | Institution | As of | Current balance | Change vs prior statement |
|---|
Recent investment activity
| Date | Family | Account | Type | Amount |
|---|
Transfers between your accounts
Matched source↔dest pairs live in collapsible sections per
rule in rules.yaml, grouped by transfer type.
Every ⚠ unpaired row
across every rule is consolidated into the
Unpaired transfers bucket at the top, sorted by
date, so potential new pairs are easy to spot at a glance.
Rows labelled
unilateral
are expected one-sided transfers — the counterpart account
has no data at that date (e.g. closed/not-yet-ingested
history) or the rule declares that side as having no
statement row — and are shown inline within each rule, not
in the Unpaired bucket.
Transactions
| Date | Account | Description | Category | Amount |
|---|
Uncategorized transactions
Groups lists distinct descriptions exactly. Clusters merges near-duplicate descriptions (e.g. vendor + varying txn-id suffix) so a single rule can cover them all. Graph shows bubbles spaced by text similarity — hover a bubble to light up its neighbors, scroll to adjust the hover radius, click to create a rule.