Foreign currency revaluation in Business Central
By Emil Björk · Microsoft business apps consultant, Gothenburg
How Business Central revalues open foreign-currency balances at period-end — Adjust Exchange Rates, the unrealised gain/loss accounts.
On this page (6)
A company that invoices in EUR but reports in USD owns FX exposure on every unpaid invoice. At period-end, accounting standards (IFRS, US GAAP) require those open balances to be revalued to the closing rate, with the difference recognised as an unrealised gain or loss. Business Central handles this through the Adjust Exchange Rates batch.
Realised vs unrealised FX.
- Realised FX gain/loss — happens at the moment of settlement (payment). If a customer paid EUR 100 invoice that was booked at $1.10 = $110 but the payment converted at $1.08 = $108, the $2 difference is a realised loss. Booked at posting time of the application.
- Unrealised FX gain/loss — happens at period-end revaluation of unsettled balances. An open EUR 100 invoice booked at $1.10 = $110 with a closing rate of $1.12 implies the receivable is now worth $112; the $2 difference is unrealised gain. Booked by Adjust Exchange Rates.
The distinction matters for both accounting presentation and tax — many jurisdictions tax realised gains but not unrealised.
Adjust Exchange Rates
Navigation: Finance → Currencies → Adjust Exchange Rates. The batch:
- Reads each open customer ledger entry, vendor ledger entry, bank ledger entry, and G/L entry on foreign-currency accounts.
- Compares the original recorded exchange rate against the closing rate as of the parameter
Posting Date. - For each entry, computes the FX delta in LCY.
- Posts an entry to the unrealised gain or unrealised loss account (set on the Currency card).
- On the next adjustment, reverses the prior unrealised entry and posts the new one — the unrealised position is always the latest snapshot.
Currency card setup
Each currency requires these G/L accounts:
- Unrealised Gains Acc. — credit account for upward revaluation.
- Unrealised Losses Acc. — debit account for downward revaluation.
- Realized Gains Acc. — for settlement gains.
- Realized Losses Acc. — for settlement losses.
Many companies use a single P&L line (FX gain/loss, net) but maintain separate G/L accounts for cleaner audit trail.
Exchange rate maintenance
The batch only works if exchange rates are current. The Currency Exchange Rate table holds dated rate records per currency pair. Three sources:
- Manual entry — daily/weekly, by a finance team.
- Microsoft's exchange rate service — pulls rates from a configured provider (often Open Exchange Rates).
- Custom feeds — Power Automate flow pulling from a treasury system or rate provider, then writing via the BC API.
Closing rates for revaluation are usually the rate at end of period — populate before running Adjust Exchange Rates.
Which entries get adjusted.
- Customer / vendor ledger entries — adjusted if
Open = Yes(unsettled). - Bank ledger entries — bank balance in foreign currency revalued every period.
- G/L entries on FX accounts — accounts flagged with a non-LCY currency revalue.
Closed entries (fully applied invoice and payment) are not revalued because the gain/loss is already realised.
Reporting impact
Unrealised FX appears in the P&L under FX gain/loss. The balance sheet picks up the LCY revaluation in the customer / vendor / bank balances. The next period, the prior unrealised reverses and a new value posts — net effect is the change since last revaluation.
Statutory and tax nuances
Some jurisdictions defer unrealised FX for tax purposes (US Subpart F has specific rules; many other countries follow IFRS unrealised treatment). The G/L mapping should distinguish unrealised from realised so the tax computation can exclude unrealised correctly.
Common pitfalls.
- Skipping revaluation. Financial statements show open balances at original rates; auditor adjustment at year-end.
- Wrong closing rate. Using an average rate instead of period-end rate is a common error; check policy.
- Revaluing already-settled entries. Shouldn't happen but errors in application status can cause it; ensure applications are clean before running.
- G/L account contamination. Manual entries on the unrealised accounts during the period confuse the revaluation reversal logic. Don't post manually to FX accounts.
- No revaluation on bank accounts. A bank in EUR carries USD valuation that drifts; forgetting to revalue understates or overstates cash.
Operational rhythm
Run Adjust Exchange Rates as a step in the monthly close: after AR/AP have been finalised but before reporting. A repeatable runbook including current rates entry and post-adjustment validation prevents close-day fire drills.
Related guides
- Designing dimensions in Business CentralHow to design a dimension structure that supports the reporting you actually need — global vs shortcut, mandatory rules, defaults, and combinations.
- Bank reconciliation in Business CentralHow bank reconciliation works in Business Central — bank feeds, statement imports, AI-assisted matching, and month-end reconciliation.
- Month-end close in Business CentralA practical month-end close checklist for Business Central — reconciliations, accruals, depreciation, inventory cost adjustment, and locking the period.
- The Business Central finance moduleAn overview of Business Central's financial management — general ledger, dimensions, AP/AR, banking, fixed assets, and intercompany.
- Account schedules and financial reports in Business CentralHow Business Central's account schedules and the newer Financial Reports feature work — and how to build P&L and balance sheet reports without leaving BC.
Browse every guide in Business Central or just Finance & accounting.
Was this helpful?
Signals which guides land and which need work. No account, no comment box — corrections go through the contact page.
Spot something wrong or want a topic covered? Send a correction or a topic request — both are welcome.