Skip to main content

Working with several currencies

If you only ever use one currency, nothing on this page will ever affect you and you can skip it.

If you earn in one currency and spend in another, this is the model, and it is worth five minutes.

Each currency lives in its own world

An account holds one currency. A transaction is recorded in the currency of its account. From there, AI Money keeps each currency in a separate world, and by default nothing is converted.

That is a deliberate choice. A converted total is a number you cannot verify by looking at your bank app, and it changes every day because the rate moved, not because you spent anything. A native total is a number you can check.

  • Main world: your main currency, plus transactions with no account attached.
  • Secondary worlds: one per currency in which you hold an account. Always native, always pure. Switching to a secondary world is a Pro feature.

The all currencies switch

In the filter sheet, when you have more than one currency, there is a switch called Balance with all currencies. It turns on the converted lens, and it is a single global preference: it changes every screen at once, never one screen at a time.

What it changes:

  • Totals and balances: the header, home widgets, report KPIs, savings and debt totals.
  • Category cards.
  • The transaction list. With the lens off, each row shows its own currency. With it on, rows are converted to your main currency with the native amount underneath as a hint.

What it never changes:

  • Account cards and pocket cards are always native. Their amount is the real money in that account, in the currency that account holds. The switch only decides which cards you see and in which order: with the lens off, the ones from the current world; with it on, all of them with the current world first.

That distinction is the one people ask about most. It exists because an account card is meant to be checkable against your bank, and a converted account card is not.

Where rates come from

The app asks our server for the rate table of a base currency. No personal data travels with that request; it is public reference information.

Rates are cached for 24 hours, so conversions work offline, and every rate carries the date it was published. Not "updated recently", an actual date. If a conversion matters to you, you can see how old the rate behind it is.

If no rate is available at all, the app never blocks you: it falls back gracefully rather than refusing to show a total.

What is never converted in storage

Converting is always a display lens. No save path rewrites the currency of a transaction, because that buries the real currency of a payment permanently.

There are two exceptions, and both are real movements of money rather than display:

  • A transfer between accounts of different currencies, where you can review and edit the received amount before saving.
  • A contribution to a savings pocket held in another currency.

In both cases the conversion is part of the event itself and is recorded on both sides.

Paying in a currency other than your account's

When you record a payment made in a different currency from the account it came out of, the app stores the amount in the account's currency, which is what your balance must reflect, and keeps the original amount and currency alongside it. That is what lets you later filter for "everything I paid in dollars" without your balances lying to you.

The one screen that always converts

The monthly total in Subscriptions always converts to your main currency, marked with and the date of the rate, because that module has no access to the currency switch. Its native breakdown per currency is one tap away in See breakdown. It is a display figure and it never touches your data.

The shared fund in Couples is the other exception: it is always shown in the currency of the space, because it is a separate pot that does not enter any of your personal totals.

See also