How to Set Up Multi-Currency and Revalue Balances in NetSuite
how to set up multi-currency in NetSuite
Also searched as
- NetSuite revalue open currency balances
- NetSuite unrealized gain loss
- NetSuite exchange rate table update
- NetSuite foreign currency customer setup
Short answer
Enable Multiple Currencies under Setup > Company > Enable Features > Accounting, add currencies at Lists > Accounting > Currencies, maintain rates at Lists > Accounting > Currency Exchange Rates, and run Transactions > Financial > Revalue Open Currency Balances each period. Revaluation books unrealized gain or loss on open foreign balances; payments book realized gain or loss.
Applies to: NetSuite with Multiple Currencies (all editions); OneWorld adds consolidated rates and translation to a subsidiary's functional currency
Set up and run multi-currency
- 1Enable Multiple Currencies at Setup > Company > Enable Features > Accounting and save. In OneWorld, each subsidiary also has a base currency.
- 2Add each currency at Lists > Accounting > Currencies > New, with symbol, precision and rounding. Optionally enable Currency Exchange Rate Integration so NetSuite pulls rates automatically.
- 3Maintain rates at Lists > Accounting > Currency Exchange Rates. Enter the rate against base for each date you need, or review the automatic updates.
- 4Set the customer or vendor currency on the record's Financial / Currencies subtab. Add extra currencies only if you trade in more than one with that party.
- 5Create transactions in the party's currency. The transaction rate defaults from the exchange rate table and can be overridden on the form.
- 6At period end, go to Transactions > Financial > Revalue Open Currency Balances, choose the subsidiary, period and accounts (AR, AP, bank, other), and run it.
- 7Review the journal entries NetSuite creates to the Unrealized Gain/Loss account. They reverse automatically at the start of the next period.
Realized versus unrealized gain and loss
A realized gain or loss appears when a foreign currency invoice or bill is settled at a different rate than it was booked. NetSuite posts the difference automatically when you apply the payment. An unrealized gain or loss is a period-end estimate on balances still open, produced by Revalue Open Currency Balances.
Revaluation applies to balance sheet accounts denominated in a foreign currency: Accounts Receivable, Accounts Payable, bank accounts, and any other account whose currency is not the base. It does not touch income statement accounts. The entry reverses on day one of the next period so the final settlement posts a clean realized result.
Exchange rate maintenance
NetSuite uses the rate effective on the transaction date. If no rate exists for that date, it falls back to the most recent earlier rate, which is how stale rates silently distort a month. Set an owner for rate updates, or enable the exchange rate integration, and check coverage before each close.
In OneWorld, consolidation uses its own rate types (Current, Average and Historical) stored in Consolidated Exchange Rates. Balance sheet accounts translate at current, income at average, and equity at historical, with the difference landing in Cumulative Translation Adjustment. These are separate from transaction rates.
-- SuiteQL: exchange rates for a currency pair, latest first SELECT basecurrency, transactioncurrency, effectivedate, exchangerate FROM currencyrate WHERE transactioncurrency = 2 ORDER BY effectivedate DESC
Things that cannot be changed afterwards
A customer's or vendor's primary currency cannot be changed once they have transactions. If an account was created in the wrong currency, the standard route is a new record in the correct currency and a transfer of open balances, or adding a second currency on the Currencies subtab for future documents.
Account currency is likewise fixed once postings exist. Decide up front whether a bank account is held in the foreign currency or in base, because it controls both revaluation and how statements reconcile.
Try it here, free
NetSuite OneWorld CTA (Cumulative Translation Adjustment) Calculator
Translate a foreign subsidiary's balance sheet and income at current, average and historical rates and see the CTA plug that balances it.
Common pitfalls
- !Running revaluation before all open transactions for the period are entered, which understates or overstates the adjustment.
- !Allowing exchange rates to lag so transactions use an old rate and realized gains look random.
- !Choosing the wrong currency on a customer and discovering it after invoices exist.
- !Confusing transaction exchange rates with consolidation rates in OneWorld reports.
- !Forgetting that the revaluation journal reverses, then being surprised by the opening balance in the next period.
How an ERP-grounded AI assistant handles this
An assistant grounded in NetSuite can answer which open invoices are exposed in a given currency, what the revaluation impact would be at today's rate, and which dates have no exchange rate row. ERPray queries live data read-only and shows the query, so the controller can verify the numbers before running the actual revaluation, which remains a human-approved posting.
Frequently asked questions
What does Revalue Open Currency Balances do?
It adjusts open foreign currency balances in AR, AP, bank and other balance sheet accounts to the period-end rate and posts the difference as unrealized gain or loss to the account you choose. The journal entries reverse automatically in the next period.
Why can't I change a customer's currency?
Once a customer has transactions, NetSuite locks the primary currency because open balances depend on it. Add another currency on the Currencies subtab for new documents, or create a new customer record in the correct currency and move the balances.
Where do exchange rates come from?
You can enter them manually at Lists > Accounting > Currency Exchange Rates or enable Currency Exchange Rate Integration to update them automatically from a rate provider. Either way, each transaction uses the rate effective for its date unless overridden.
Is revaluation needed in a single-currency account?
No. Revaluation only matters when you hold balances in a currency other than the base. If everything is booked in base currency, there is nothing to revalue and the Revalue Open Currency Balances page has no work to do.
Related
How to run intercompany transactions in NetSuite (OneWorld)
Enable the Intercompany Framework and Automated Intercompany Management features (Setup > Company > Enable Features > Company), then create an Intercompany Sales Order or Purchase Order between two subsidiaries in the same NetSuite account; NetSuite auto-generates the matching intercompany transaction on the counterparty subsidiary and posts the elimination journal entries during period close if Advanced Intercompany Journal Entries is also enabled.
How-toHow to Set Up Budgets and Budget vs Actual in NetSuite
In NetSuite, budgets are entered per account, year and optional dimensions (subsidiary, department, class, location) at Transactions > Financial > Set Up Budgets, or loaded by CSV import. Reports such as Budget vs. Actual under Reports > Financial then compare the plan to posted actuals by period.
How-toHow to Build NetSuite Dashboards and KPI Scorecards
NetSuite dashboards are assembled from portlets (KPI, KPI Scorecard, List, Trend Graph, Report Snapshot) added via Personalize Dashboard, where KPI portlets show a single metric with a comparison period and KPI Scorecards show a table of multiple KPIs across time periods and can be published to a role for standardized reporting.
How-toHow to write and run SuiteQL queries in NetSuite
SuiteQL is NetSuite's read-only SQL dialect over the underlying record tables, run either interactively from Analytics > SuiteQL Query Tool (or the older /app/suiteanalytics query page), through REST at /services/rest/query/v1/suiteql, or programmatically via the N/query module in SuiteScript 2.x. It supports standard SELECT, JOIN, WHERE, GROUP BY and window functions against table names that mostly match record type IDs (transaction, transactionline, item, customer).
Error fixFix NetSuite SSS_USAGE_LIMIT_EXCEEDED Error
SSS_USAGE_LIMIT_EXCEEDED fires when a SuiteScript execution consumes all the governance units (usage points) allotted to its script type before it finishes. Fix it by checking runtime.getCurrentScript().getRemainingUsage() before expensive calls, yielding or rescheduling in Scheduled scripts, and moving heavy record-count work into Map/Reduce, which yields automatically across stages.
Error fixFix NetSuite INVALID_FLD_VALUE Error
INVALID_FLD_VALUE means NetSuite rejected a value you tried to set on a field because it does not match the field's expected type, list option, or reference record. Fix it by confirming the internal ID or text value actually exists on that field's source list and matches the field's value type (text versus list versus record reference) before setting it.
AI for ERPAI for NetSuite OneWorld Multi-Subsidiary Consolidation
Grounded AI for NetSuite OneWorld consolidation: intercompany, elimination, and multi-subsidiary questions answered through SuiteQL, without sending financial data to a public model.
AI for ERPAI for NetSuite, Beyond the Built-In Text Tools
NetSuite's built-in AI covers text generation, not grounded answers on your own data. See how a private LLM over SuiteQL adds real Q&A and controls.
Stuck on Oracle NetSuite?
Talk to engineers who work inside Oracle NetSuite every week, and who build private AI that answers these questions from your own ERP data.
New to NetSuite? Start with the NetSuite guide and toolkit, or plan with NetSuite Cost Calculator, Training Path Builder, ERP Certification Study Planner.
Keep exploring
Free tools
- NetSuite OneWorld CTA (Cumulative Translation Adjustment) CalculatorTranslate a foreign subsidiary's balance sheet and income at current, average and historical rates and see the CTA plug that balances it.
- Multi-Currency Month End Revaluation WorksheetRevalue foreign currency debtors, creditors and bank balances at the closing rate and see the unrealised gain or loss per line.
- Africa Multi-Currency ERP Setup WorksheetList the currencies your ERP must handle, key a rate and foreign balance, and see local currency value and the effect of a rate move.
ERP fixes and how-tos
- NetSuite OneWorld: Customer or Vendor Not Available for SubsidiaryCustomer or vendor missing from a transaction in NetSuite OneWorld? Check the entity's Subsidiaries sublist, primary subsidiary, sharing and currencies.
- How to run intercompany transactions in NetSuite (OneWorld)Set up and process NetSuite intercompany sales orders, purchase orders and journal entries across subsidiaries, plus why elimination journals fail to balance.
- How to Set Up Budgets and Budget vs Actual in NetSuiteCreate budgets in NetSuite by account, department, class or location, import them by CSV, and run Budget vs Actual reports to track spend against plan.
Runs with your ERP
- ShipHawk and Oracle NetSuite: carrier rates, labels and trackingHow ShipHawk pulls NetSuite item fulfillments, rate-shops parcel and LTL carriers and writes tracking back, with setup steps, pitfalls and AI uses.
- Avalara and Oracle NetSuite: connector versus SuiteTax connectorHow Avalara works with NetSuite through its standard connector and the SuiteTax connector: tax calculation, returns, exemptions, nexus, setup and pitfalls.
Guides
- How to Set Up Multi-Currency in SyteLineGuide to configuring multi-currency in Infor SyteLine. Set up currency codes, exchange rates, foreign currency transactions, and currency revaluation for global manufacturing.
- SyteLine Multi-Currency Management and Configuration GuideConfigure multi-currency processing in Infor SyteLine including exchange rate tables, currency revaluation, translation, and foreign currency transactions.
- Infor LN Multi-Currency and Exchange Rate ManagementManage multi-currency operations in Infor LN with exchange rate tables, currency revaluation, translation setup, and hedging support for global enterprises.
AI on your ERP
- AI for NetSuite OneWorld Multi-Subsidiary ConsolidationGrounded AI for NetSuite OneWorld consolidation: intercompany, elimination, and multi-subsidiary questions answered through SuiteQL, without sending financial data to a public model.
- NetSuite Month-End Close With AI That Finds the Problems Before the DeadlineAI for NetSuite month-end close: find unposted items, unusual journals, intercompany gaps and accrual candidates with SuiteQL, with controller review on every step.
Integrations
- How to add an AI chatbot to Oracle NetSuiteAdd an AI chatbot to Oracle NetSuite for staff, customers or suppliers: Suitelet or portal embed, grounded answers from SuiteQL, roles, and on-prem models.
- How to use ChatGPT with Oracle NetSuiteConnect ChatGPT to Oracle NetSuite: custom GPT actions, exports versus live access, enterprise data controls, and when a private model is the safer choice.