FX Revaluations

A guide to FX Revaluations in Fynapse.

What Is FX Revaluation?

FX revaluation is the process of updating balances in functional and reporting currencies to the latest FX rates. The aim of the process is to capture the value of the fluctuating exchange rates and make sure we report that fluctuation in financial statements. This is different from FX conversion which happens on the Journal amounts.

When balances are first created, they use the FX rate applicable to the Posting Date of the Journal using a pre-defined set of FX rates to derive the functional and reporting currency amounts. The aim of the revaluation process is to adjust the FX rates of Journals from balance sheet accounts on an ad-hoc basis that move balances in both functional and reporting currencies as per the FX rate shift to a designated account.

FX revaluation is performed on balances. That is, it is a revaluation of a balance, not an individual Journal.

FX_reval.drawio
Revaluation Calculations

Why Do We Need to Perform FX Revaluation?

FX revaluation is performed to ensure the accuracy of financial statements and maintain an accurate record of what is owed and due, while factoring in foreign currency exchange rates. In certain situations, FX revaluation may be necessary to comply with tax laws.

If a company performs a financial transaction that involves a foreign currency, they are required to do a revaluation at the end of the given period. This is to ensure that records accurately reflect the realized or unrealized gain or loss, and to comply with the company’s financial reporting requirements.

If revaluation is not performed by the time the books close, a company is at risk of reporting inaccurate financial data.

For example, in the US, FX revaluation is performed to ensure compliance with Foreign Exchange reporting guidance.

The Foreign Exchange reporting guidance was first issued under the Statement of Financial Accounting Standards No. 52 (FAS52) in December 1981 and later updated by the Accounting Standards Codification Topic 830 (ASC830) in March 2013. Based on this guidance, a company is required to report as per these standards, which state that you are required to identify the functional currency of your company’s economic environment (i.e., local currency) which may differ from the reporting currency (i.e., base currency).

Transactions on a company’s books that are not recorded in the functional currency have to be translated to their functional currency equivalent before being translated into their reporting currency equivalent. This is intended to produce the same result as if the transactions were maintained in the functional currency to begin with. Thus, you can report on the foreign exchange exposure between functional and reporting currency as per the standard.

FX Revaluation Process

Input

For FX revaluation process to occur, you need the following data:

GL Account

FX revaluation configuration defines the rules for revaluation, i.e., determining the GL Accounts, Offset Accounts, Rate Sets, Journal Code.

FX revaluation is performed on balances. In order to aggregate balances, you need to define conditions of aggregation. These are defined on the level of Dimension Sets.

The Dimension Sets are assigned to Accounting Basis, which together with Subledger Nodes constitutes the combination to which FX revaluation configurations are assigned.

Revaluation date

You need to choose for which date a revaluation is run, i.e., for which date Fynapse should aggregate balances which will then be re-calculated by the FX revaluation process.

Calculation

FX revaluation is calculated as follows:

Transaction Amount

No revaluation occurs for Transaction Amount. Therefore, Transaction Amount will always appear with “0” value on Journals generated by the FX revaluation process.

Functional Amount

The FX revaluation for functional amounts is calculated as follows:

Transaction Balance @ Specified date *  FX Rate @ Specified date - Functional Balance @ Specified date

Where

  • FX Rate - is a rate set you defined in the Exchange Rate Entity
  • source currency - transaction currency
  • target currency - functional currency

Reporting Amount

The FX revaluation for reporting amounts is calculated as follows:

{basic amount for reporting currency} @ Specified date * FX rate @ Specified date - Reporting Amount Balance @ Specified date

Where 

  • for a reporting amount calculated on the basis of the transaction currency:
    • {basic amount for the reporting currency} is a balance for the transaction amount
    • FX rate - the rate set you defined in the Exchange Rate Entity
      • the source currency - the transaction currency
      • the target currency - the reporting currency
  • for the reporting amount calculated on the basis of the functional currency:
    • {basic amount for the reporting currency} is a balance for the functional amount including a value of functional amount calculated in the point above
    • FX rate - the rate set you defined in the Exchange Rate Entity
      • the source currency - the functional currency
      • the target currency - the reporting currency

Output

The FX revaluation process creates Journals for each change in the amount caused by the revaluation process. These Journals are posted to the specified GL and Offset Accounts.

Prior-date changes

