Calculating FX Gains and Losses
FX Gains and losses are calculated when allocating payments and credits to invoices. It is calculated based on the difference in the rates between the transactions - i.e., the FX rate of the invoice and the FX rate of the payments or credits.
A system setting in System Configuration > Creditors - AutoSetAllocationDateToMostRecent will force new allocations to have the allocation date to be the most recent date between the debit and credit transaction.
Gains and losses are calculating when activating an EFT Cheque Batch or performing allocations in the creditor record.
Here is an example where prepayments have been made using the Creditor Payment form for purchases entered via Creditor Purchase form.
Allocating the first payment to the first invoice calculates the loss/gain, updates the creditor transactions and posts a journal at the login date (31 August 2023 in this case). The calculation is
(FX Credit Amount / Invoice Rate - FX Credit Amount / Credit Rate)
1,000/.500000 - 1,000/.450000
2,000 - 2,222.22
Loss of 222.22
A Creditor Allocation Batch is created as the journal is posted and can be drilled to from the journal set or loaded from the Creditors > Transactions > Allocations menu item. The batch date is the login date that the allocation was done.
This is reflected in the creditor record as a positive against the invoice and a negative against the credit
The actual allocation date against the transactions is the more recent of the two - in this case 1 June 2023.
Where the allocation is reversed or changed, a journal is posted, reversing the original entry at the login date and another Creditor Allocations Batch is created and referenced in the journal
Where multiple allocations are done at the same time, the journal is consolidated and posted for the net gain or loss. In this example, both credits are allocated to the two invoices
In versions earlier than 7.02.01 SR19, the posting of the journal at the login date can cause temporary variances in the creditors reconciliation reports.
Running the report at 30 August 2023 shows a variance that is a result of of the journal being posted on 31 August 2023
Running this report on or after the journal posted date brings that variance back to 0.00
This has been addressed in Version 8.