Parallel currencies in Dynamics 365 Finance

How Dynamics 365 Finance handles parallel reporting currencies — accounting currency, reporting currency, and tax currency, with the consolidation implications.

Updated 2026-05-08

Dynamics 365 Finance handles multi-currency natively, and where Business Central supports an additional reporting currency, F&O takes it further with up to four parallel currencies on every transaction. Understanding which currency is which prevents many of the most embarrassing reporting errors at consolidation.

The currency dimensions of a transaction.

  • Transaction currency — the currency the transaction itself was conducted in. A purchase invoice from a German supplier is in EUR.
  • Accounting currency — the legal entity's primary statutory currency. The Spanish subsidiary's accounting currency is EUR; the US subsidiary's is USD; the Swedish subsidiary's is SEK. Every GL posting in the entity is stored in accounting currency.
  • Reporting currency — a second parallel currency to accounting currency, typically the parent group's currency. Configured per legal entity. Every GL posting is also stored in reporting currency at the same time, using rates from the configured exchange-rate type. The result: a Spanish subsidiary's GL can produce reports in both EUR (statutory) and USD (group reporting) without consolidation FX translation.
  • Tax currency — for some country localizations, statutory reporting requires a third currency layer (e.g. local-tax-authority currency in a foreign-currency-economy country). Configured per legal entity.

Exchange-rate types. Different transactions can use different rates. F&O has multiple exchange rate types — Spot, Average, Period-end, Budget, etc. Each transaction type can be configured to use a specific rate type for accounting-currency conversion and a different rate type for reporting-currency conversion.

The exchange-rate table. Rates are maintained per rate type, per currency pair, per starting date. Manual entry, file import, or service-based feeds (Microsoft ships connectors for some central banks, partner ISVs publish more). Rates have starting dates so historical postings re-translate consistently.

Revaluation. Period-end revaluation runs separately for accounting-currency open balances (e.g. open AR/AP in foreign currency converted at period-end rate to accounting-currency) and for reporting-currency revaluation (the same balances re-translated to reporting currency at the new rate).

Realised FX. When a foreign-currency invoice is settled at a different rate, realised FX gain/loss posts. F&O posts it in both accounting and reporting currency, with the correct calculation in each.

Consolidation. When the parent consolidates subsidiaries, two options:

  • Consolidation in F&O. Source companies feed their trial balances (in their accounting currency, often plus their reporting currency for the parent's view) into a designated consolidation company. F&O applies currency translation at consolidation-rate types (current rate, historical rate, average rate as configured), eliminations, and adjustments to produce group financials.
  • Consolidation outside F&O. Larger groups feed F&O data into a dedicated consolidation tool (OneStream, Workiva, Hyperion, SAP BPC) for sophisticated consolidation logic. F&O acts as the source.

Subsidiaries with parent reporting currency in operating data. A common pattern: every subsidiary's reporting currency is set to the parent's group currency. Each subsidiary's GL is queryable directly in group currency without consolidation. Operational dashboards in Power BI work across the group without complex transformations.

Common pitfalls.

  • Setting reporting currency only at the end of year 1. Now reporting currency starts from year 2, leaving year 1 with no historical group-currency baseline. Set reporting currency from go-live.
  • Inconsistent exchange-rate types. Different rate types on different transactions produce non-reconcilable totals. Standardise.
  • Manual rate maintenance. Forgotten rate updates cause posting failures or wrong rates. Use automated rate feeds.

Related guides