P&L STUDIO/BLOG/MULTICURRENCY-ACCOUNTING
Tools7 min read

Multi-currency accounting: how not to lose margin on FX differences

Double-entry, functional currency, revaluation — explained in plain language with a Google Sheets example.

Multi-currency accounting: how not to lose margin on FX differences

Double-entry, functional currency, revaluation — explained in plain language with a Google Sheets example.

The owner of an e-commerce company looks at the monthly P&L: revenue is up, costs are unchanged, yet net profit is lower than last month. He checks the numbers three times. Everything reconciles. But profit is still lower.

The reason is FX differences. The company collects payments in euros, pays suppliers in dollars, and keeps its books in hryvnia. The exchange rate moved 3% — and ate half of operating profit. In the P&L it isn't even always immediately visible.

Multi-currency accounting is one of those topics people put off "for later" — until FX differences become tangible. In this article we break down how it works, where the losses hide, and how to set up accounting so the exchange rate stops being a surprise.

Why multi-currency accounting is harder than it looks

If every transaction is in one currency, accounting is simple: how much came in, how much went out, what's left. With several currencies a fundamental problem appears: how do you compare incompatible things?

Revenue of 10,000 EUR + revenue of 15,000 USD = how much? To answer, you need to pick one "base" currency and convert everything into it. But at which rate? The transaction date? The end of the month? An average rate?

The answer to these questions is not a technical detail. It determines what margin your P&L shows and how well it reflects reality.

There are three key concepts to understand:

Functional currency — the currency of the primary economic environment in which the company operates. Simply put: in which currency do you think about your business? In which do you set prices, plan a budget, evaluate results? That's your functional currency.

Reporting currency — the currency in which financial statements are presented. Often it matches the functional currency, but not always: an international company may keep functional records in euros and report to local regulators in hryvnia.

FX difference — the difference between the exchange rate on the date a liability arose and the rate on the date it was settled or on the reporting date. This is where most "invisible" losses or gains hide.

Where FX differences arise: three main places

1. Monetary balance sheet items

Monetary items are assets and liabilities that will be received or settled in a fixed amount of money: cash on accounts, accounts receivable, accounts payable, loans.

If you have 50,000 EUR in an account and the EUR/UAH rate moves from 42 to 44 — your balance in hryvnia "grew" by 100,000 UAH without a single transaction. This is an unrealized FX difference. It appears in reporting but didn't bring in any real cash.

The opposite is also true: if you owe a supplier 20,000 USD and the dollar rises — your debt in hryvnia equivalent goes up. Again, without any transaction.

2. Transactions between recognition date and settlement date

Classic example: you invoiced a client for 10,000 EUR on March 1 at a rate of 42 UAH/EUR. The client paid on March 31 at 44 UAH/EUR.

  • Revenue recognized on March 1: 420,000 UAH
  • Cash actually received on March 31: 440,000 UAH
  • Realized FX difference: +20,000 UAH

This is real money that appeared not through a business transaction but through an exchange rate movement. It must be reflected in the P&L — but separately from operating profit.

3. Revaluation at the reporting date

Even if there were no FX transactions during the month, at month-end you must revalue all monetary items at the current rate. The difference between the old and new rate is an unrealized FX difference that affects the balance sheet and, depending on the accounting policy, the P&L.

Double-entry in multi-currency accounting

To understand how to record FX differences correctly, you need a basic grasp of double-entry. Here it is in plain language.

Double-entry is the principle that every transaction is recorded twice: as an increase in one account and a decrease in another. The totals always balance. It's the foundation of any accounting system.

In a multi-currency context it looks like this:

Example 1. Receiving payment from a client

The client paid 10,000 EUR. Rate on the payment date: 43 UAH/EUR. The invoice was recognized earlier at 42 UAH/EUR (420,000 UAH).

Debit:  Bank account (EUR)            430,000 UAH  [10,000 EUR × 43]
Credit: Accounts receivable           420,000 UAH  [closing the receivable]
Credit: FX difference (income)         10,000 UAH  [rate difference]

The FX difference appears as a separate line — not as operating income, but as financial income.

Example 2. Revaluing the account balance

The account holds 50,000 EUR. The rate moved from 42 to 44 UAH/EUR.

Debit:  Bank account (EUR)              100,000 UAH  [50,000 × (44–42)]
Credit: Unrealized FX difference        100,000 UAH

The cash didn't move anywhere. But the balance changed — and that has to be recorded.

Functional currency: how to choose correctly

Choosing the functional currency is a strategic decision, not a technical one. And it has a real impact on what your reporting shows as "profit."

How to determine the functional currency — answer these questions:

  • In which currency are your prices set for clients?
  • In which currency do you incur most costs (payroll, rent, suppliers)?
  • In which currency do you plan the budget and set financial targets?
  • If you have a loan, in which currency is it?

If most answers point to one currency, that's your functional currency.

Example: an IT company in Kyiv. Revenue in EUR (foreign clients), payroll in UAH, rent in UAH, cloud services in USD.

If the company thinks about profitability in hryvnia and pays dividends in hryvnia, the functional currency is UAH. If it's scaling on the international market and evaluates itself in euros, the functional currency is EUR.

This decision is made once and only changes when the business model changes substantially.

A practical example in Google Sheets

Now let's see what it looks like in a real spreadsheet. Take a small e-commerce business:

  • Functional currency: UAH
  • Sells in EUR and UAH
  • Pays suppliers in USD
  • Payroll and rent in UAH

