Foreign currency, part 2: the two extremes
Our transaction from part 1: a EUR 10,000 invoice booked at 0.95, worth 9,800 francs at year-end, paid for 9,300 — a CHF 200 loss no method can change. Only the timing is open, so we push it to its two extremes.
Extreme one: revalue every day
The most accurate thing you can do is re-measure the open receivable every day the rate moves, booking the change as an unrealised gain or loss, so the balance sheet is right at the close of every business day. But each of the two middle rows below is not one entry — it is the sum of hundreds of daily ones.
| Date | Booking | Debit | Credit |
|---|---|---|---|
| 1 Oct | Receivable → Revenue | 9,500 | 9,500 |
| every day · Y1 | Receivable → FX gain (sum) | 300 | 300 |
| every day · Y2 | FX loss → Receivable (sum) | 500 | 500 |
| 15 Feb | Bank → Receivable | 9,300 | 9,300 |
By the time the cash arrives the receivable already stands at the spot value, so the payment itself needs no gain or loss. The Year-1 gain is provisional — the first instalment of a position the realised close ultimately absorbs.
Extreme two: only when something happens
The opposite extreme touches the receivable as rarely as possible: leave it at its original value and recognise the difference only when the money arrives, where the loss lands in an FX gain/loss account in the P&L, not on the receivable. Just two bookings for the whole invoice. (Some systems route the drift through a clearing position until close; the timing is unchanged.)
| Date | Booking | Debit | Credit |
|---|---|---|---|
| 1 Oct | Receivable → Revenue | 9,500 | 9,500 |
| 31 Dec | — nothing booked — | ||
| 15 Feb | Bank 9,300 + FX loss 200 → Receivable | 9,500 | 9,500 |
Cheap — but at year-end the books still show CHF 9,500 against a true CHF 9,800, and the whole loss lands in Year 2. Leaving an open position unrevalued misstates the balance sheet, which is why this shortcut is generally not compliant under Swiss CO or IAS 21.
The pragmatic middle: revalue once, at year-end
Between the two sits the method most textbooks teach, and the one Swiss practice follows: leave the receivable alone during the year, then revalue every open position once, at the balance-sheet date — monetary positions at the closing rate (Stichtagskurs), the income statement at the annual-average rate, equity at historical rates. One extra entry buys back an accurate year-end. Prudence does bite asymmetrically (the imparity principle, art. 958c para. 1 no. 5 and 960a para. 2 CO): an unrealised loss is always booked, but an unrealised gain only on short-term operating items, recognised as quasi-realised — on a multi-year FX loan it would have to be deferred. Our receivable is short-term, so the +300 stands.
| Date | Booking | Debit | Credit |
|---|---|---|---|
| 1 Oct | Receivable → Revenue | 9,500 | 9,500 |
| 31 Dec | Receivable → FX gain (revaluation) | 300 | 300 |
| 15 Feb | Bank 9,300 + FX loss 500 → Receivable | 9,800 | 9,800 |
This is the quiet punchline of the series. Compare the periods side by side:
| Regime | Year 1 | Year 2 | Total | 31 Dec value | Bookings |
|---|---|---|---|---|---|
| Daily revaluation | +300 | −500 | −200 | 9,800 | hundreds |
| On payment only | 0 | −200 | −200 | 9,500 | 2 |
| Year-end + on payment | +300 | −500 | −200 | 9,800 | 3 |
When both regimes may book gains and losses alike, daily and once-a-year revaluation report the same annual profit and the same year-end balance sheet — the hundreds of daily entries buy nothing the single one did not. The lifetime realised result is invariant; the interim split depends on the regime and on whether unrealised gains may be recognised at all. Daily work only pays off if you need the books right between year-ends.
Why daily revaluation explodes
The cost is not in our single invoice — it is in the multiplication. Every open receivable and payable must be revalued on every rate move, and re-opening one position can force re-work on related entries. The count grows with positions times rate updates:
| Open FX items | Rate updates / year | Daily bookings | Year-end bookings |
|---|---|---|---|
| 1 | 250 | ~250 | 1 |
| 50 | 250 | ~12,500 | 50 |
| 500 | 250 | ~125,000 | 500 |
A modest importer thus generates six figures of entries a year for the same result a few hundred year-end entries produce — not wrong, just overwhelming. Yet the explosion belongs to methods that translate everything back to one reference currency, not to FX accounting as such. The native-currency trading account from part 1 sidesteps it entirely: its balance is rate-independent, so the books stay accurate at any instant without a single per-rate-move entry — only realisation is booked by hand.
One extreme is too noisy, the other blind most of the year — yet a commodity trader still needs the daily view. Can you be accurate only when it matters? Part 3 weighs the trade-offs and the adaptive middle.
Previously in this series
About Vektor AG
Vektor AG is a growing network of independent fiduciary firms in Switzerland. We combine the strengths of individual companies with the resources and innovative power of a strong group.