How NetSuite Calculates CTA: Cumulative Translation Adjustment Calculator
This calculator shows where the cumulative translation adjustment (CTA) on a NetSuite OneWorld consolidated balance sheet comes from: balance sheet accounts translated at the current rate, income at the average rate and equity at the historical rate, with CTA as the difference that makes the translated balance sheet balance. It is a teaching and reconciliation aid, not NetSuite's internal algorithm.
Your numbers
Your results
Simplified illustration of the current-rate translation method, not NetSuite's internal consolidation algorithm. NetSuite applies rate types per account and per transaction history; reconcile to the consolidated balance sheet.
CTA vs period-end rate
Sweeps Current rate (period end) from 0.9 to 1.3, holding your other inputs fixed.
Get your CTA movement explained
Send the subsidiary balances and rates for two periods and we will break down the CTA movement by rate and by account group.
Optional. The tool and every export work without this. No spam.
Where this lives in NetSuite
Consolidated exchange rates are maintained at Lists, Accounting, Consolidated Exchange Rates, one row per period for each subsidiary-to-parent pair, with a Current, Average and Historical rate. Each account has a General Rate Type field (and a Cash Flow Rate Type) that decides which of the three rates translates its balance; by default asset and liability accounts use Current, income and expense accounts use Average, and equity accounts use Historical. CTA is not an account you post to: NetSuite calculates it and shows it as a line in the equity section of the consolidated balance sheet, which is why it cannot be drilled to transactions like other lines.
- Review the Current, Average and Historical rates for each period before running consolidated reports; edited rates change translated results.
- Changing a General Rate Type changes reported CTA for past periods too.
The method behind the formula
Under the current-rate method, net assets (assets less liabilities) are translated at the period-end rate. Equity is carried at historical rates, opening retained earnings at the amounts translated in earlier periods, and this period's income at the average rate. The local balance sheet balances, but the translated pieces do not, because they use different rates. CTA is the balancing figure: translated net assets minus translated equity, opening retained earnings and current income. If all rates were equal, CTA would be zero; the three component outputs show how much comes from equity, current income and opening retained earnings.
- CTA = (A - L) x current - equity x historical - opening RE translated - NI x average
- The local balance check must be 0 or the inputs are inconsistent.
Worked example
Net assets of 1,000,000 local at 1.10 translate to 1,100,000. Equity of 860,000 at 1.05 is 903,000, opening retained earnings carry 41,600, and income of 100,000 at 1.07 is 107,000. The translated equity side totals 1,051,600, so CTA is 48,400, a gain made up of 43,000 on equity, 3,000 on income and 2,400 on opening retained earnings: the local currency strengthened against the parent over the period while the subsidiary held positive net assets. Move the current rate below 1.05 on the chart and CTA turns negative.
Reconciling to the NetSuite report
Run the consolidated balance sheet for the parent with the subsidiary included, and a balance sheet for the subsidiary alone in local currency. Use the subsidiary totals as inputs and the consolidated exchange rate row for the period. Differences from the reported CTA usually come from accounts with a non-default General Rate Type, intercompany eliminations, opening retained earnings built up from many historical periods, or rates edited after the period closed.
Frequently Asked Questions
How does NetSuite calculate CTA?
NetSuite translates each subsidiary account at the rate set by its General Rate Type, using the Current, Average or Historical rate from the consolidated exchange rate table for that period. The difference needed to balance the translated balance sheet is shown as the Cumulative Translation Adjustment in equity on the consolidated balance sheet.
Where are consolidated exchange rates in NetSuite?
At Lists, Accounting, Consolidated Exchange Rates. Each row is one accounting period and one subsidiary-to-parent currency pair, with Current, Average and Historical rates. They are separate from the daily transaction currency exchange rates used to record foreign currency transactions.
Why can't I drill down into CTA in NetSuite?
CTA is calculated at report time from translated balances rather than posted by transactions, so there are no journal lines behind it. To explain it, compare translated balances by account with their rate types, or rebuild the figure for a period as this calculator does.
What is the General Rate Type on an account?
It is the account setting that decides which consolidated rate translates its balance: Current, Average or Historical. Defaults follow the account type, with balance sheet accounts on Current, income statement accounts on Average and equity on Historical. Changing it alters consolidated results and CTA, so restrict who can edit it.
If your finance team wants to ask NetSuite why CTA moved this month in plain English, with the rates and accounts behind the answer shown, we can set that up on your own infrastructure.
Related Tools
NetSuite Month End Close Checklist
A practical NetSuite period close checklist covering subledgers, inventory and manufacturing, accruals, reconciliations and period lock.
NetSuiteNetSuite Average Cost per Location Calculator
Enter on-hand quantity, current average cost and a receipt with landed cost to see the new location average, COGS on the next issue and the cost change.
Developer ToolsNetSuite SuiteScript N/query runSuiteQLPaged Snippet Generator
Paste a SuiteQL statement and get SuiteScript 2.1 code that runs it with bound parameters, single-shot or paged, with a governance check.
More NetSuite tools
See all- NetSuite Saved Search Formula Generator
- NetSuite CSV Import Template Guide
- NetSuite Role Permission Matrix Worksheet
- NetSuite Inventory Costing Method Reference
- NetSuite License Cost Estimator
- NetSuite User Access Request Form Template
- NetSuite Custom Record Design Spec Template
- NetSuite SuiteScript Deployment Handover Template
- NetSuite Sandbox and Release Change Log Worksheet
Keep exploring
Free tools
- NetSuite Average Cost per Location CalculatorEnter on-hand quantity, current average cost and a receipt with landed cost to see the new location average, COGS on the next issue and the cost change.
- NetSuite SuiteQL Trial Balance Query GeneratorFill in subsidiary, periods and accounting book to get SuiteQL that totals debits, credits and net by account, by account and department, or across two periods.
- NetSuite User Access Request Form TemplateA fill-in access request form for new, changed or removed NetSuite users, with role, subsidiary, segregation of duties review and approval lines.
ERP fixes and how-tos
- How to Set Up Multi-Currency and Revalue Balances in NetSuiteSet up multi-currency in NetSuite: enable the feature, maintain exchange rates, assign customer and vendor currencies, and run Revalue Open Currency Balances.
- 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.
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.