Personal finance · one ledger

One ledger for your groceries and your portfolio.

Salary in GBP, spending in EUR, dividends in USD. Sverto records a coffee and an ETF purchase the same way, as entries in one register, so your net worth finally includes everything.

The alternative is what you do now: a budgeting app that refuses investments and a portfolio tracker that refuses rent, with a spreadsheet in the middle that you reconcile by hand at the end of every month.

  • Free while we’re gathering feedback
  • AGPL-3.0, self-host it instead
  • Web + Android

What it replaces

  • Budgeting appknows rent, refuses ETFs
  • Portfolio trackerknows holdings, refuses groceries
  • networth-2026.xlsxknows both, badly
Svertoone ledger, one reference currency

Import your statements and let AI read them, connect your bank accounts through Open Banking, or link your investment accounts with connectors. Manual entry is a first-class path, not a fallback.

Friday 24 July · net worth

€221,483.06+€3,142.18+1.44% over 30 days

€1,180.42 of that you saved. €1,961.76 your assets earned. Why ▾

Cash · 3 currencies

€18,904.11

EUR · GBP · USD

Investments

€96,318.72

+€11,247.08 unrealised

Spent in July

−€2,847.19

−4.1% vs June

Needs you

8

6 imported · 2 drafted by Myra

Illustrative ledger. Not a real customer account.

01 · The problem

Your money lives in one place. Your tools pretend it doesn’t.

Budgeting apps won’t touch your portfolio. Portfolio trackers won’t touch your rent. So you keep two apps open and a spreadsheet between them, and once a month you spend an hour making three numbers agree. That’s a job, not a feature.

Budgeting apps

Track the groceries, ignore the portfolio.

An ETF purchase is filed as a transfer to nowhere. Your net worth stops at the brokerage door, and the largest number in your life is the one the app can't see.

Portfolio trackers

Compute your gains, know nothing about rent.

They will tell you your XIRR to four decimals and cannot tell you whether you can afford next month. Dividends land as income in a system with no concept of income.

Everything American

One currency, one country, one bank.

Earn in GBP, spend in EUR, hold USD dividends and the model breaks. Or multi-currency turns up as a paid tier bolted onto a single-currency core, converting at today's rate as if history hadn't happened.

The real competitor

Not another app. It’s the two-app stack plus the spreadsheet you already maintain, and the hour a month you spend making them agree.

02 · How it works

One ledger. Every number derived from it, live.

Every financial event, whether that’s a coffee or an ETF purchase with its dealing fee, is one transaction made of signed entries that sum to zero. Nothing else gets stored. Balances, cost basis, gains, dividends and net worth are computed from those entries every time you look.

What you record

24 Jul 2026

Sell 12 VWCE.DE @ €112.40

Trading 212 · Invest account · fee €1.00

Entries

  • Trading 212 · cash+€1,347.80
  • VWCE.DE · units−12.0000
  • Fees & charges · expense+€1.00

Units out equals cash in plus the fee. The entries balance, or the transaction doesn’t save.

Account balance

€3,562.40

Trading 212 cash, summed from every entry that ever touched it. No stored balance to drift.

Realised gain

€218.00

These 12 units came from your November 2023 purchase, the oldest you still held. Correct that purchase’s fee and this figure re-derives with it.

Net worth · 24 Jul

€221,483.06

Units became cash at the same price, so only the fee moved the total. One point on the chart, recomputed, not adjusted.

Fix the past, and the present fixes itself.

Correct a fee from two years ago and every chart that depended on it corrects with it, because nothing was ever cached. No spreadsheet to update afterwards.

03 · Multi-currency

A currency is just an asset.

Not a premium add-on, not a display setting. GBP, EUR, USD and your ETF units are the same kind of thing to the ledger, which is why converting between them is arithmetic rather than a migration.

Everything converts into your reference currency at the rate that applied on the day it happened. March’s salary is still what March’s salary was worth; it doesn’t get rewritten every time the pound moves.

144

currencies, all equal

€0

extra for using more than one

July · as recorded

In EUR

Salary · Revolut GBP

+£3,523.80at 0.8390 GBP/EUR · 01 Jul

+€4,200.00

Freelance invoice #204 · Wise

+£950.00at 0.8412 GBP/EUR · 09 Jul

+€1,129.34

Freelance invoice #205 · Wise

+£950.00at 0.8567 GBP/EUR · 24 Jul

+€1,108.91

Rent & groceries · N26

−€4,257.2724 Jul · reference currency

Dividend · VUSA · Trading 212

+$182.40at 1.0868 USD/EUR · 18 Jul

+€167.83

Net for July

+€2,348.81

Three currencies, one figure. Each line keeps the rate and date it was converted at; changing your reference currency re-derives the column, not the history.

04 · Investing

Numbers that match your broker statement.

Purchase lots in FIFO order, realised and unrealised split apart, dividends as income, fees in the basis. Derived from the same entries as your spending, not imported from a second system that disagrees with the first.

VWCE.DE

Vanguard FTSE All-World UCITS · accumulating · Trading 212

Value

€4,380.31
LotUnitsUnrealised
Lot #1 · open11 Mar 202414.0000+€283.36
Lot #2 · open02 Sep 20249.0000+€113.44
Lot #3 · openNew24 Jul 202612.0000+€152.63
Lot #0 · sold 18 Jan 2026Closed14 Jun 2025realised+€57.30
Total3 open lots · 1 closed35.0000+€549.43
Includes €4.00 of dealing fees in the cost basis. Excludes €57.30 realised on the closed lot and €38.12 of dividends, both booked as income.Valued at end-of-day prices, 24 Jul 2026.

FIFO by default

