L E D G E R
Welcome back
Enter your passcode to continue
Wrong passcode
Übersicht

Overview

{{ monthLabelLong }}
{{ monthLabelLong }}
This year · {{ year }}
Net Wealth
{{ yNetWealth }}
{{ yNetWealthSub }}
Avg Income
{{ yAvgIncome }}
{{ yAvgLabel }}
Avg Spending
{{ yAvgSpending }}
{{ yAvgLabel }}
Avg Savings
{{ yAvgSavings }}
{{ yAvgLabel }}
Selected month · {{ monthLabelLong }}
Net Wealth
{{ mNetWealth }}
end of month
Income
{{ kIncome }}
this month
Spending
{{ kSpending }}
this month
Savings Rate
{{ kSaveRate }}
{{ kSavedSub }}
Net Wealth · {{ year }}
{{ yNetWealth }}
{{ owWealthEl }}
{{ owTip.title }}
{{ r.label }}{{ r.val }}
Spending by Category · {{ year }}
{{ ovDonutEl }}
{{ ovDonutLabel }}
{{ ovDonutVal }}
{{ ovDonutPct }}
{{ d.name }}{{ d.pct }}
Accountsmanage
{{ a.name }}SAVINGS
{{ a.iban }}
{{ a.balance }}
Recent Activity
{{ t.title }}
{{ t.meta }}
{{ t.amountStr }}

Monthly

Categories & day-by-day · click a day to assign categories
{{ monthLabelLong }}
Spent
{{ catTotalSpent }}
Income
{{ kIncome }}
vs avg month
{{ catVsAvg }}
By category
{{ c.name }}
{{ c.amount }}
{{ s.name }}{{ s.amount }}
No spending this month.
By day
{{ d.day }}
{{ d.wd }}
{{ d.count }} tx
+{{ d.inc }}
{{ d.exp }}
{{ d.caret }}
{{ t.title }}
{{ t.account }}
{{ t.amountStr }}
No transactions this month.

Yearly · {{ year }}

Monthly totals by category
Income
Source {{ m }} Total
{{ r.name }} {{ c.str }} {{ r.total }}
Spending
Category {{ m }} Total
{{ r.name }}{{ r.caret }} {{ c.str }} {{ r.total }}
{{ s.name }} {{ c.str }} {{ s.total }}
Summary & Savings
{{ m }} Total
{{ r.name }} {{ c.str }} {{ r.total }}

Transactions

{{ txCount }} transactions+{{ txInSum }}−{{ txOutSum }}
{{ g.label }}
{{ g.total }}
{{ t.title }}
{{ t.meta }}
{{ t.amountStr }}
{{ t.fullDesc }}
Recategorize:
Joint split — my share: counts as {{ t.splitPct }}% in your totals
No transactions match your filters.
Insights

Trends · {{ year }}

Income vs Spending
{{ ieChartEl }}
{{ ieTip.title }}
{{ r.label }}{{ r.val }}
IncomeSpendingHover for detail · click a month to drill in
Spending by Category
{{ donutEl }}
{{ donutCenterLabel }}
{{ donutCenterVal }}
{{ donutCenterPct }}
{{ d.name }}{{ d.pct }}
Click a category for its monthly breakdown
{{ drillCat }}
Year total
{{ drillTotal }}
Avg / month
{{ drillAvg }}
{{ d.short }}
Spending — categories & subcategories
Inner ring: main categories · outer ring: subcategories · hover to inspect
{{ sunburstEl }}
{{ sunSubLabel }}
{{ sunLabel }}
{{ sunVal }}
{{ d.name }}{{ d.amount }}
Net Wealth
{{ wealthChartEl }}
{{ wealthTip.title }}
{{ r.label }}{{ r.val }}
Savings Rate
{{ srChartEl }}
{{ srTip.title }}
{{ r.label }}{{ r.val }}
Category trends
{{ s.name }}
CHF {{ s.total }}
{{ s.el }}
{{ s.hoverMonth }} {{ s.hoverVal }}
{{ mm }}
Cash flow
Where your money moves · income flows in, spending & savings flow out
{{ sankeyNet }}
Not enough data this year for a flow chart.
{{ sankeyChartEl }}
{{ flowTip.name }}
{{ flowTip.amount }} · {{ flowTip.pct }}% of income

Budget

