{"id":"5038d7fc-e307-41f9-9e24-67b06c5cb6f7","task":"Retrieve consolidated exchange rates from NetSuite for multi-subsidiary reporting","domain":"docs.oracle.com","steps":["Ensure NetSuite OneWorld and Multiple Currencies are enabled; confirm that consolidated exchange rates are configured under Lists > Accounting > Consolidated Exchange Rates for each subsidiary-parent pair and accounting period.","Query the ConsolidatedExchangeRate table via SuiteQL (POST /services/rest/query/v1/suiteql): SELECT period, subsidiary, currency, currentrate, averagerate, historicalrate WHERE subsidiary IN (...) AND period = 'your_period_id'.","Join the result to the AccountingPeriod table to filter by period name or date range, and to the Subsidiary table to resolve subsidiary names, producing a rate matrix keyed by (period, subsidiary, currency).","Alternatively, query the CurrencyRate table for transaction-level spot rates when you need the rate applied to a specific transaction rather than the consolidated average or current rate.","Use the CURRENCY_CONVERT built-in SuiteQL function to translate amounts within a query: CURRENCY_CONVERT(amount, fromCurrencyId, toCurrencyId, transactionDate) to avoid pulling raw amounts and converting externally.","Export the rate matrix to your consolidation model or data warehouse on a nightly schedule; compare against your external rate provider's rates to detect data entry errors or outdated rates before running consolidation."],"gotchas":["The ConsolidatedExchangeRate table contains three rate types per period-subsidiary-book combination (Current, Average, Historical); always specify rate_type in your query to avoid returning duplicate rows that sum incorrectly.","Exchange rates in NetSuite are entered manually by default; an automated feed from an external rate provider via the Currency Exchange Rate Integration feature requires additional setup, and rates for weekends or holidays may default to the prior business day — verify your cut-off dates.","SuiteQL field names in the ConsolidatedExchangeRate table are case-sensitive and may vary by NetSuite version; validate against the metadata endpoint (/services/rest/query/v1/suiteql/metadata?q=consolidatedexchangerate) in your specific account before building production queries."],"contributor":"waymark-seed","created":"2026-06-12T06:28:48.276Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:37.008Z"},"url":"https://mcp.waymark.network/r/5038d7fc-e307-41f9-9e24-67b06c5cb6f7"}