Paid in dollars, spending in hryvnia: how to keep records in two currencies
Author: Oleksii Itsekson — the developer of FinLad, and its user since 2025
Published · Updated
A freelancer is paid in dollars while the family spends hryvnia; someone has moved and lives between two countries; someone keeps part of their savings in euros “just in case”. As soon as there are two currencies, ordinary tracking starts to tangle: the total does not add up, the rate is different every day, and an exchange looks now like income, now like an expense. Below are a few simple rules that clear that tangle away.
One currency for the totals
The first decision, without which nothing will add up: which currency you count “in total” in. Not the one you are paid in and not the one you save in, but the one you want to see the answer in to “how much did I spend this month” and “how much do I have altogether”. That is the main currency, and there is one of it.
The rule for choosing is simple: the main currency is the one you spend most of your money in. If you live in Ukraine and pay rent, groceries and utilities in hryvnia, the main currency is the hryvnia — even if your salary arrives in dollars. The budget, the limits, “where the money went” — all of that makes sense only in the currency you stand at the till with.
If you have moved and now spend in zloty or koruna, the main currency changes along with your life. But do not do it every month: each change of the main currency means recalculating the whole history, and comparing “before” with “after” becomes hard. Choose once, and for a long time.
All the other accounts stay in their own currencies. A dollar card in dollars, cash euros in euros. The main currency is needed only for the bottom line — not to convert everything into hryvnia and forget that these were dollars.
Which rate to count at
- Spending — at the rate of the day it happened. Bought something for twenty dollars on the second — that is twenty dollars at the rate on the second, and that figure never changes again. It does not matter that a week later the rate is different: the expense has already happened.
- Balances — at today’s rate. How much you have “altogether” is a question about today, so a thousand dollars in an account is counted at today’s rate, and tomorrow at tomorrow’s. That figure changes every day, and that is normal: what changes is not the number of dollars but their price in hryvnia.
- At the rate you bought at — nothing. The temptation is strong: “I bought dollars at thirty-seven, so they are worth thirty-seven.” No. They are worth what they can be sold for today. The purchase rate is useful to remember, to know whether the deal was a good one, but counting the total at it is deceiving yourself.
- Because of this, the same purchase can look different in two reports: in the month’s spending it stands at the rate of that day, and in the overall picture of the accounts — at a different one. That is not a mistake but two different questions with two different answers.
The rate went up — that is not income
The most common confusion in two-currency tracking. You were holding a thousand dollars, the rate rose by two hryvnia — and two thousand hryvnia that were not there yesterday appeared in your total. It feels as if you have earned something. No: you have the same thousand dollars, only their price has changed. You will earn those two thousand only if you sell the dollars today — and lose them if the rate goes back tomorrow.
So there is one rule: income is an exchange, not a rate. While the dollars sit there, a change in the rate is simply your hryvnia total drifting up and down. There is no need to record it as income or as an expense. When you have sold the dollars — that is when it becomes visible how many hryvnia you received and whether that is more than you once gave for them.
The same goes for salary. You received a thousand dollars — that is income of a thousand dollars at the rate of the day you received it. If you did not exchange it at once and a week later the rate changed, the income is already recorded, and it does not change. Only the value of what is sitting in the account has.
How to record a currency exchange
- 1An exchange is a transfer between two of your accounts in different currencies — not an expense and not income. A hundred dollars left the dollar account, four thousand one hundred arrived in the hryvnia one. Both amounts are recorded as they are, each in its own currency.
- 2The difference between the exchange office’s rate and the “official” one is not an expense — it is simply the rate you exchanged at. Do not try to count it separately: you gave a hundred dollars and received four thousand one hundred hryvnia, and that is the whole truth about that exchange.
- 3A fee is a separate expense. If the bank or the exchange office charged another fifty hryvnia for the operation as its own line — that is an expense in the “bank fees” category. If the fee is “built into” the rate — do not invent it: it cannot be seen, and it is not in the records.
- 4An exchange in the bank’s app is the same thing. “Buy dollars” in a banking app is a transfer from the hryvnia card to the dollar one at the bank’s rate. It is recorded as a transfer, and nothing more.
Buying abroad with a hryvnia card
You pay with a hryvnia card in a Polish shop. The receipt says forty zloty. The bank will take hryvnia from the card, but not at once: first the amount is “held” at an approximate rate, and a day or two later it is charged for good, at the bank’s rate on that day, often with a small markup. The statement will show both the amount in zloty and the amount charged in hryvnia.
For your records the right figure is the one that was charged to the card. That is the real money that left. The amount on the receipt in zloty explains what it was for, but it does not equal your expense: the difference is the bank’s rate and its markup, and it eats a few per cent every time.
If you record the expense on the day of the purchase and the final charge happens later — record it approximately at today’s rate, and when you see the final amount in the statement, correct it. The difference is usually small, but over a month of travel it adds up to a few hundred hryvnia that you will not see if you count from receipts.
A budget when there are two currencies
Set limits in the main currency, and only in it. A grocery budget of “five thousand hryvnia” is clear; a budget of “a hundred and twenty dollars” for hryvnia groceries is a monthly muddle with the rate. Spending in other currencies is simply converted into the main one at the day’s rate and lands in the same category.
Income in a foreign currency goes into the budget at the rate of the day it was received. If the salary is a thousand dollars and the rate today is forty-one hryvnia, then in this month’s budget you have forty-one thousand of income — regardless of when you exchange it. Next month the rate will be different, and so will the income in hryvnia; that is normal, and it honestly reflects the fact that a dollar salary is not constant in hryvnia.
Savings in a foreign currency should be counted in the currency they are held in. A goal of “put aside two thousand dollars” is a goal in dollars, and its progress does not depend on the rate. Converting it into hryvnia and rejoicing that “the goal has grown” because of the rate is the same trap as above.
Example: a freelancer’s month in two currencies
Maryna receives one thousand two hundred dollars onto a dollar card and spends in hryvnia. The main currency is the hryvnia, because the rent, groceries and utilities are in hryvnia. On the second the salary arrived: the income is recorded as one thousand two hundred dollars at that day’s rate, forty-one hryvnia — forty-nine thousand two hundred in the month’s total.
On the fifth she exchanged five hundred dollars in the bank’s app: five hundred left the dollar card, twenty thousand four hundred arrived on the hryvnia one. That is a transfer between her own accounts, neither income nor expense. On the twentieth the rate rose to forty-two, and the seven hundred dollars that remained “grew” by seven hundred hryvnia in the total. She recorded nothing: the income had already been on the second, and this was just the rate.
At the end of the month the spending statistics show hryvnia at each day’s rate; the overall picture shows seven hundred dollars at today’s rate plus the hryvnia balance. Two figures, two questions, and neither of them lies. The only expense connected with currency is fifty hryvnia of fee for one transfer, as its own line.
The most common mistakes
- Counting dollars at the purchase rate. The total looks stable and pleasant, but it has nothing to do with how much money you have today.
- Recording a change in the rate as income or expense. A month with a jump in the rate looks like the most profitable of the year, though you earned nothing. Income is only an exchange.
- Mixing rates from different sources. Today the official one, tomorrow the exchange office’s, the day after the bank’s. Choose one source for conversions and do not change it; record an exchange at the actual rate of the exchange.
- One account for two currencies. “A card that holds both hryvnia and dollars” is two accounts, and in the records they must be separate. Otherwise the balance will never add up.
- Recording purchases abroad from the receipt rather than from the charge. A few per cent on every purchase, and over a month of travel the spending is “smaller” by a few hundred hryvnia than it really was.
- In FinLad accounts can be in hryvnia, dollars, euros, pounds, zloty and koruna; the main currency is chosen when you sign up, the rates update daily, and the home screen shows where the rate moved over the last month. An exchange is recorded as a transfer between two accounts — exactly as described above. All of this is in the free plan.