If a balance for a prior day/period changes, the FX revaluation for that balance should be re-run (for any dates for which the balance has changed), with the FX revaluation journal(s) posted to the appropriate open date (per the configuration).

Prerequisites

General Configuration
Accounting BaseIFRS17
Dimension SetDimension_set_1
NodeGB_COMPANY
Functional Currency for Node: GB_COMPANYGBP
Reporting currencyUSD
Calculation method of reporting amount:On the basis of Functional Amount
Rate setBasic_rate_set
Dimension_set_1
Posting Date
GL Account
Accounting Basis
Transaction Currency
Local Currency
Accounts List
Account numberDescription
100100Basic value of municipal bonds
100101Incomes from municipal bonds coupon
100200Banking account
200100Profit/Loss from FX rate changes
FX Rate Entity
Rate setDateSource CurrencyTarget currencyFX Rate
Basic_rate_set9/1/2023PLNGBP0.2000000000
Basic_rate_set9/1/2023GBPUSD1.2000000000
Basic_rate_set9/15/2023PLNGBP0.1988000000
Basic_rate_set9/15/2023GBPUSD1.2300000000

Initial State

The following Business Event was sent to Fynapse:

EventCompanyPosting DateTransaction CurrencyTransaction Amount
Purchase_investment_productGB_COMPANY9/1/2023PLN10,000.00

This Business Event generated the following Journals:

Journal IDCompanyPosting DateAccounting BaseTransaction CurrencyTransaction AmountFunctional CurrencyFunctional AmountReporting Amount USDAccountJournal Type
03f6115f-9580-4f9c-af82-f1539f12c893GB_COMPANY9/1/2023IFRS17PLN10,000.00GBP2,000.002,400.00100100Permanent
03f6115f-9580-4f9c-af82-f1539f12c893GB_COMPANY9/1/2023IFRS17PLN-10,000.00GBP-2,000.00-2,400.00100200Permanent

Based on these Journals, the following balance was queried for Account 100100:

Balance dateCompanyAccounting BaseAccountTransaction CurrencyBalance (transaction amount)Functional CurrencyFunctional AmountReporting amount USD
9/1/2023GB_COMPANYIFRS17100100PLN10,000.00GBP20002400

An FX revaluation process was run on for the following revaluation date: 09/15/2023.

Configuration of revaluation
GL Account100100
Offset Account200100
Journal CodeRevaluation_permanent
Revaluation date09/15/2023

Taking into account the FX rates from the FX rates for 09/15/2023:

ParameterAmountCurrency
Transaction amount0PLN
Functional amount-12.00GBP
Reporting amount45.24USD

The following Journals were created to account for currency fluctuations:

Journal IDCompanyPosting DateAccounting BaseTransaction CurrencyTransaction AmountFunctional CurrencyFunctional AmountReporting amount USDAccountJournal Type
07d6ed1d-d164-431a-b2c5-e8cc2a0889f9GB_COMPANY9/15/2023IFRS17PLN0.00GBP-12.0045.24100100Revaluation_permanent
07d6ed1d-d164-431a-b2c5-e8cc2a0889f9GB_COMPANY9/15/2023IFRS17PLN0.00GBP12.00-45.24200100Revaluation_permanent

Following the adjustment, balance for account 100100 for 09/15/2023 changed to:

CompanyAccounting BaseAccountTransaction CurrencyBalance (transaction amount)Functional CurrencyFunctional AmountReporting amount USD
GB_COMPANYIFRS17100100PLN10000GBP1,988.002445.24

A multinational entity with branches in the UK and the US. Sometime ago this company acquired a German entity and the US branch assumed its liabilities and assets in EUR.

Prerequisites

Dimension_set_1Dimension_set_2
Accounting BasisAccounting Basis
AccountAccount
Transaction CurrencyTransaction Currency
Local CurrencyLocal Currency
Reporting SEKReporting SEK
RegionRegion
Financial instrument
Accounting Bases defined
NameDescriptionReporting amount calculated fromDimension setAssigned NodesAssigned FX rate set
IFRSIFRS Financial StatementsFunctional amountDimension_set_1GBfx_rate_set
US_GAAPUS GAAP Financial StatementsTransaction amountDimension_set_2GB, USfx_rate_set_2
Node Configurations
RegionTimezoneConfigurations
GBGreenwich2
USSystemV/EST51
FX Rate Entity
Rate setDateSource CurrencyTarget currencyFX Rate
fx_rate_set3/1/2023GBPSEK13.1856
fx_rate_set3/1/2023EURGBP0.8568
fx_rate_set3/1/2023EURSEK11.2974
fx_rate_set_23/1/2023USDSEK10.4102
fx_rate_set_23/1/2023EURUSD1.0776
fx_rate_set_23/1/2023EURSEK11.2974
fx_rate_set3/2/2023GBPSEK13.1858
fx_rate_set3/2/2023EURGBP0.8568
fx_rate_set3/2/2023EURSEK11.2974
fx_rate_set_23/2/2023USDSEK10.405
fx_rate_set_23/2/2023EURUSD1.078
fx_rate_set_23/2/2023EURSEK11.2974

