Many organizations must handle different currencies as part of their business. Dealing with multiple currencies always brings challenges, however, such as how to revalue foreign currency or translate financial reports. You may also question the functional currency of an entity.

One thing is certain—manually handling currency conversion and financial report translation can be time-consuming. Luckily, NetSuite offers ways to automate multicurrency processes. With proper setup, NetSuite can manage multiple currencies at the transaction and reporting levels.

Let’s look at four aspects of NetSuite’s multicurrency features:

Currency Management

Setting up the parent company

In a NetSuite OneWorld environment, a parent company needs to be set up in NetSuite. The base currency of the parent company is the reporting currency for consolidated financial reports.

Enabling the multiple currency feature

NetSuite supports multiple currency natively. With the multiple currency feature enabled, you can create transactions for foreign customers and vendors within NetSuite. This feature also provides the function to manage exchange rate fluctuations at both the account and financial report levels.

NetSuite provides currency exchange rate integration with Xignite or Refinitiv.

Setting up subsidiaries with their local currency

It’s important to understand different currency definitions, especially functional, reporting, and transaction currency.

According to ASC 830, “An entity’s functional currency is the currency of the primary economic environment in which the entity operates; normally, that is the currency of the environment in which an entity primarily generates and expends cash.” In a NetSuite setup, the functional currency is the base currency of each subsidiary. Foreign currency transactions can be revaluated to the functional currency based on the configuration.

Reporting currency is what gets stated in your financial reports. You may have multiple reporting currencies based upon various countries’ reporting requirements. For example, say you have a parent company in the United States and a subsidiary in Canada. Your reporting currency for Canadian local statutory reporting will be Canadian dollars. But your consolidated financial reporting currency for the U.S. entity is USD. NetSuite uses a consolidated currency exchange rate to translate your CAD financial report to USD. Cumulative translation adjustment is generated through translation.

Transaction currency is the currency in which any transaction occurs. In the previous example, when a U.K. vendor sends a bill to the U.S. entity in GBP, the transaction currency is GBP. The U.S. entity needs to record this vendor bill in GBP with an exchange rate on the transaction date. In the general ledger, the impact of this transaction will be recorded in USD, since that’s the U.S. entity’s base currency. NetSuite records the financial impact at the transaction level for foreign currency transactions.

Setting up customers, vendors, and employees to transact in different currencies

Transaction currency is managed within entity records—including customer, vendor, and employee records—and transaction records. You can add multiple currencies to each entity or employee record. For example, if a customer needs to receive invoices in USD, CAD, and GBP, all three currencies must be added to the customer record.

Automating currency exchange daily rates

NetSuite provides integration with Xignite or Refinitiv for daily currency exchange rates. This integration provides automatic daily currency exchange rates within NetSuite.

Setting up the CoA with foreign currency

Account setup in NetSuite is the foundation of financial reports. Bank accounts and credit card accounts can be set up in one currency only. Other account types can utilize multiple currencies. Each account needs to be set up with the type of exchange rate that will be used for financial reporting during consolidation. In addition, any account that needs to be revalued for opening balances during month-end should be set up accordingly.

Understanding consolidated exchange rate table and calculating consolidated exchange rates

The consolidated exchange rate table is used to translate financial reports from one entity’s base currency to its parent entity’s base currency. There are three types of consolidated exchange rates supported in NetSuite: current, historical, and average.

The current rate is the month-end exchange rate, normally used for accounts to track monetary assets and liabilities.

The historical exchange rate in NetSuite is a weighted average exchange rate for all transactions recorded to selected accounts selected for each accounting period. It is calculated by NetSuite’s back-end. The historical exchange rate normally is used for equity accounts, non-monetary assets, and liabilities accounts.

The average exchange rate in NetSuite is a weighted average exchange rate for all transactions recorded to selected accounts for each accounting period. It is calculated by NetSuite’s back-end. The average exchange rate normally is used for income statement accounts.

Financial Accounting Impact

Foreign currency transaction remeasurement

Transactions recorded in a foreign currency will be stored in both the transaction currency and the subsidiary’s base currency. Remeasurement then translates financial statement amounts from the foreign currency into a reporting entity’s functional or base currency. You can run NetSuite reports or saved searches to show the transaction currency amount and exchange rate. However, the general ledger impact is stored in each subsidiary’s base currency

Foreign currency transaction translation

Translation is used to express a separate entity’s financial results in its parent entity’s consolidated financial statements when the separate entity’s functional currency is different from its parent’s. Remeasurement affects earnings, and translation affects equity.

Revalue open transaction

At each month end, NetSuite can revalue open, foreign currency transactions. NetSuite compares the month-end currency exchange rate to the transaction exchange rate for all foreign currency transactions that have been recorded and that need to be revalued, thereby calculating and recording unrealized gains or losses. At the beginning of the next month, NetSuite automatically reverses the unrealized gains or losses transactions.


Subledger transactions

All subledger transactions—including posting transactions and non-posting transactions—are supported by NetSuite with the multicurrency feature enabled. Posting transactions can trigger unrealized gains or losses, however. Posting transactions to Accounts Receivable and Accounts Payable accounts can trigger realized and unrealized gains or losses.

Intercompany journal entries

Each intercompany journal entry between different subsidiaries is recorded in one currency. If subsidiaries have different base currencies, NetSuite uses the exchange rate and intercompany journal entry amount to calculate the general ledger impact for each subsidiary.


  • Realized gains or losses. A realized gain or loss happens when a cash transaction is applied to an open invoice, vendor bill, or expense report, or transactions tagging accounts receivable or accounts payable accounts. When the exchange rate of the cash transaction differs from the opening transaction’s exchange rate, NetSuite compares the differences between two exchange rates then multiplies the transaction amounts to calculate the realized gain or loss. The realized gain or loss transaction is a posting transaction. It impacts the income statement.
  • Unrealized gains or losses. An unrealized gain or loss happens to all opening transactions (invoice, vendor bills, expense reports, and other transaction types) during month-end currency revaluation. For accounts set up to be revalued for opening balances, NetSuite will compare the differences between the month-end exchange rate and the transaction currency exchange rate to calculate the unrealized gain or loss. This type of currency revaluation transaction is recorded at the end of each month and reversed at the beginning of the following month. It is a posting transaction with impact on income statement.
  • Realized and unrealized gains or losses reports. NetSuite has two reports out of the box—Realized Exchange Rate Gains and Losses Report and Unrealized Exchange Rate Gains and Losses Report. These two reports provide grids that show the calculated currency revaluation amounts at the transaction level. These reports can be generated for each subsidiary or each consolidated level by a defined accounting period.


Cumulative translation adjustment

The cumulative translation adjustment (CTA) is a currency translation adjustment on the balance sheet, reflecting gains and losses caused by exchange rate fluctuations over time. NetSuite calculates CTA through consolidation and translation. It translates the financial reports according to the rate type set for each account rate as well as consolidated exchange rates.

Consolidated exchange rates

Because of currency fluctuations and different calculation methods for each rate type, the consolidated exchange rate needs to be calculated for each accounting period. NetSuite can be configured to calculate consolidated exchange rates automatically or you may enter them manually.

  • Automatic calculation. Based on the NetSuite algorithm, NetSuite checks the month-end exchange rate for the current rate, calculates the weighted average rate for average rate, and calculates the weighted average rate for historical rate.
  • Direct translation versus indirect translation. A direct parent-child subsidiary relationship has direct financial report translation, showing as Entity C rolling up to Entity B, or Entity B rolling up to Entity A. The indirect translation rate will be calculated by multiplying the currency exchange rate at each level. In the following example, the Entity C financial report in CHF will be translated to USD when consolidating at Entity A using the exchange rate from CHF to GBP multiplied by the exchange rate from GBP to USD.
NetSuite Multicurrency
  • Manual calculation. If you decide not to adopt the NetSuite consolidated exchange rate algorithm, you can manually calculate the average and historical rates and then overwrite them in the consolidated exchange rate table.

CTA balance audit reports

NetSuite provides CTA balance audit as part of out-of-the box reports. The CTA Balance Audit report provides account-level analysis and calculation. It can be generated at each consolidation level by a defined accounting period. For each account, the report provides the beginning balance, net changes, ending balance, CTA analysis, and CTA contribution.

Month-End Closing Process

You can follow NetSuite’s provided month-end close list to manage the foreign currency remeasurement and translation process. After AR, AP, and GL are locked at month end, the following processes become available by sequence.

  1. Revalue currency
  2. Calculate consolidated exchange rate
  3. Run intercompany elimination

During the month, you can run currency revaluation and calculate consolidated exchange rates on the fly. After the accounting periods are closed, you will not be able to re-run the currency revaluation or recalculate the consolidated exchange rate without reopening the accounting period.


Handling foreign currency can be complicated as it involves accounting judgement regarding functional currency and rate type for each account. Our recommended best practice is to define the functional currency, reporting currency, and rate type for each of your accounts. NetSuite then should be configured based on each entity’s accounting policy.

MorganFranklin’s team of accounting and NetSuite experts have extensive experience in multicurrency transactions. Our consultants can help you set up and implement NetSuite features that make it easier to handle foreign currencies and allow you to focus on your business. Contact us today to get a conversation started.

By Brianna Zhang

Talk to one of our NetSuite experts today.