Every transaction records the exchange rate in force on the day it happened, so last March's dinner still costs what it cost. Balances convert at today's rate, because that is what they are worth today. The two questions are different, and the app answers them differently.
REPORTING CURRENCY
USD · US Dollar
Rates as of 7 Aug 2026
Held in other currencies
No rate available, so it is left out of your total rather than converted at a guess.
Shown with a count, and hidden entirely when there is nothing to fix.
~165 currencies · searchable · works offline
“What is this worth?” and “What did this cost?” are not the same question, and an app that answers both with today's rate gets one of them wrong every day.
Rates are pulled once a day into the app's own store rather than called live from your device. A third-party outage becomes a stale rate, not an app that will not open.
Reads serve from cache, so a transaction entered on a flight still gets stamped. The full currency list is bundled in the app, so you can pick one before any rate has ever loaded.
A rate is quoted per one unit of your reporting currency and stamped with the date it is from. Central banks do not publish at weekends, so a Sunday legitimately shows Friday's rate, and says so.
Historical rates are kept by month, and a lookup for a date at the very start of a month rolls back into the previous one, because nothing may have been published yet in its own.
Gold, silver, platinum, palladium and IMF drawing rights are excluded by exact code, never by matching the letter X, which would delete five real currencies used across Africa, the Pacific and the Caribbean.
The fifty most-used currencies come first, the remaining hundred-odd follow alphabetically, and the whole thing is searchable. A list that long in a dropdown is a scroll with no way to find anything.
Moving from dirhams to dollars re-derives every foreign row's rate at that row's own date; it does not take the old converted figure and run today's rate over it, which would move your history.
That is what makes it reversible. Both directions re-derive from the stored rate history rather than composing one conversion on top of another, so AED → USD → AED lands back on the original figures exactly, with no drift accumulating.
Switch reporting currency
AED
from
USD
to
Snapshots are totals with no breakdown, so their conversion is approximate. Everything else is exact and fully reversible.
When you move money between accounts in two currencies, the bank does not give you the mid-market rate. It gives you a figure, after its spread and its fees, that appears on your statement and nowhere else.
So NetWorth+ asks what actually arrived. Both balances are then right by construction. Deriving the arrival from a published rate leaves both of them wrong forever, and wrong in a way nothing later can reconcile.
The field is pre-filled from today's rate so you never start from a blank box, and it stops pre-filling the moment you edit it. The effective rate you actually got is shown back to you, derived from the pair.
Transfer
FROM · Emirates NBD (AED)
AED 5,000.00
TO · HDFC Savings (INR): amount that arrived
₹ 1,13,250.00
Pre-filled from today's rate. Edit to match your statement.
Effective rate 1 AED = 22.6500 INR
192.90 stays 192.90, never 192.9. Trimming was built once and removed for exactly this reason.
1,234.56 · 12,34,567.89 · 1.234.567,89. Grouping and decimal separator travel together, because no convention mixes them.
The canonical glyph is not always the legible one: ﷼ is correct for four different rials. Override it for display without touching the currency itself.
An unrecognised currency is shown as its three letters, never dressed in your own symbol. Labelling a foreign figure as a native one is the one thing a currency label must not do.
A balance with no available rate is left out of the total and the currency is named, rather than folded in raw at the wrong scale.
Where old rows are missing a rate, you are shown how many and offered a one-tap backfill, and the row disappears entirely when there is nothing to fix, because a permanent “0 need attention” is a permanent invitation to worry.
NetWorth+ is available for Android and iPhone. No bank login, no advertising, and nothing recorded until you approve it.