Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Multi-Currency

Surebeans tracks money in more than one currency, plus securities like stocks and crypto. If you use a single currency, nothing changes and none of the controls below appear.

Commodities

A commodity is any unit you can hold an amount of: a currency (USD, EUR), a stock (AAPL), or crypto (BTC). A currency is just a commodity that happens to be money. Surebeans treats them all the same way.

Accounts are not locked to one commodity. A single account can hold USD and EUR at once, or cash plus shares. Each posting carries its own commodity.

2025-03-01 Salary
    Assets:Euro      2000.00 EUR
    Income:Salary

2025-03-02 Random gift
    Assets:Cash       100.00 USD
    Income:Gifts

The reporting currency

The reporting currency is the single currency reports convert into so you get one number to read. It is your main currency, set in Settings. For a single-currency journal it is just your only currency, so no conversion happens.

Native amounts are always the truth. The reporting-currency figure is recomputed from your native balances and the prices below, so your history never silently rewrites itself.

Prices

To convert one commodity into another, Surebeans needs prices. Prices live in your journal as plaintext P directives, so they version and sync like the rest of your data.

P 2025-03-01 EUR 1.08 USD
P 2025-04-01 EUR 1.11 USD

You can type prices yourself, or use Fetch prices on the Net Worth report. Fetching pulls current rates and appends P directives:

  • Currencies come from Frankfurter (European Central Bank data, no key).
  • Crypto comes from CoinGecko (no key).
  • Stocks and funds come from Twelve Data, which needs a free API key. Add it in Settings.

Fetching only ever happens when you ask for it, or on the schedule you choose in Settings. Reports never reach the network; they read the plaintext prices only.

If a commodity has no price to the reporting currency, Surebeans shows it un-converted and flags it rather than guessing. Use Fetch prices or add a P directive to resolve it.

Exchanging between currencies

To move money between two different-currency accounts, use Transfer on the Records view. When the two accounts use different currencies the dialog becomes an exchange: enter what you gave up and what you received, and Surebeans records both real amounts and the rate between them, so the books stay balanced in every commodity.

How exchange rates affect net worth

Net worth is shown in the reporting currency using current market prices, so it moves as exchange rates move. If you hold euros and the euro strengthens against your home currency, your net worth rises even though you neither earned nor spent anything. This is normal, and it is called unrealized currency gain.

The Net Worth report separates this out on a currency change line, so a swing caused by rates never looks like income or spending. Your budget and spending reports are unaffected by rate movement: a foreign purchase is recorded at the rate on its date and never re-valued.

See Tracking Securities for stocks and crypto.