Sheet 1: Exchange rates

DateEUR/UAHUSD/UAH
01.0342.1038.50
15.0342.8038.90
31.0343.4039.20

All other sheets pull the rate via VLOOKUP or INDEX/MATCH by transaction date. This is the key principle: the rate is always taken on the date of the specific transaction, not the "current" rate.

Sheet 2: Transactions journal

DateDescriptionCurrencyAmount (FX)RateAmount (UAH)
05.03Client A paymentEUR5,00042.10210,500
10.03Supplier paymentUSD–8,00038.70–309,600
15.03Client B paymentEUR3,20042.80136,960
20.03PayrollUAH–85,0001.00–85,000
28.03Client C paymentEUR4,50043.20194,400

Formula for the "Amount (UAH)" column:

=D2*VLOOKUP(A2, FXRates!$A:$C, IF(C2="EUR",2,3), 0)

Sheet 3: Month-end revaluation

ItemCurrencyAmount (FX)Rate 01.03Rate 31.03Difference (UAH)
EUR account balanceEUR12,50042.1043.40+16,250
Supplier payableUSD–15,00038.5039.20–10,500
Receivable from client DEUR6,00042.3043.40+6,600
Total FX difference+12,350

This amount (+12,350 UAH) lands in the P&L as a separate line — "FX differences" in the financial income/expense block. It does not get mixed with operating profit.

Sheet 4: P&L with FX differences broken out

Revenue                                  541,860 UAH
COGS (USD suppliers)                    –309,600 UAH
Gross profit                             232,260 UAH   (42.9%)

Operating expenses
  Payroll                                –85,000 UAH
EBITDA                                   147,260 UAH

Financial income / expenses
  + Realized FX differences               +2,400 UAH
  + Unrealized FX differences            +12,350 UAH

Net profit                               162,010 UAH

Notice: FX differences are shown separately. Operating profit (EBITDA = 147,260) reflects the real efficiency of the business. FX differences (+14,750) are a separate "bonus" from rate movements — positive this month, possibly negative next month.

If you mix these two numbers, you see an "improvement" in efficiency that didn't actually happen. The exchange rate just played in your favor.

Three rules of multi-currency accounting

Rule 1. Always lock in the rate on the transaction date. Not "approximately," not "average for the week." The central bank or interbank rate on a specific date — recorded together with the transaction. If a year later someone asks "why is this number what it is" — there's always an answer.

Rule 2. Separate realized and unrealized differences. A realized difference is real money that appeared or disappeared due to a rate movement between two transactions. An unrealized one is a paper revaluation of balances. Both matter, but they have different nature and influence decisions differently.

Rule 3. Don't mix FX differences with operating profit. Operating profit shows how efficient your business is. FX differences show how lucky you were with the exchange rate. Management decisions must be based on operating numbers — not on their sum with FX fluctuations.

How to protect yourself from FX losses

You can't fully eliminate FX risk if the business operates in several currencies. But there are practical ways to reduce it.

Natural hedge. If your income and expenses are in the same currency, they naturally offset each other. Try to align income and expense currencies as much as possible: receive in EUR — pay contractors in EUR too.

Fast settlement. The less time between issuing an invoice and receiving payment, the lower the risk. A 60-day deferral in a volatile FX environment is significant risk. Shorter terms or partial prepayment reduce it.

Multi-currency accounts. Keep separate EUR and USD accounts. Convert only the amount you actually need in UAH — no more. This reduces the number of conversion operations and locks in fewer FX differences.

Forward contracts. For large and predictable payments, banks offer forward contracts — fixing the rate for a future date. A tool for companies with predictable cash flows and regular large FX payments.

Common multi-currency accounting mistakes

One "average" rate per month. Some companies take an average rate for the month and apply it to every transaction. It simplifies bookkeeping but distorts reality: a transaction on the 1st and on the 31st actually happens at different real rates. For management accounting, use the precise rate on the date.

Ignoring month-end revaluation. If you don't revalue monetary items every month, the balance sheet accumulates "hidden" differences that suddenly materialize as large amounts at the end of a quarter or year.

FX differences inside operating profit. Hides the real operating efficiency. It's especially dangerous when the rate is rising: the business may show "good profit" that actually consists of an operating loss plus FX income.

Different rate sources for different transactions. If different people record rates differently (one uses the central bank, another the interbank, a third "approximately"), the data is inconsistent and the report is incorrect. You need a single accounting policy: one rate source for the whole company.

Ready-to-use multi-currency accounting template

Building the right structure from scratch takes several days of work and lots of room for errors in formulas and logic.

We've prepared a ready-to-use multi-currency accounting template in Excel that includes: a transactions journal with automatic rate lookup by date, a month-end revaluation sheet for monetary items, a P&L with FX differences as a separate line, and a currency reference. Supports up to five currencies simultaneously.

👉 Get the multi-currency accounting template →

Previous article in the series — "Unit economics for SaaS: CAC, LTV and why payback beats margin." Next — "Case study: how we cut report preparation from 5 days to 2 hours."

Share:
Related service

Management accounting

P&L, accounting policy, expense control and reporting that helps owners make decisions.

Keep reading

Related insights

Ready to get your finances in order?

A 30-minute call — and you'll leave with an action plan for your finance function.

Book a consultation