Skip to main content

Understanding Foreign Exchange Gain/Loss Calculation in Bukku

Ailyn Nashwa avatar
Written by Ailyn Nashwa
Updated this week

Introduction

A foreign exchange gain or loss occurs when a company transacts in a foreign currency and the exchange rate fluctuates over time. If the exchange rate rises, the foreign currency holds more value when converted, leading to a gain. Conversely, if the rate declines, the value decreases, resulting in a loss.

Foreign transactions typically lead to unrealised exchange gains or losses due to differences in exchange rates between the invoice or bill issuance and the actual payment.

The distinction between realised and unrealised gains or losses depends on whether the transaction is settled by the end of the accounting period. Unrealised gain or loss reflects changes in the value of an outstanding receivable or payable due to exchange rate fluctuations. These gains or losses remain "unrealised" until the transaction is completed.

For example, if you issue an invoice for US$ 1,000 at an exchange rate of 4.5, you expect to receive RM 4,500. If the exchange rate later drops to 4.3, the invoice is now worth RM 4,300, resulting in an unrealised loss of RM 200. If the exchange rate increases, it leads to an unrealised gain.

Below are different scenarios demonstrating how Bukku automatically calculates exchange gains and losses based on the currency rates applied to each transaction.

Unrealised Gains / Losses

Let's go through how Bukku calculates unrealised gain or loss with an example invoice across different reporting periods.

Scenario A: Invoice Issued But Payment Not Yet Received

Example:

  • Invoice Date : 27/06/2020

  • Invoice Rate : 4.27250005

  • Invoice Amount: US$ 100


Case 1: Invoice Unpaid Within the Same Year

Formula:

Unrealised Gain/Loss = Transaction Amount x (Report Rate - Transaction Rate)

  • Report Date Range : 01/01/2020 - 31/12/2020

  • Report Rate (31/12/2020): 4.022499

Calculation:

US$ 100 x (4.022499 - 4.27250005) = -RM 25.00 (Unrealised Loss)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:


Case 2: Invoice Still Unpaid in the Following Year

Formula:

Unrealised Gain/Loss = Transaction Amount x (Current Report Rate - Last Report Rate)

  • Report Date Range : 01/01/2021 - 31/12/2021

  • Last Report Rate (31/12/2020) : 4.022499

  • Current Report Rate (31/12/2021): 4.174006

Calculation:

US$ 100 x (4.174006 - 4.022499) = RM 15.15 (Unrealised Gain)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:

Scenario B: Payment Received with Overpayment (MYR Bank Account)

Example:

  • Invoice Date : 27/06/2020

  • Invoice Rate : 4.27250005

  • Invoice Amount : US$ 100

  • Payment Date : 28/11/2020

  • Payment Rate : 4.0695

  • Payment Amount: US$ 150 (Overpayment: US$ 50)


Case 1: Unrealised Overpayment Within the Same Year

Formula:

Unrealised Gain/Loss = Overpayment Amount x (Payment Rate - Report Rate)

  • Report Date Range : 01/01/2020 - 31/12/2020

  • Report Rate (31/12/2020): 4.022499

Calculation:

US$ 50 x (4.0695 - 4.022499) = RM 2.36 (Unrealised Gain)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:


Case 2: Unrealised Overpayment in the Following Year

Formula:

Unrealised Gain/Loss = Transaction Amount x (Last Report Rate - Current Report Rate)

  • Report Date Range : 01/01/2021 - 31/12/2021

  • Last Report Rate (31/12/2020) : 4.022499

  • Current Report Rate (31/12/2021): 4.174006

Calculation:

US$ 50 x (4.022499 - 4.174006) = -RM 7.58 (Unrealised Loss)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:

Scenario C: Foreign Currency Transactions in a Foreign Bank Account

When you make a payment from a foreign currency bank account, the system tracks how much your USD balance is worth in MYR at different report dates. Since the payment stays in USD and isn’t converted to MYR, the value of the foreign currency balance in MYR terms fluctuates over time. This change is recorded as an unrealised gain or loss until the money is actually converted or used.

Example 1: Invoice Issued and Paid into a USD Bank Account

  • Invoice Date : 27/06/2020

  • Invoice Rate : 4.27250005

  • Invoice Amount : US$ 100

  • Payment Date : 28/11/2020

  • Payment Rate : 4.0695

  • Payment Amount: US$ 100