An FX revaluation process was run on for the following revaluation date: 03/02/2023.

Taking into account the FX rates from the FX rates for 03/02/2023:

Configuration of Revaluation
Account50550
Offset500100
Revaluation date3/2/2023
Joural TypeREVAL_PERM

Balance queried for Account 50550 for 03/02/2023:

Trade DateAccountAccounting BasisRegionFinancial instrumentBalance (transaction amount)Transaction currencyLocal AmountLocal CurrencyReporting SEK
3/1/202350550 - Liability: RevaluationIFRSGBShort-term loans375.67EUR321.87GBP4244.05
3/1/202350550 - Liability: RevaluationUS GAAPUS1527.33EUR1308.62USD17254.86

After revaluation based on the relevant FX rates, the following changes have to be accounted for:

ParametersTransaction amountFunctional amountReporting SEK
IFRS/GB/Short-term0.000.000.12
US GAAP/US0.00337.840.00

The following Journals were created to account for currency fluctuations:

Trade DateJournal IdJournal Line IdAccounting BasisJournal Type (Permanent / Reversing)AccountTransaction AmountTransaction CurrencyLocal AmountLocal CurrencyReporting SEKRegionFinancial instrument
3/2/2023Reval_IFRS/GB/Short-termReval_IFRS/GB/Short-term_L1IFRSREVAL_PERM50550 - Liability: Revaluation0.00EUR0.00GBP0.12GBShort-term loans
3/2/2023Reval_IFRS/GB/Short-termReval_IFRS/GB/Short-term_L2IFRSREVAL_PERM5001000.00EUR0.00GBP-0.12GBShort-term loans
3/2/2023Reval_US GAAP/USReval_US GAAP/US_L1IFRSREVAL_PERM50550 - Liability: Revaluation0.00EUR337.84USD0.00US
3/2/2023Reval_US GAAP/USReval_US GAAP/US_L2IFRSREVAL_PERM5001000.00EUR-337.84USD0.00US

Following the adjustment, balance for account Account 50550 for 03/02/2023 changed to:

Trade DateAccountAccounting BasisRegionFinancial instrumentBalance (transaction amount)Transaction currencyLocal AmountLocal CurrencyReporting SEK
3/1/202350550 - Liability: RevaluationIFRSGBShort-term loansEUR321.87GBP4,244.114244.05
3/1/202350550 - Liability: RevaluationUS GAAPUSEUR1,646.46USD17,254.8617254.86

FX Revaluation Screen

The FX Revaluation screen allows you to perform FX revaluations.

The screen includes:

  • The Run button - allows you to run the process
  • The Show logs button - redirects you to the RX Revaluation logs screen, where you can browse information about previous FX revaluation runs.
  • A grid which comprises:
    • Information about Accounting Base and Node combinations and Revaluation configurations assigned to the given combination
    • Last run status - the status of the process
    • Last run for - the date for which the given revaluation was run
    • Last run at - the timestamp for when the revaluation run was started
    • Actions - the Actions column allows you to perform the following:
      • Rerun - rerun the revaluation for the date in the Last run for column
      • Open journals - redirects you to the Journals screen in the Subledger, where the system automatically runs a query based on the Ingestion ID of the Journals which underwent revaluation
      • View errors - if a run is unsuccessful, you can view the errors in a pane that opens on the right-hand side of the screen.

Tutorials

For more details on configuring FX revaluation, refer to Multiple Currencies Configuration.

  1. Go to Subledger > FX Revaluation.
  2. Select the Revaluation date.
  3. Select the Accounting Base/Subledger Node combination for which you want to run the revaluation.

    You can run a revaluation for multiple selections.

  4. Click the Run button to perform FX revaluation.