Nexto
HomeBlogAccounting
Accounting

FX Position and Revaluation Profit — The Hidden Core of Bureau de Change Profit

Most exchange offices see trading profit but miss revaluation profit. What an FX position is, how realized and unrealized profit differ, and why weighted average cost changes everything.

7 min read · Nexto team · Last updated: July 17, 2026

Imagine a bureau de change where every single trade has been profitable. Each time, it sold a few rials above its purchase price; the books are full of green numbers. But at month-end, when the accounts are checked, there is less money than expected. No theft. No missing voucher. So where did the money go?

The answer is one word: revaluation. And an exchange business that does not understand this word will always be out of sync with reality — even when everything has been recorded correctly.

What does FX position mean?

FX position is the simplest and at the same time most ignored number in an exchange business:

In each currency, how much net open exposure do you have — and at what average cost did you acquire it?

Suppose today you bought 50,000 dirhams and sold 30,000 dirhams. Your dirham position is 20,000 open dirhams. Those 20 thousand dirhams are sitting in your inventory, and their value moves up and down with the market rate every moment — without you doing anything.

This “openness” means being exposed to risk. As long as you hold the dirhams, every rate movement affects your wealth. The general ledger tells you how many dirhams you have; the FX position tells you how much you are at risk.

Why is “profit per trade” misleading?

This is exactly where most exchange businesses calculate it wrong.

The common method: “I sold 10,000 dirhams 5 rials above my purchase price, so I made 50,000 rials profit.” This calculation is only correct if you bought those same dirhams on the same day at the same rate. But your dirham balance is a pool: filled from ten different sources at ten different rates.

When you sell, you sell from the pool, not from one specific purchase. So the real profit on each sale is:

sale rate − weighted average cost of the inventory at that moment

And this average changes with every new purchase. Let’s see it with numbers.

Example: how the average changes everything

Suppose we track the price of each dirham in rials:

Event Amount Rate Inventory average after the event
First purchase 10,000 dirhams 15,000 15,000
Second purchase 10,000 dirhams 17,000 16,000
Sale 5,000 dirhams 16,500 16,000 (unchanged)

At the moment of sale, your average cost is 16,000, not 15,000 (the first purchase) and not 17,000 (the second purchase). The real profit on this sale:

(16,500 − 16,000) × 5,000 = 2,500,000 rials

If you calculated it using the first purchase rate, you would show 7,500,000 as profit — three times the reality. That difference is the money that “goes missing” at month-end: it never existed.

Without weighted average cost, your profit is a guess. And guesses are always optimistic.

Two types of profit that must not be mixed

Now go back to those 20,000 open dirhams you have not sold. The dirham rate has changed today — your wealth has changed, without any trade. This change creates two types of profit:

  • Realized profit: when you actually sold and the rate difference was cashed in. This money is in your pocket.
  • Unrealized profit: on the open balance you have not sold yet. You have it on paper, not in your pocket. With the next rate move, it can vanish.

Revaluation means exactly this: updating the value of the open inventory at the current rate, so your books do not drift away from reality.

The critical point is this: If you do not separate these two, you mistake paper profit for real money. Exchange businesses that lose money overnight in heavy volatility are usually the same ones that spent months treating unrealized profit as real profit and spending it. When the market reversed, it turned out that profit had never belonged to them.

The currency position report in Nexto — net open and average cost per currency

The currency position report in Nexto — net open and average cost per currency

Open position: friend or enemy?

An FX position is not bad by itself; not knowing it is bad. Separate these three cases:

  • Intentional position: you think the dirham will rise, so you deliberately stay open. This is a bet — no problem if your eyes are open, provided you know how much you have bet.
  • Accidental position: an open balance remains at the end of the day because you were not watching. This is dangerous, because you have risk without wanting it.
  • Zero position: you have sold each currency in the same amount you bought it. You have taken your commission and you are not exposed to rate movement. For most exchange businesses, this is the daily target.

A common practical rule: an exchange business does not sit overnight in an inflationary currency. If your base currency is the dollar and at the end of the day you still have some toman or lira open, it is usually better to convert it to dollars with a counterparty that same night — because the value of the toman may melt by tomorrow morning. A stable currency can be held; a falling currency cannot.

But all of these decisions have one prerequisite: you must know, at every moment, how open you are in each currency. Without this number, you are deciding in the dark.

Why Excel falls short here

Calculating position with a weighted average, updated with every trade, is almost impossible in Excel — because the average changes with every purchase, and every sale must be measured against the average of that exact moment, not the closing average. A simple formula will not capture this; you need a time-based replay of transactions.

That is why FX position is something either the software keeps for you, or you do not really have it at all. In Nexto, the position of each currency — net open amount and weighted average cost — is updated alongside the ledger itself and simultaneously with every entry; the profit on each trade is also calculated on this basis, in real time. It means the three questions this article raised — how open am I, what is my average, how much was the real profit on this trade — are always one glance away, not one night of manual calculation away.

Three questions you should answer every night

  1. How open am I in each currency? If I have an open position in a currency where I did not want one, I should close it tonight.
  2. Is today’s profit real or on paper? Separate realized from unrealized — only the first is spendable.
  3. Has any trade been recorded at an outlier rate? Strange profit almost always means a wrong rate, not an extraordinary trade.

Summary

Exchange profit has two halves: the visible half (the rate spread on each trade) and the hidden half (the effect of rate movement on open inventory). Most exchange businesses see only the first half, and that is why for months they think they are more profitable than they really are.

Three tools make this hidden half visible: weighted average cost (real profit on each trade), separation of realized from unrealized (real money from paper money), and open position (the risk you are sitting on). Once you have all three, month-end no longer surprises you.

If you want to see what a live FX position looks like in a real system, create a dedicated demo and enter a few trades — and watch how your inventory average shifts with every purchase.

See all of this inside Nexto

A complete, private instance with sample data — no install, no credit card.

Create free demo Related features ←
Chat on WhatsApp