Honest, practical help for navigating Dynamics 365 — without the headache

Multi-Currency Finance in BC: The Configuration Finance Gets Wrong

How BC’s currency architecture works across local currency, additional reporting currency, and transaction currency; the exchange rate configuration Finance must maintain; the period-end Adjust Exchange Rates batch Finance must complete at every close; and the five multi-currency configuration failures that produce balance sheet errors Finance cannot explain to the auditor or the bank.

BC’s Three Currency Layers—Finance Must Understand All Three Before Configuration

Local Currency (LCY)

BC’s term for the functional currency—the primary currency of the company’s economic environment. Set on the General Ledger Setup page as “LCY Code” before the first transaction is posted. Every transaction in any other currency is automatically translated to LCY at posting. Every GL account balance is maintained in LCY. The LCY is the currency of the financial statements Finance produces from BC.

Finance owns: The LCY selection is an accounting policy decision, not a default to accept. Finance confirms the LCY matches the currency in which the company primarily generates and expends cash—not simply the currency the owner prefers or the group reporting currency.

Cannot be changed post-go-live without rebuilding the company. This is a permanent decision that Finance makes once, documents, and protects.

Additional Reporting Currency (ACY)

An optional second currency in which BC maintains a parallel GL balance for every transaction. Used when Finance must report in a second currency alongside the LCY—a GBP-functional company owned by a USD-functional parent, or a company with statutory reporting requirements in a currency different from their LCY.

Finance owns: Whether an ACY is needed and which exchange rate type drives its translation. Like the LCY, the ACY is stored at transaction time. If it is not configured before the first transaction, historical ACY balances cannot be retroactively computed without reposting every ledger entry.

Critical timing: Configure ACY before the first live transaction if multi-currency group consolidation or dual-currency reporting will ever be required. Discovering the need six months post-go-live is expensive to remediate.

Transaction / Foreign Currency (FCY)

The currency of an individual transaction—the currency on a vendor invoice, a sales invoice, or a foreign bank account. BC stores both the FCY amount and the LCY equivalent simultaneously, translated at the exchange rate on the transaction date. The FCY amount is used for customer and vendor ledger aging; the LCY amount flows to the GL.

Finance owns: Keeping exchange rates current. BC does not auto-update rates unless a Currency Exchange Rate Service is configured. Finance must update rates before processing any foreign currency transaction where an outdated rate would produce a material error—and must update rates to the period-end closing rate before running the Adjust Exchange Rates batch.


The Period-End Adjust Exchange Rates Batch—What It Does and What Finance Must Own

At period end, Finance runs the Adjust Exchange Rates batch (Finance → Periodic Activities → Currency → Adjust Exchange Rates) to update the LCY value of all open foreign currency customer and vendor ledger entries, and all foreign currency bank account balances, at the period-end closing rate. The batch produces unrealized gains and losses that post to the income statement. Finance must understand what the batch does before running it for the first time in the live environment.

Adjust Exchange Rates Batch—What Each Component Does and What Finance Validates

  1. Customer Ledger Entries—Open AR Restated to Period-End Rate
    • The batch reads all open customer invoices in foreign currencies, calculates the difference between their original LCY equivalent (at the rate when the invoice was posted) and their LCY equivalent at the period-end closing rate, and posts the difference as an unrealized gain or loss to the Unrealized Gains Account and Unrealized Losses Account configured on each Currency card.
    • Finance validates: The Unrealized Gains/Losses accounts on each Currency card are distinct from the Realized Gains/Losses accounts. Finance opens each active foreign currency’s Currency card (Finance → Setup → Currencies) and reviews all four account fields: Realized Gains, Realized Losses, Unrealized Gains, Unrealized Losses. A blank field routes the gain/loss to a default that may not be the account Finance intends.
  2. Vendor Ledger Entries—Open AP Restated to Period-End Rate
    • The same calculation applied to open vendor invoices in foreign currencies. The unrealized gain or loss posts to the vendor currency’s Unrealized Gains/Losses accounts. Finance must confirm whether AR and AP unrealized FX route to the same accounts or separate accounts—most Finance teams prefer separate accounts so the FX income line can be broken down by source if the auditor requests an unrealized/realized split.
    • Finance validates: The AP unrealized FX accounts are appropriate for the income statement presentation Finance needs. Separate accounts per currency type are the preferred configuration for any Finance team that may need to disclose the FX breakdown under IFRS 7 or equivalent.
  3. Bank Account Balances—Foreign Currency Banks Restated to Period-End Rate
    • Foreign currency bank account balances are revalued at the period-end closing rate. The difference between the prior book value and the closing rate equivalent posts to the bank account’s configured unrealized gain/loss account. For companies with material foreign currency cash holdings, bank revaluation can produce income statement movements that are large relative to trading income during volatile exchange rate periods.
    • Finance validates: Each foreign currency bank account has the correct Currency Code in BC. Finance confirms the unrealized gain/loss accounts for each bank account are appropriate and confirms the period-end closing rate for each currency is entered before the batch runs.
  4. How Unrealized Amounts Are Cleared at Settlement
    • BC does not post a separate reversal of the unrealized adjustment at the start of the next period. Instead, the unrealized gain or loss is automatically reversed when the underlying customer or vendor entry settles—when the customer pays or Finance pays the vendor, BC calculates the realized gain or loss between the original invoice rate and the settlement rate and reverses the unrealized amount simultaneously. Finance does not need a separate reversal journal.
    • Finance validates: After a settlement period, the FX income line reflects only realized gains and losses. Finance checks a sample of settled foreign currency transactions to confirm unrealized amounts reversed and correct realized amounts posted at settlement.