Planned vs actual · {{ budgetScopeLabel }}
{{ monthLabelLong }}
Planned total
{{ budgPlanned }}
Actual spent
{{ budgActual }}
Remaining
{{ budgRemaining }}
CategoryPlannedActualUsage
{{ b.name }}
{{ b.actual }}
{{ b.pct }}
Planned amounts are saved per category and apply to every month.
Planned · {{ year }}
{{ budgYPlanned }}
Actual · {{ year }}
{{ budgYActual }}
Deviation from target
{{ budgYDev }}
CategoryPlannedActualDeviationPaceMonthly
{{ b.name }}
{{ b.planY }}
{{ b.actualY }}
{{ b.dev }}
{{ b.pace }}
Dashed line = your monthly target. Bars turn red in months you went over.

Savings & Wealth · {{ year }}

In savings accounts
{{ savTotal }}
Net saved · {{ year }}
{{ savNet }}
Avg savings rate
{{ savRate }}
Savings balance over time
all accounts marked as savings · spans every year of data
Mark an account as savings to track its balance.
{{ savTlChartEl }}
{{ savTlTip.title }}
{{ r.label }}{{ r.val }}
Net to savings per month · {{ year }}
{{ m.short }}
Savings accounts
{{ a.name }}
{{ a.iban }}
{{ a.balance }}
{{ a.change }} this year
No accounts marked as savings. Mark one in Settings.

Categories & Rules

Manage your categories, their subcategories, and the rules that auto-assign them.
How categorization works
1. Bank category. Your CSV exports already include a category for almost every transaction — that's why everything is sorted without any rules. It's the starting point.
2. Your rules. A rule (keyword → category) overrides the bank category whenever the description contains that keyword. Rules are listed below — empty until you add one.
3. Manual edits. Re-categorizing a single transaction (in Transactions / Monthly) overrides everything for that one entry.
Categories
{{ catCountLabel }}
{{ c.name }}
{{ c.kind }} {{ c.count }} tx
Subcategories: {{ sub.name }}{{ sub.count }} none yet
Rules
Keyword (contains)CategorySubcategoryMatchesActions
{{ r.count }}
No rules yet. Add one above, or open a transaction and choose “Always categorize as”.
{{ aiMsg }}
Estimate · City of Zürich

Taxes

Net income / year
CHF
auto from your income ({{ taxAutoIncome }})
Project to full year {{ taxAnnualizeNote }}
Deductions (net → taxable)
%
AHV/PK/3a etc. — rule of thumb 15–20% for a single employee
Estimated taxable income {{ taxTaxable }}
Civil status
Church tax
Estimated income tax / year
{{ taxIncomeTax }}
effective rate {{ taxIncomeRate }} · set aside {{ taxIncomeMonthly }} / month
{{ r.label }}{{ r.val }}
Total income tax{{ taxIncomeTax }}
Simplified tariffs (federal + canton ZH base tariff × City of Zürich multiplier 217%). Deductions, wealth tax and social deductions are not included — your actual bill may differ.
Estimated military exemption tax / year
{{ taxWpe }}
{{ taxWpeSubline }}
Liable for exemption tax
Rate · 3% of net income (deductions don't apply){{ taxWpeRaw }}
MinimumCHF 400
Exemption tax due{{ taxWpe }}
The military service exemption tax (Wehrpflichtersatz) is 3% of taxable income, minimum CHF 400, for those not performing service — typically until age 37. Days served reduce it pro rata; this estimate assumes none.

Settings

Import transactions
Add bank CSV exports. Formats are auto-detected (Migros/PostFinance with categories, and generic single-amount exports like Neon/Hypi). Duplicates are skipped; the account is matched by IBAN. Stored locally ({{ dbKind }}).
…or paste CSV text directly:
{{ importMsg }}
Accounts
Define accounts by IBAN. Type and opening balance drive savings tracking and balances.
{{ a.name }}
{{ a.iban }} · {{ a.count }} tx
opening
My share%
Partner IBAN(s)
Joint account: expenses count at your share ({{ a.sharePct }}%). Your own transfers in net to zero; deposits from the partner IBAN(s) are tracked as Partner-Einzahlung (not income). Net wealth counts {{ a.sharePct }}% of the balance.
Joint account — who paid in
Contributions and your share of spending per joint account.
{{ j.name }}
You paid in{{ j.mine }}
Partner paid in{{ j.partner }}
Balance (you − partner){{ j.diff }}
Total spent{{ j.spentTotal }}
Your share of spending ({{ j.sharePct }}%){{ j.myShareSpent }}
Categories & rules
Categories, their subcategories, and auto-assign rules now live on their own page.
Appearance
Choose a theme.
{{ t.label }}
{{ t.check }}
Passcode
{{ passStatus }} Data is stored locally in this browser only.
Data
{{ dataStatus }}
Backup includes everything: transactions, accounts (incl. joint settings), categories & subcategories, rules, per-transaction splits, budgets, tax assumptions and theme. Restoring replaces the current data.