Description
SoftLedger has the ability to accept any fiat currency on any transaction, and convert that transaction to the reporting currency of the entity. This enables users to book transactions in foreign currencies while maintaining their financial statements in their functional currency. The process of converting transactions from a foreign currency into an entity's functional currency is called remeasurement and is required under GAAP. SoftLedger automatically does this for Ledger Account balances that have been flagged for foreign currency remeasurement.
When to set a Ledger Account to remeasure?
When to set a Ledger Account to remeasure?
SoftLedger has the functionality to remeasure accounts that are denominated in a currency other than your functional currency and book the corresponding foreign currency gains/losses. In order to utilize this functionality, you first need to understand which accounts to enable it on. Prior to reading this, make sure you have a good understanding of the basics of remeasurement.
An entity needs to go through the remeasurement process when it has: 1) a transaction in a foreign currency, or, 2) an asset/liability in a foreign currency. In other words, remasurement is needed when you have a foreign currency 1) transaction OR 2) balance
In SoftLedger, when a transaction is posted in a currency other than the functional currency of the Location, it is recorded in both the posted currency and the functional (reporting) currency, calculated with the exchange rate at the time of the transaction. SoftLedger does this automatically, without needing to enable the Remeasure Forex Rates functionality for the account in question. Therefore, if you only have transactions in foreign currencies, you will not need to enable Remeasure Forex Rates for any of your accounts.
However, if you have any balance at any time in a currency other than your functional currency, you should enable the Remeasure Forex Rates for that account. Given that income statement accounts are by nature only transactional accounts, you should never enable this functionality for income statement accounts if using SoftLedger to maintain your books under Generally Accepted Accounting Principles (GAAP) or International Financial Reporting Standards (IFRS).
For example, a company with a functional currency of USD that receives a vendor bill in EUR but plans to pay the bill out of their USD bank account has a transaction in a foreign currency only. No accounts need to be Forex enabled. However, if that same company has a bank account in France that's denominated in EUR, and plans to pay using that account, it has both a transaction in a foreign currency AND a balance in a foreign currency (cash account). Forex remeasurement should be enabled for the EUR cash account. Lastly, if the company will make the payment out of a USD account, but there is a delay between receiving the bill and payment, the Accounts Payable account t should have Forex remeasurement enabled. This will ensure the liability balance remaining prior to payment, which is denominated in a foreign currency, is appropriately remeasured.
Summary:
A Vendor bill in a foreign denominated currency
Forex OFF for the expense account tied to the bill
Forex ON for any Payable accounts where this is bill is accrued
Forex ON for any bank account denominated in a foreign currency that will be used to pay the bill
Forex OFF for any bank account denominated in your functional currency that will be used to pay the bill
Example foreign currency remeasurement case
Below is a simple example of a foreign currency transaction to help illustrate how the remeasurement process works in SoftLedger. Assume the following setup:
Location: US Enterprises
Location reporting currency: USD
Ledger Account: EUR Checking Account 110010
Ledger Account Type: Asset
Remeasure Forex Rates: Enabled
With the above setup, let's review the below transaction in EUR, within US Enterprises, using Account 110010:
DR: EUR Operating Account EUR 10
CR: Revenue EUR (10)
While this Journal was denominated in EUR, SoftLedger will display USD balances in places such as Trial Balance, Financials, etc by storing the foreign exchange rate at the time of the transaction for entries posted in a currency other than the reporting currency.
For this example, let's assume that the EUR to USD forex rate is 1:1 at the time you receive the cash for the revenue earned. In that case, the 10 EUR in the transaction is equal to 10 USD, so the balance for Ledger Account 110010 would be 10 USD when viewing in the USD Enterprises Location (assuming this is the only transaction).
Remeasurement process and result
Assuming this is the only transaction for this account, let's review what would happen when closing the forex task in the accounting periods for January 2022. Within the Admin>Accounting Periods module, if the desired forex rate to use at the end of the month is EUR:USD of 1.1:1, then when closing the Forex Task this would look like this:
Once the forex rates above are approved and the forex task has been closed in the accounting period, the system would review the foreign currency transactions posted to Ledger Account 110010 and create Journal Entries dated January 31, 2022 to convert the foreign currency denominated activity into USD using the inputted forex remeasurement rate of 1.1:1. The end result would look like this:
Forex Remeasurement Journal Entry:
January 31st, 2022 Journal Lines
Dr EUR Checking Account 1 USD
Cr Forex Gain & Loss Account 1 USD
February 1st, 2022 Journal Lines (reversing portion)
Dr Forex Gain & Loss Account 1 USD
Cr EUR Checking Account 1 USD
This would result in the system showing a balance for the 110010 EUR Checking Account of 11 USD when viewing the Trial Balance, Balance Sheet, etc. with an end date or system date set to January 31st, 2022.
This is a simple example with one transaction and one Ledger Account and Location combo, but this same process takes place for all Journal Lines involving an eligible Ledger Account to be remeasured with all Location combos the Ledger Account appears in. This would include the Journal Entry happening at a subsidiary level, and moving up to display in parent level Locations.