FX Gain and Loss


Foreign Exchange (FX) gain & loss is tracked when the foreign exchange of the same amount happens at two different time points. For example, an issue invoiced of 100 EUR on Day 1 can be different than the payment of 100 EUR on Day 4 simply because the exchange rate to USD is different during those days. FX within a transaction scenario can either result in liability (FX Loss) or asset(FX Gain).

In this transaction scenario, there are two JE scenarios:

  • Realized FX: FX gains or losses on transactions that have been completed. For example, FX gain & loss between an invoice and a payment.
  • Unrealized FX: FX gains or losses on transactions as of a specific date (often the end of the accounting period). For example, FX gain & loss of an unpaid invoice as of month end.


Required fields

dateThe date on which the FX Gain/Loss needs to be recorded
current_fx_amountthe current converted amount tied to the transaction
original_fx_amountthe original converted amount tied to the previous state of the transaction

Required accounts

fx_accounte.g. FGOL, FX Gain or Loss
non_fx_accounte.g. Accounts Receivable


For example, let's imagine John pre-orders a 75 EUR digital game from Playstation Network on Jan 1st which he purchases on Feb 2nd. He purchases the item in EUR and Playstation would like to report its revenue numbers in USD.

Event 1: Invoice Issued

The invoice is issued to the customer for the game for 75 EUR which translates to 78.75 USD.

DateAccountDebit AmountCredit Amount
01/01/2022Account Receivable$78.75

Event 2: Payment is Processed

On Feb 2, the release day of the game, the payment is processed for 75 EUR. However, the exchange rate between EUR and USD is different on this day and the value debited is different.

DateAccountDebit AmountCredit Amount
Account Receivable$79.91

On the same day, the discrepancy between the reported invoice amount and the payment amount is recorded as a journal entry. The difference between A/R on Feb 2 and Jan 1 will be debited to the A/R account in order to balance out debit and credit. Additionally, the discrepancy will be recorded in an FX account as an FX gain.

DateAccountDebit AmountCredit Amount
02/02/2022Account Receivable$79.91-$78.75 = $1.16
FX Account$1.16 (GAIN)

Event 3: Refund is Issued

Let's say on the 3rd of March, John would like to refund the game as he didn't like it much. He would like to receive the exact same amount that he had paid as per policy. In this case, there are two events that occur.

Firstly, the exact amount of Cash is credited for the 75 EUR. At this point in time, the rate has changed and the value now is 1 EUR = 1.08 USD making the amount 81 USD.

DateAccountDebit AmountCredit Amount

On the same day, the discrepancy between the Revenue previously recorded when the invoice is issued and the revenue debited as part of the refund needs to be accounted for via the FX account. Here the equation Refund: DR (Revenue) - Invoice: CR (Revenue) helps us to understand that the discrepancy must be credited in order to balance the Revenue account and the FX is considered a loss here.

DateAccountDebit AmountCredit Amount
03/03/2022FX$2.15 (LOSS)
Revenue$81 - $78.85 = $2.15