Sell 5 units and Sverto takes them from the oldest lot — FIFO, the default most EU tax regimes assume.

Dividends are income

They land next to your salary in the same cash-flow view, converted like everything else.

Fees are visible

In the basis, in the total, and countable as their own category when you want the bad news.

Connect or type it

Brokers sync through official APIs; bank and card activity through Open Banking; manual entry is a first-class path, not a fallback.

05 · Myra

Myra drafts. You decide.

The assistant inside Sverto can’t write to your ledger. It proposes: a photographed receipt becomes a filled-in transaction, and selling part of a holding becomes all the entries that takes. Every proposal arrives as a card you accept or reject.

Imported bank and broker transactions follow the same rule: they land dimmed and unreviewed until you confirm them. Nothing enters your ledger behind your back, and the whole assistant can be switched off in settings without losing a feature that touches your money.

Ask in words
"How much did I spend on trains in Q2?" Answered from the ledger, with the rows behind the answer one click away.
Search by meaning
Find "that Portuguese restaurant in May" without remembering that it was billed as MB WAY *A ADEGA.
Draft the hard ones
A partial sale with a fee, in a foreign currency, across two accounts: every entry worked out, still yours to approve.
Your data stays yours
No training on your ledger, ever. Self-hosted, you bring your own key — your data goes to the provider you chose, under your terms.
TESCO EXPRESS
OLD STREET
─────────────
Milk 2 pint    1.35
Sourdough      2.90
Malbec 75cl    9.10
─────────────
TOTAL         13.35
24/07/2026 18:42

Photo attached

Step 1

You photograph a receipt in the Android app. Myra reads the merchant, the total, the currency and the date.

Step 2

It drafts the transaction and stops. Nothing is saved until you press Approve.

Myra proposes · not yet in your ledger

Tesco Express · Old Street

24 Jul 2026 · 2 transactions · Monzo GBP

−£13.35

−€15.87 at 0.8412

  • Groceries−£4.25
  • Alcohol & Bars−£9.10
ApproveEdit first

Approving writes a group of two transactions, each with its own category, plus a note that Myra drafted them from a photo. You can see and undo all of it.

06 · Trust & ownership

Or don’t trust us at all. Run it yourself.

Sverto is AGPL-3.0. Not a source-available teaser with the good parts removed: the entire application, the same one we host, running on your hardware with your own AI key if you want one.

Audit the arithmetic

The FIFO code and the conversion code are on GitHub. If a number looks wrong you can read exactly how it was computed — and file the bug if we got it wrong.

Leave with everything

Full export of every transaction and entry, any time, in a format that opens without us. No retention tricks at the door.

It survives us

If the company disappears, the licence doesn't. Your ledger keeps running on a machine you control, with the code you already have.

EU-hosted, EU jurisdiction

The hosted service runs in the EU under EU law. No data brokers, no ad tech, no third party buying your spending.

Myra is optional

Myra never trains on your data, and you can switch it off entirely. The ledger, the lots and the charts don't need it.

Connections stay regulated

Bank access runs through Open Banking, and broker access through official APIs. Sverto reads; it never moves money.

Where the line is

The app is open source and complete. The hosted service is what will eventually carry a subscription — covering the market data and the servers, and funding the work that keeps it improving. It’s free today while we’re gathering feedback. There is nothing else to sell: no ads, no data brokers, no third party buying your spending.

07 · The clients

A desk app and a pocket app. One ledger underneath.

The web app for the monthly review, the native Android app for the receipt you’re holding right now. Same backend, same numbers, no export step. iOS is planned.

The Sverto web app dashboard: net worth in euros, a thirty-day chart, accounts grouped by cash and investments, and the most recent transactions.
The Sverto Android app showing net worth, a portfolio chart and a holdings list including property, currency and fund positions.

08 · Pricing

Free right now. Here’s what happens later.

The hosted version costs nothing while we’re learning from the people using it. At some point it’ll need a small optional subscription, enough to cover the market data, AI, OpenBanking, servers costs, and to support further development. Self-hosting stays free and complete either way, and export ships before any bill does.

Sverto.com

Free during launch
€0while we’re gathering feedback

Everything running, with nothing to set up.

  • Hosted in the EU, under EU law
  • Market data and Myra included, nothing separate to sign up for
  • New features reach you automatically
  • Something not right? You get a reply from me, not a ticket queue

Free while we’re gathering feedback. When a subscription arrives you’ll hear it from me first, and you can export everything or self-host instead.

Self-hosted

AGPL-3.0
€0/ month, for as long as you like

One docker compose up. Postgres and a container, nothing exotic.

  • The same application, feature for feature, nothing withheld
  • Bring your own market-data source
  • Bring your own AI key, or run without Myra entirely
  • Your Postgres, your backups, your uptime
  • Web and Android, pointed at your server

Who builds this

It started with a coin collection.

I was fourteen and had just learned HTML, so I built a page to track my euro coins — which country each one came from, which ones were still missing. My first multi-currency ledger, though I didn’t know to call it that.

Since then I’ve lived in a few countries and been paid in a few currencies, running the same patched-together setup as everyone else. In 2023 I stopped waiting for someone to build the obvious thing. Sverto is that project, grown up.

You should know what you’re signing up with: Sverto is one person. That’s a fair thing to hesitate over — finance apps do shut down, and they usually take the data with them. So it is built so that you are not betting on me. The application is open source in full, the same one running here, and you can export everything whenever you want. If I stop, your ledger doesn’t.

One day I’d like to do this full time. That is what the subscription, when it arrives, will pay for: the market data, the servers, and eventually the person maintaining it.

— Einaras Garbašauskas

the commit history is public →

Close the spreadsheet; it’s been wrong since March anyway.

  • No card, no bank connection needed to try it