Five Multi-Currency Configuration Failures Finance Discovers Late

⚠️ LCY Set to the Wrong Currency at Go-Live—85% of Transactions Treated as Foreign Currency for Eight Months

A UK company that trades primarily in GBP has its LCY set to EUR because the implementation team noted the parent company reports in EUR. Every GBP invoice—85% of the company’s transactions—is processed as a foreign currency transaction. Exchange rate differences appear on every sales and purchase invoice. The unrealized gains and losses account carries a volatile balance. The income statement shows an FX line that management cannot interpret because most of it comes from GBP transactions treated as foreign currency. The correction requires rebuilding the company in BC with GBP as the LCY and migrating all eight months of history at corrected amounts.

Fix: Finance documents the LCY determination before implementation begins. The key question: in which currency does the company primarily generate and expend cash? That currency is the LCY. The parent company’s reporting currency is a separate consideration that drives the ACY decision—not the LCY. Finance leadership signs off on the LCY before the first BC configuration session. The implementation partner implements what Finance has decided, not what seems obvious from a group reporting perspective.

⚠️ Unrealized and Realized FX Posted to the Same Account—Auditor Asks for the Split and Finance Cannot Produce It

The Currency card for EUR has the same GL account for both Realized Gains and Unrealized Gains, and the same for Realized and Unrealized Losses. When the auditor asks Finance to break down the FX line into realized and unrealized components for IFRS 7 disclosure, Finance cannot do it from BC. Finance spends two days reviewing every FX journal entry for the year, identifying each entry’s source, and manually reconstructing the split in a spreadsheet. The manual exercise introduces several misclassifications that require a second pass.

Fix: Finance configures four separate GL accounts for each active foreign currency in BC: Realized Gains, Realized Losses, Unrealized Gains, Unrealized Losses. Finance opens each Currency card before any foreign currency transaction is posted and confirms all four fields are populated with distinct accounts. A test EUR transaction and a test adjustment run in sandbox confirms each entry routes to the correct account before going live with foreign currency transactions in production.

⚠️ Exchange Rates Not Updated Before Month-End Run—Balance Sheet FX Position Materially Misstated

Finance runs the Adjust Exchange Rates batch at month-end. Rates in BC are updated whenever the AP coordinator processes a foreign currency invoice—meaning the rates reflect the last AP rate used, not the period-end closing rate. In a month where no foreign currency AP invoices were processed in the final week, the adjustment uses rates up to two weeks old. During a period of significant GBP/USD movement, the difference is 2.4%. The AR balance for three large USD customers is understated in LCY by £58,000. The balance sheet the CFO reviews overstates the true LCY position of the USD AR exposure by a material amount.

Fix: Finance adds “Update exchange rates to period-end closing rates for all active currencies” as a period-close task that must be completed before the Adjust Exchange Rates batch can run. The procedure: Finance downloads the period-end closing rates from the agreed reference source, enters them in BC’s Currency Exchange Rates page for each active currency dated to the period-end date, and then runs the adjustment batch. Finance also evaluates BC’s Currency Exchange Rate Service, which can automatically import rates on a scheduled basis from an online provider—eliminating the manual update step entirely.

