A local ledger that refuses to show numbers it cannot prove.
Add statements
Add statements
Drop statement PDFs anywhere on this page
One request per file, in order. Each statement is reconciled against its own
printed totals before a single transaction is booked.
Reading the local ledger…
Month by month
One column per transaction month — when the money moved, which
is not the statement month the table's filter below means. Money in above the
zero line, money out below it, on one shared scale. A month that ended up has
the taller half above.
In, above the lineOut, below the line
Every month as figures, including the totals
What was spent, by category
The hatched slice is not a category: it is the lines no rule
claimed and nobody overruled. It is drawn differently, listed by name, and
never called "other" — a catch-all bucket is how a breakdown that covers a
third of a ledger comes to look complete. Small slices are drawn small;
nothing here is inflated to be visible, which is what the list beside the
chart is for. A legend percentage is the share of spending amount,
not the share of transactions. When a bucket is switched off, the visible wedges and
visible percentages are rebalanced against the visible spending; the full-ledger
coverage statement below the chart still reports both amount and line count.
Transactions
Every booked line, worded exactly as the bank printed it. A category shown as
— is a line no rule claimed, and there is no
catch-all bucket for it to fall into: it stays empty rather than being swept into an
"other" that would look, in any chart, exactly like a category something matched on
purpose. Each row says whether a rule or a person answered.
The three figures under the controls are the bank leg — what these
lines did to this account's balance, transfers included. The four at the top of the
page read the income and expense legs instead, and leave out transfers
and the opening balance. Different questions, so
the two line up only while this list holds the lines those four count
— which it does before you filter anything, on a ledger with no transfers marked.
Large flows
Statements
Every file that reached the archive, newest period first. A statement showing
0 transactions is in the archive and not in the ledger:
none of its money is in the figures at the top of this page. Delete asks the server
what it would remove and shows you that first; nothing is written until you confirm.
Review queue
Diagnostics: table rows, schema version, where the data lives