Skip to content

Foreign exchange rates and revaluation

Goal

Maintain exchange rates for foreign-currency documents, and run period-end FX revaluation on foreign asset/liability balances.

Who it is for

Finance users with accounting.view. Creating rates needs accounting.manage. Posting a revaluation needs accounting.post.

Exchange Rates

  1. Open Accounting → Tax & FX → Exchange Rates (/exchange-rates).
  2. New rate: From / To (3-letter currencies), Rate (> 0), As of date.
  3. Save — upserts the pair+date (updateOrCreate). Toast Exchange rate saved.
  4. Banner behaviour: if no exact-date rate exists, the system uses the most recent earlier rate for that pair; if none exist, the transaction fails with "No exchange rate is available for :from to :to."
  5. Rates are advisory for future docs — rates already frozen on posted journals are not rewritten by edits here.

FX revaluation

  1. Open Accounting → Tax & FX → FX revaluation.
  2. Choose As of, then Preview (GET /fx-revaluations/preview).
  3. Review foreign net, carrying base, closing rate, revalued base, and adjustment lines.
  4. Post adjustment (POST /fx-revaluations, confirm dialog) — needs accounting.post. Offset uses the system role fx_gain_loss via PostingService.
  5. Empty case: "There are no foreign-currency balances to revalue." / UI Nothing to revalue.

Result

Documents can convert to base currency; period-end unrealized gain/loss is posted when you confirm revaluation.

BlueMatrix Help — product documentation for tenants