⚠️ Adjust Exchange Rates Batch Never Added to Close Tasks—AR and AP Carry Stale LCY Values for Three Months

Finance configures multi-currency in BC. The Adjust Exchange Rates batch is not added to the period-close task list because the Finance team did not know it was required. For three months, open foreign currency AR and AP carry their original LCY equivalent from when each invoice was posted. The balance sheet AR and AP balances reflect outdated LCY values. The income statement shows no unrealized FX movements even though the company has significant EUR exposure. When the CFO quotes a EUR AR figure to the bank, the bank’s own valuation at current rates reveals a £60,000 discrepancy that Finance must then explain as a configuration omission.

Fix: The Adjust Exchange Rates batch is a mandatory period-close task for any BC company with foreign currency transactions. Finance adds it to BC’s Closing Tasks page with a specific sequence: after all foreign currency invoices for the period are posted, after rates are updated to period-end closing rates, and before Financial Reports are produced. Finance also sets up a validation check: after the batch runs, Finance confirms the FX account received entries directionally consistent with the known direction of exchange rate movement for the period.

⚠️ ACY Not Configured at Go-Live—Group Consolidation Requires Manual Quarterly Translation

A GBP-functional BC company is owned by a USD-functional parent. The parent’s group consolidation is in USD. At go-live, nobody configured a USD Additional Reporting Currency in BC because the implementation team assumed consolidation would be done in the parent’s consolidation tool. Eight months later, the parent’s Finance Director asks for USD-equivalent financial statements from BC each quarter. Finance cannot produce them from BC—no USD ACY balance exists for any historical transaction. The manual quarterly translation using IAS 21 methodology takes three to four hours each quarter. A USD ACY configured at go-live would have stored the USD equivalent of every transaction automatically.

Fix: Finance identifies whether any form of dual-currency reporting will ever be required before implementation begins. If yes, Finance configures the ACY before the first transaction is posted: set the Additional Reporting Currency field on the General Ledger Setup page and run the Adjust Add. Reporting Currency batch to initialize ACY balances in the opening balance period. If there is any uncertainty about future dual-currency needs, Finance configures the ACY anyway. The cost of the configuration is two hours. The cost of retrofitting it retroactively is prohibitive.


Do This / Don’t Do This

Do This

  • Document the LCY selection with Finance leadership sign-off before the first BC configuration session
  • Configure four separate GL accounts (Realized Gains, Realized Losses, Unrealized Gains, Unrealized Losses) on every active Currency card
  • Configure the ACY before the first live transaction if dual-currency reporting may ever be required
  • Add “Update exchange rates to period-end closing rates” as a prerequisite task before the Adjust Exchange Rates batch in the period-close task list
  • Add the Adjust Exchange Rates batch to the Closing Tasks page as a mandatory step before Financial Reports run
  • Test the full FX cycle in sandbox: post a foreign currency invoice, run the adjustment, verify account routing, settle the invoice, confirm realized gain/loss posts correctly

Don’t Do This

  • Set the LCY based on the group reporting currency rather than the company’s own primary economic environment
  • Use the same GL account for realized and unrealized FX movements—the auditor will ask for the split and Finance will spend days reconstructing it
  • Run the Adjust Exchange Rates batch using rates that are not current period-end closing rates
  • Omit the Adjust Exchange Rates batch from the period-close task list
  • Skip the ACY configuration at go-live and assume consolidation will always be done in an external tool

Up Next:

Multi-currency configuration establishes the currency accounting framework. The next post addresses the asset accounting module where configuration errors compound the longest: Fixed Assets in BC—What Finance Must Configure Before the First Depreciation Run—how BC’s fixed asset module handles the asset lifecycle from acquisition through disposal, the depreciation book configuration Finance must own for every asset category, the fixed asset register-to-GL reconciliation Finance must run at every period close, and the five fixed asset configuration failures that produce depreciation misstatements Finance discovers months or years after go-live.

— Bobbi

D365 Functional Architect  ·  Recovering Controller

Thank you for reading!

If a post helped you solve a real problem, share it with a Finance colleague who is in the middle of an F&O implementation or a post-go-live optimization. If you have a topic the blog series did not cover, reach out. There is always one more post worth exploring.

If you are interested in learning more, below are some of my latest posts:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *