Foreign currency, part 1: the question nobody asks

Multi-currency network Twelve major world currencies — CHF, EUR, USD, GBP, JPY, CNY, INR, KRW, RUB, TRY, BRL and SEK — roam as connected nodes in a slow, organic three-dimensional cloud, repelling and springing along their links, nearer currencies larger and brighter, farther ones smaller and dimmer. R$ ¥ $ kr £ CHF Article 1/3 FOREIGN CURRENCY

The moment a Swiss company invoices in euros, its bookkeeping changes character. A euro is worth some number of francs, and that number moves every day. This series is about what that movement does to your books, and the one decision behind it all: when do you measure?

The naïve way stops balancing

Double-entry accounting makes one promise: every transaction balances and the books add up. Foreign currency breaks it if you book each transaction at that day's rate and stop there. Buy EUR 100 for CHF 95, then pay a EUR 100 bill once the rate has moved to 1.00:

Date Transaction EUR cash Booked in CHF
1 Jan Buy EUR 100 @ 0.95 +100 −95
1 Feb Pay EUR 100 bill @ 1.00 −100 −100
Balance EUR cash is empty… 0 −5 ?

The euros cost CHF 95 but cleared a CHF 100 bill, so a CHF 5 gain exists with nowhere to live. It arose between the transactions, while the position was open — and transaction-rate booking cannot record a movement that happens in the gap. The books stop balancing. Every FX method answers one question: where does that CHF 5 go, and when?

Three currencies hide in one transaction

First, see that one cross-border payment quietly involves three currencies, each set by a different party — and settlement can itself be a third currency:

Role Example Who sets the rate
Face currency The invoice reads EUR 10,000 Your customer or supplier
Settlement currency Your bank moves CHF 9,300 Your bank, on the payment day
Book currency Your accounts report in CHF Your economic environment

When all three agree there is no FX problem; it exists only relative to your book currency. Swiss law leaves that choice unusually free — you may keep the accounts in francs or in the currency essential to your business, whatever the company's size (art. 957a para. 4, 958d para. 3 CO; since 2023 even the share capital may be denominated in EUR, USD, GBP or JPY, art. 621 para. 2 CO), where IFRS instead pins the functional currency to the economics (IAS 21.8). Report in anything other than francs, though, and the law still wants the CHF equivalents shown alongside and the rates disclosed in the notes. Whichever currency you book in, the gap between face value and what finally lands there must surface as a gain or a loss.

Realised and unrealised

That gain or loss comes in two flavours, and telling them apart is the key to everything that follows. An unrealised difference exists only on paper while a position is open; a realised one locks in the moment the position closes and money changes hands.

Type When it arises Recorded?
Unrealised An open receivable while the rate drifts When the balance-sheet date or standard requires
Realised The receivable is finally paid Always — the cash is now certain

Most methods revalue each open position back into francs at a chosen date. An older family — the trading-account technique (Selinger, GnuCash, beancount) — instead holds each currency natively and denominates the gain as a difference of currencies. That balance is rate-independent and self-adjusting: revaluation is implicit, and only realisation is posted by hand.

One example for the whole series

To make this concrete, we follow one transaction through all three parts. A Swiss company that books in francs invoices EUR 10,000, is paid months later, and the year closes in between. The only data we need — three rates on three dates:

Moment Date EUR/CHF Value in CHF
Invoice issued 1 Oct · Year 1 0.95 9,500
Year-end 31 Dec · Year 1 0.98 9,800
Payment received 15 Feb · Year 2 0.93 9,300
Lifetime result 9,300 − 9,500 −200

The end is already settled: over its life this transaction costs CHF 200, and no method changes that. The lifetime result is always the book value of the cash that moved minus the book value first recorded — here, 9,300 − 9,500. Methods differ only on when that CHF 200 lands, and how many bookings it takes.

Perfect accuracy is within reach — re-measure that euro receivable every day the rate moves. But first count the bookings it takes. Part 2 runs the example through the two extremes.