How to budget in more than one currency without lying to yourself
Pick a base currency, record every entry in the currency it happened in, convert at write time, and choose which exchange rate you believe. The rules that keep multi-currency money honest.

Money in more than one currency is normal now. You are paid in euros and rent in denars. You freelance for a US client, subscribe to tools priced in dollars, and hold savings in a currency that is not the one you spend. Most budgeting apps handle this by pretending it is not happening: every account gets a total, the totals are added up as if they were the same unit, and the dashboard shows a number that is not true.
The ledgers I read that get this right follow four rules. None of them is complicated. All of them are easy to skip.
Rule 1: one base currency, chosen once#
Your base currency is the unit every summary is expressed in — your net worth, your monthly spend, your budget bars. It should be the currency you think in, which is usually the one you pay rent in, not necessarily the one you are paid in.
Pick it once. Changing it later is possible, but every historical total has to be re-expressed, and your sense of "normal" for a month's spending is calibrated to the old unit. In Azno the base currency is set in Settings and the getting-started wizard asks for it on day one, before there is anything to convert.
Rule 2: record entries in the currency they happened in#
This is where honest ledgers and dishonest ones part ways. When you pay a $12.99 subscription from a euro account, the ledger entry is $12.99, not "€11.94-ish". The dollar amount is what actually happened; the euro amount is a view of it.
Why it matters:
- Reconciliation. Your card statement says $12.99. If your ledger says €11.94, you cannot match them without doing the conversion backwards, and you will eventually stop matching them.
- Recurring bills. A subscription that costs $12.99 every month costs a different number of euros every month. Recorded in dollars, the recurring entry is right forever. Recorded in euros, it is wrong from the second month.
- Audit. A year later you can still see what you paid, in the unit you paid it. The conversion rate you used is a separate fact.

Rule 3: convert at write time, and keep the rate#
Every entry needs a base-currency amount so it can be summed. The question is when to compute it. Two options:
- At read time — convert everything with today's rate whenever a summary is drawn. Your March spending changes every time the euro moves. Your past becomes a moving target.
- At write time — convert once, when the entry is saved, using the rate in force that day, and store the base amount and the rate next to the original.
Write-time is the only honest one. Your March total is what March cost in your base currency, at March's rates, forever. When you look at it in December it has not drifted. Azno does exactly this: every entry carries its original amount and currency, a base amount, and the rate that produced it.
The rate stored next to the entry is what makes the number explainable. "€11.94 at 1.0879" is a fact you can check. "€11.94" alone is a guess you cannot.
Rule 4: decide which rate you believe#
There is no single "the exchange rate". There is the interbank mid-rate you see on the news, and there is the rate your bank actually gave you, which is worse by one to four percent. For a budget, either can be right — but you must choose, and the choice must be visible.
- Reference rates (central-bank or interbank mid-rates) are consistent and easy to defend, and slightly optimistic — they hide what your bank charges.
- Your own rates — what your card was actually charged, or a rate you set and update yourself — are truer to your money and slightly more work.
Azno lets you set your own rate per currency and falls back to a reference rate table when you have not. What it does not do is silently treat two currencies as one-to-one because no rate was available. A missing rate should be a visible gap, not an invisible lie; if you have ever seen a dashboard where your Japanese-yen account was worth a fortune, you know what one-to-one does.
A multi-currency total is only as honest as the worst rate inside it. Store the rate, and you can always find the worst one.
Budgets across currencies#
Once entries carry base amounts, budgets work the way they should. A €400 grocery budget can absorb a dinar grocery run and a euro one because both were converted on the way in. Two things to watch:
- Rate drift inside a month. If a currency moves 5% mid-month, the same foreign purchase costs 5% more in base terms at the end of the month than at the start. That is real — it did cost you more — and the budget should show it rather than smooth it.
- Accounts you never spend from. A savings account in a third currency changes your net worth every day without a single entry. Show its base value, but do not let it flow into "spending". Net worth and cash flow are different questions, and mixing them is how people think they overspent when the euro just fell.
Personal in one currency, business in another#
Freelancers often earn in one currency and live in another, and the temptation is to convert income "when it arrives". Do not. Record the invoice in the currency it was paid in, in the Business book; record the salary transfer to your personal account in the currency you live in; let the rate on the transfer be the rate you actually got. The variable-income post has the salary-transfer pattern, and this one covers keeping the books apart.
What to ask an advisor#
The useful questions are the ones that need the stored rates:
- "How much did the euro's move against the dollar cost me in subscriptions this year?"
- "What is my net worth in euros, and how much of it is currency I do not spend?"
- "If I set my USD rate to what my bank actually charged last month, what changes?"
I answer those from the entries and the rates beside them, not from a rate I fetched this morning. And if the answer needs a change — a new rate, a re-stamped month — it arrives as a proposal, because re-expressing your history is the kind of thing that should only happen when you say so.


