Overview
The Unrealized Foreign Exchange (UFX) process simulates the effect of settling open transactions sourced in foreign currency. It can be run either informally at any time or formally at period end. Formal, period-end UFX runs can be posted to the General Ledger as accruals (reversed entries in the following period).
Background for non-accountants
In large part, the usefulness of financial accounting depends on knowing the cash value of certain assets and liabilities. The whole accounting edifice rests on the assumption that a company knows how much money it has, how much it has to pay to discharge its debts, and how much its customers must pay to discharge theirs.
All companies keep their books in their home (or functional) currency, but
-
Some assets consist of foreign currency held in foreign currency bank accounts and
-
Other assets (such as AR) and some liabilities (such as AP and accrued AP) are denominated (valued) in foreign currency.
The realizable value of these assets and liabilities changes as exchange rates change, and exchange rates change constantly.
The main purpose of the UFX process is to temporarily adjust / re-state the home currency value of these assets and liabilities to their current value for period-end financial reporting. A secondary purpose is to get glimpses of the current value of some or all of these accounts during the month without actually booking their changes in value.
Types of General Ledger accounts processed (See
GL Accounts (Chart of Accounts))
There are two general kinds:
Monetary Cash: These are foreign currency bank accounts. There is only one currency for any bank account.
Monetary Non-Cash: These are asset or liability accounts whose balances originate, at least partly, in one or more foreign currencies. There are four kinds of Monetary Non-Cash accounts:
-
AR Control Accounts can contain invoices stated in any number of currencies. Since invoices are posted and settled continuously, there is no single rate of exchange from each foreign currency to the home currency that applies to the entire account balance. Rather, each AR document carries its original rate of exchange, and at settlement (and at the simulated settlement performed by the UFX process), a gain or loss on foreign exchange is calculated for each document as the difference between the value at the original document rate and the value at the current rate at the time of settlement.
-
AP Control Accounts. Everything said above about AR Control Accounts is also true of AP Control Accounts.
-
Accrued AP Accounts, also sometimes called Unvouchered Receipts or Goods Received Not Invoiced (GRNI) accounts. Each receipt of goods purchased in a foreign currency is valued upon receipt at the rate of exchange in effect at the time of receipt. When the receipt is matched to a vendor’s invoice (and when the UFX process is run), a gain or loss on foreign exchange is taken based on the change in the rate of exchange since the receipt.
-
Other Monetary Non-Cash Accounts, for which there is no ERP-side sub-ledger showing transaction-by-transaction historical rates of exchange. Such accounts are limited to one source currency per account, and historical rates of exchange for them must be maintained in the GL Historical Rate object. The UFX calculation is performed on the account balance as of the UFX Run Effective Date (see below), and individual transactions are not considered.
Two modes of operation to run UFX
Official period-end mode: This mode produces accrued General Ledger entries for unrealized gains and losses on foreign exchange. In this mode:
-
All Monetary Cash and Monetary Non-Cash accounts are examined. If UFX for any combination of GL account and foreign currency cannot be calculated because any hard prerequisite (see below) has not been met, nothing in the entire run can be posted. Either the entire run is correct, or none of it is.
-
Cut Off Date and As of Date Exchange Rate (see Fields below) must be the same and must be the last day of the period for which UFX is being calculated. If an Official period-end run has already been posted for the period, no new run can be created. If an unposted Official period-end run for the period exists, it must be purged before a new one can be created.
-
Month-end exchange rate schedules must be used for calculating current values.
-
Posted Official period-end runs cannot be purged.
Casual mode: A run is deemed to be in Casual mode if Official Period-end Version? is not checked. This mode checks the current status of one or more Monetary Cash and Monetary Non-Cash accounts. Runs created in Casual mode cannot be posted.
-
Any or all Monetary Cash and Monetary Non-Cash accounts can be selected.
-
Any number of casual runs may be created, left in place, or purged.
-
Any date may be used for Cut Off Date and As of Date Exchange Rate (see Fields below).
-
Month-end or Current spot exchange rate schedules may be used to calculate current values.
Prerequisites
Hard prerequisites
Good-practice prerequisites: These prerequisites represent good practice for both Casual and Official period-end modes, but (1) they are not mechanically enforced by the UFX process, and (2) users may wish to relax one or more of them when running in Casual mode.
-
Monetary Cash accounts: The most recent Bank Statement should be fully entered and posted. There should be no Cash Receipts or Payment Selection sessions dated prior to the UFX run date in process and awaiting posting to the account.
-
AR Control account: There should be no unposted Sales Order Invoicing sessions, Receivable transactions/sessions, or Cash Receipts sessions dated prior to the UFX run date in process and awaiting posting to the account.
-
AP Control accounts: There should be no unposted PO-AP Match sessions, Payable transactions/sessions, or Payment Selection sessions dated prior to the UFX run date in process and awaiting posting to the account.
-
Accrued AP accounts: There should be no unposted PO Receipts or PO-AP Match sessions dated prior to the UFX run date in process and awaiting posting to the account.
-
Other Monetary Non-Cash account balances should be as current as possible.
Key terms that appear in various places on the screen:
-
A UFX Run is both a single UFX calculation session and that session’s results.
-
The UFX Run Number is a sequentially assigned number that identifies the UFX Run.
-
The UFX Run Date is the date on which the UFX Run was created.
-
The UFX Run Effective Date. See As of Date Exchange Rate, below.
-
Foreign Currency Value: The value of a transaction or account balance in the foreign currency.
-
Home Currency Value Before UFX: The home currency value of a transaction or account balance at the applicable historical rate.
-
Home Currency Value After UFX: The home currency value of a transaction or account balance at the rate effective on the UFX Run Effective Date. See Month-end or Current Rate, below.
-
Variance equals Home Currency Value Before UFX minus Home Currency Value After UFX.
-
Gain/(Loss) equals either Variance or Variance with its sign reversed, depending on whether the account is an asset or a liability. Positive Variances are gains for assets and losses for liabilities.
Processing
Navigation
Multiple Currency > UFX Run
Fields:
Company: The company that has performed or will perform a UFX run. It is set to the user’s current company.
Official Period-end Version?: If checked, the run may be posted to the GL, and it determines the desired mode of operation.
All Accounts: If checked, all GL Accounts having Fx Types of Monetary Cash and Monetary Non-Cash will be selected, and From GL Account and Through GL Account will be ignored.
-
If Official Period-end Version? is true, this will automatically be checked.
-
If Official Period-end Version? is false, the user may elect to process all accounts or a selected account range.
From GL Account: If filled in, GL Accounts with Fx Types of Monetary Cash and Monetary Non-Cash starting from this account will be selected.
-
If Official Period-end Version? is true, this field is disabled.
-
If Official Period-end Version? is false and the user has not checked All Accounts, the user must select the start of the account range.
Through GL Account: If filled in, GL Accounts having Fx Types of Monetary Cash and Monetary Non-Cash ending with this account will be selected.
-
If Official Period-end Version? is true, this field is disabled.
-
If Official Period-end Version? is false and the user has not checked All Accounts, the user must select the end of the account range.
Cut Off Date: Defaults to As of Date Exchange Rate but can be overridden. No transactions dated after the Cut Off Date will be processed, but transactions dated on it will be. This is the latest date of any General Ledger postings, PO receipts, AR, AP, and cash transactions which will be considered by the UFX process.
-
If Official Period-end Version? is true, Cut Off Date must be the same as the As of Date Exchange Rate, and must be set to a defined (in the Fiscal Year object) period ending date.
-
If Official Period-end Version? is false, the user is free to select any date desired.
Month-end or Current Rate
-
If Official Period-end Version? is true, this must be set to Month End Spot Rate.
-
If Official Period-end Version? is false, the user may select either Month End Spot Rate or Current Spot Rate. (Of course, no Month End rate will be available for Casual runs created during the month.)
As of Date Exchange Rate: This is the effective date for retrieving Month End Spot Rate or Current Spot Rate exchange rates from the Foreign Exchange Rate Schedule object. It will become the Run Date of the UFX Run.
-
If Official Period-end Version? is true, As of Date Exchange Rate must be the same as the Cut Off Date and must be set to a defined (in the Fiscal Year object) period ending date.
-
If Official Period-end Version? is false, the user is free to select any date desired, provided that Foreign Exchange Rate Schedules of the selected type are defined for each foreign currency within the scope of the UFX Run.
Action
New UFX Run: Click this button to run the UFX.
The UFX Run process will generates three types of records:
-
A UFX Run record contains unrealized gains and losses consolidated at the GL Account level.
-
UFX Account / Currency Summary records, which contain unrealized gains and losses at the GL Account and Currency level.
NOTE The 'Cash Account Net Change Since Last State' on the created UFX Account / Currency Summary will be calculated by summing all Debits and Credits associated with unreconciled Bank Account Transaction(s), as well as reconciled Bank Account Transactions, if the the bank statement has not yet been posted.
-
UFX Details records, which contains the unrealized gain/loss and variance of the transactions (JE postings, AR, and AP postings).
NOTE The UFX Run will exclude the GL Account that doesn't have a Bank Balance or GL Balance.
The previous UFX Run records will be displayed in the table, and the user can Post the UFX Run and/or Purge Unposted Run.
NOTE Based on the flag 'UFX – Consolidate GL Postings' on the Financial Company Master, the accrued General Ledger entries will be created as mentioned below:
-
When the flag 'UFX – Consolidate GL Postings' is checked, on posting the UFX Run, the accrued General Ledger entries are created for unrealized gains and losses from the corresponding UFX Account / Currency Summary records.
-
When the flag 'UFX – Consolidate GL Postings' is not checked, on posting the UFX Run, the accrued General Ledger entries are created for unrealized gains/losses from the corresponding UFX Detail records.
Error Handling:
There are quite a few possible error conditions that, if encountered, will prevent a UFX run from posting. Some of these errors are briefly displayed while the run is in progress, and some are only summarized in the results. It is difficult for users to determine precisely why a run failed, especially when so many UFX Detail records have been created. To alleviate this problem, Rootstock stores error message text in UFX Run, UFX Account Summary, UFX Account / Currency Summary, and UFX Detail records and redisplay these errors after the run has been saved. These errors can be viewed by clicking the Show Errors button.
Historical rate calculations
-
Monetary Cash (bank accounts): The historical rate equals the GL account balance divided by the sum of the last bank statement balance and any unreconciled system bank transactions (in the bank account currency) generated on or before the UFX Run Date.
-
AR and AP Control Accounts: The historical rate is the document rate captured for the document’s Transaction Date at the time the document is created.
-
Accrued AP Accounts: The historical rate is the PO Receipt rate captured at the time of the PO Receipt.
-
Other Monetary Non-Cash Accounts: The historical rate is retrieved from the GL Historical Rate object (see the GL Historical Rate article).
Reports
A number of Standard Salesforce reports for UFX are available in the Rootstock Financial Reports folder. These include a summary of the UFX runs completed, exceptions for '0' exchange rate transactions, and UFX run detailed reports (posted and non-posted runs).
SEE ALSO