What a multi-currency net worth tracker has to get right
Most apps call themselves multi-currency when they convert everything to one base at today's rate. That quietly rewrites your history and makes net worth impossible to read. Here is what the alternative looks like.
If you hold money in more than one currency, most personal finance apps are quietly lying to you. Not on purpose - they just made a simplifying choice years ago, and the choice does not survive contact with a second currency.
The choice is this: store one number per transaction, in one base currency, converted at whatever the rate was when you looked.
Why today's rate is the wrong rateLink to this section
Say you live in the euro area, earn in dollars, and had a €50 dinner last September when the rate was 1.10. You spent $55. That is a historical fact and it is finished.
Convert at today's rate instead, and if the rate has moved to 1.20 the app tells you that dinner cost $60.
It did not. And the number will be different again next week.
The consequence is worse than one wrong dinner. Every total that includes that transaction moves every day. Last year's spending is not a fixed figure any more. A budget you came in under is one you blew, or the other way round, depending on when you open the app. You cannot compare two months, because the exchange rate underneath both of them has changed.
The fix is not complicated. Record the rate that applied on the day the transaction happened, and store it with the transaction. History then stays still, which is the entire point of writing it down.
Net worth has a second problemLink to this section
Spending is the easy half. Net worth in more than one currency is harder, because it moves for two completely different reasons and they look identical on a chart.
Your net worth went up 3% last month. Was that because:
- You earned more than you spent, or your investments rose, or
- the currency your savings sit in strengthened against the currency you think in?
The first is you doing well. The second is arithmetic. An app that folds both into one line and calls it "net worth" cannot answer the only question worth asking, which is whether you are actually getting anywhere.
You need the underlying amounts kept in their own currencies, with the conversion applied as a view rather than baked into the stored value. Otherwise the information needed to separate those two causes has already been thrown away.
Currency has to live in four placesLink to this section
Most tools that advertise multi-currency support have one currency field, on the user. That is the root of it. In a real multi-currency life, currency belongs to each thing separately:
The account. A euro current account and a sterling savings account are different objects. Neither should be stored as "dollars, converted".
The holding. An index fund bought in dollars and gold priced in dollars but bought with euros both need a purchase currency alongside a current one, or profit and loss becomes meaningless - you end up comparing a euro cost against a dollar value and calling the difference a gain.
The budget. If you rent in one currency and buy groceries in another, one budget in one base currency cannot describe either of them honestly.
The transaction. And this is the one almost nothing supports: a transaction may be in a currency the account does not hold. You pay with a euro card in a shop that charges in pounds. That is one transaction, two currencies, and a rate that applied on that day.
Get all four right and one thing falls out for free: a single net worth figure, in the currency you actually think in, that does not change when you are not looking.
How Hundo does itLink to this section
We build one of these, so here is ours specifically, and you should check anything that matters to you.
- 173 currency codes are supported. We say "over 160" because that number is conservative.
- Accounts, assets and individual budgets each carry their own currency, as their own field, not as a display preference.
- Every transaction stores the exchange rate that applied on its own date, at ten decimal places. The stored history does not move when the market does.
- A transaction can be in a currency its account does not hold, with the rate recorded for that day.
- Assets keep a purchase currency alongside their current one, so profit and loss is computed between comparable numbers rather than across a silent conversion.
- Net worth reports in your base currency, converted for display, with the underlying amounts left alone.
Multi-currency was not a feature added later here. It is the reason the data model looks the way it does, and it is the thing we would defend hardest against any comparison.
On question 4 below - how much of a net worth change was exchange rates - this page originally said we did not answer it. We do now. The net worth chart splits the change over the selected period into the part that came from your money and the part that came from the rates moving, because every daily snapshot already stored the per-currency amounts and that day's rates. It shows nothing at all if you hold a single currency, since there would be no split to make.
The honest costLink to this section
Hundo has no bank connection. It does not ask for banking credentials and does not use an aggregator. Entries are typed, photographed, forwarded to a personal receipts address, imported from a file, or drafted by an AI agent and confirmed by you.
If you want a feed to fill the ledger in for you, that is a real thing to want, and there are apps that do it well - within the countries their aggregators cover.
The trade is deliberate, and multi-currency is exactly where it pays off. Aggregator coverage maps almost perfectly onto the countries that need multi-currency least. The people juggling three currencies are disproportionately the people whose banks are not in Plaid: expats, contractors paid across borders, anyone living somewhere the roundups do not think about. Manual entry is slower, and it works everywhere.
What to check in any tool you are consideringLink to this section
Whatever you end up using, four questions will tell you how deep its multi-currency support goes:
- Can an account hold a currency that is not my base one? If not, stop here.
- When I look at last year's spending, is the number the same tomorrow? If it moves, it is converting at today's rate and your history is not fixed.
- Can a single transaction be in a currency the account does not hold? This is the one that separates real support from a display setting.
- Can it tell me how much of my net worth change was exchange rates? If not, its net worth chart cannot answer the question you are asking it. This is the one almost nothing does, and it is the reason the other three matter: without per-currency amounts and the historical rates, the split cannot be computed at all, however much anyone wants it.
Most apps that say "multi-currency" pass the first and fail the rest. It is worth ten minutes finding out before you put two years of history somewhere.