Case 1: Report Date Within the Transaction Date

  • Report Date Range : 01/01/2020 - 31/12/2020

  • Report Rate (31/12/2020): 4.022499

Formula:

Unrealised Gain/Loss = Transaction Amount x (Report Rate - Payment Rate)

Calculation:

US$ 100 x (4.022499 - 4.0695) = -RM4.70 (Unrealised Loss)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:


Case 2: Report Date Outside the Transaction Date

  • Report Date Range : 01/01/2021 - 31/12/2021

  • Last Report Rate (31/12/2020) : 4.022499

  • Current Report Rate (31/12/2021): 4.174006

Formula:

Unrealised Gain/Loss = Transaction Amount x (Current Report Rate - Last Report Rate)

Calculation:

US$ 100 x (4.174006 - 4.022499) = RM 15.15 (Unrealised Gain)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:

Example 2: Money Paid Out from USD Bank Account

  • Money Out Date : 12/09/2020

  • Money Out Rate : 4.15349662

  • Money Out Amount: US$ 200


Case 1: Report Date Within the Transaction Date

  • Report Date Range : 01/01/2020 - 31/12/2020

  • Report Rate (31/12/2020): 4.022499

Formula:

Unrealised Gain/Loss = Transaction Amount x (Payment Rate - Report Rate)

Calculation:

US$ 200 x (4.15349662 - 4.022499) = RM 26.20 (Unrealised Gain)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:


Case 2: Report Date Outside the Transaction Date

  • Report Date Range : 01/01/2021 - 31/12/2021

  • Last Report Rate (31/12/2020) : 4.022499

  • Current Report Rate (31/12/2021): 4.174006

Formula:

Unrealised Gain/Loss = Transaction Amount x (Last Report Rate - Current Report Rate)

Calculation:

US$ 200 x (4.022499 - 4.174006) = -RM 30.30 (Unrealised Loss)

Unrealised Exchange Details Report:

Exchange Gain / Loss Summary:

Realised Gains / Losses

  • When a foreign currency invoice is paid, the exchange rate at the time of payment is compared to the exchange rate at the time of invoicing. If the exchange rate changes, a realised exchange gain or loss occurs.

  • Bukku automatically captures exchange losses under the system-created Exchange Loss account (expense type).

  • Example:

    • Invoice Date : 27/06/2020

    • Invoice Rate : 4.27250005

    • Invoice Amount : US$ 100

    • Payment Date : 28/11/2020

    • Payment Rate : 4.0695

    • Payment Amount: US$ 100

  • Formula:

    Realised Gain/Loss = Transaction Amount x (Payment Rate - Invoice Rate)

  • Calculation:

    US$ 100 x (4.0695 - 4.27250005) = −RM 20.30 (Exchange Loss)

  • Since the exchange rate dropped, the company received less RM than expected, resulting in an exchange loss.

  • The system will auto-capture Debit: Exchange Loss Account (RM 20.30) in the sales payment transaction's double entry.

  • You can view your Exchange Gain/Loss Summary:

  • Assuming if the invoice remained unpaid, you would see -RM20.30 as an unrealised loss in the Unrealised Exchange Details Report for the period 01/01/2020 to 28/11/2020.

  • Once the payment is made, the -RM20.30 becomes 'realised' and is recorded under the Exchange Loss account.

Frequently Asked Questions (FAQ)

  1. Where can I find the unrealised gain/loss amount?

    You can check your unrealised exchange gains and losses in Bukku under:
    Reports > All Reports > Unrealised Exchange Detail

  2. Where can I find the realised gain/loss amount?

    You can view your realised exchange gains and losses in Bukku under:
    Reports > All Reports > Exchange Gain/Loss Summary

  3. How does Bukku determine exchange rates?

    Bukku uses exchange rates from https://openexchangerates.org/, which are updated automatically every day. However, you can also manually set or override the exchange rate if needed.

  4. How can I exclude unrealised gain/loss from reports?

    You can exclude unrealised amounts by unchecking the "Include Unrealised Gain/Loss" option before clicking Update in the relevant reports.

  5. Who needs to calculate unrealised gains/losses?

    Unrealised exchange gains and losses are important for:

    • Investors – To assess portfolio performance.

    • Financial Analysts – To evaluate a company’s financial position.

    • Accountants – For accurate financial reporting.

    • Tax Professionals – To consider potential tax implications.

    • Portfolio Managers – To manage investment risks and strategies.

Did this answer your question?