New KPMG Agentic ERP, now available with KPMG in 140+ countries Read the announcement

FX Revaluations

Guide
Admin guides
Reading
16 min read
On this page
  1. 01What is this page about
  2. 02How Light handles foreign currency
  3. 03Understanding FX Revaluation
  4. 04Exchange Rate Sources and Governance
  5. 05How Rates Are Applied by Account Type
  6. 06What gets revalued
  7. 07Setting FX behaviour per account
  8. 08Transaction-Level Conversion (at posting)
  9. 09Realised FX (at settlement)
  10. 10Unrealised FX: Period-End Revaluation
  11. 11Running FX Revaluation
  12. 12Reviewing Posted Revaluations
  13. 13Reopening or Reversing a Revaluation
  14. 14Multi-Entity Revaluation
  15. 15CTA (Cumulative Translation Adjustment)
  16. 16Consolidation (group level)
  17. 17Summary of Standards Alignment
  18. 18Best Practices
  19. 19Related Articles

Foreign exchange (FX) revaluation adjusts your GL account balances to reflect current exchange rates. In Light, FX revaluation is a required step in the period-end close process and is run on a per-entity basis. This article also explains the wider currency framework it sits in: how Light stores currencies, sources rates, and translates balances for consolidation. For a short overview, see How Light handles FX.

What is this page about

This page covers how Light values foreign currency balances: the three currency tiers stored on every line, where rates come from, which accounts get re-translated at period-end, how to run the revaluation task, and how realised gains, unrealised gains and CTA differ. Read it before your first period-end close involving foreign currency.

On this page

  • How Light handles foreign currency
  • Understanding FX Revaluation
  • Exchange Rate Sources and Governance
  • How Rates Are Applied by Account Type
  • What gets revalued
  • Setting FX behaviour per account
  • Transaction-Level Conversion (at posting)
  • Realised FX (at settlement)
  • Unrealised FX: Period-End Revaluation
  • Running FX Revaluation
  • Reviewing Posted Revaluations
  • Reopening or Reversing a Revaluation
  • Multi-Entity Revaluation
  • CTA (Cumulative Translation Adjustment)
  • Consolidation (group level)
  • Summary of Standards Alignment
  • Best Practices
  • Related Articles

How Light handles foreign currency

Light maintains a three-tier currency model on every ledger transaction line:

Tier What it is Set at
Transaction currency The currency a document was actually transacted in (e.g. a USD vendor bill). Present only when it differs from the local currency. Per document
Local (functional) currency The functional currency of the legal entity. Per entity (cannot be changed after the entity is created)
Group (presentation) currency The reporting currency used for consolidation. Per company (group)

Every posted line stores its local and group amounts, plus the transaction amount when the currency differs from the local currency. These amounts are fixed when the line posts, so you can always see the rate that was used.

Understanding FX Revaluation

FX revaluation addresses the mismatch between when a transaction is recorded and when it settles.

Example:

  • You invoice an AR customer for 100,000 EUR on January 1 at a rate of 1.20 USD/EUR = 120,000 USD
  • You post 120,000 USD to your receivable in the GL
  • By January 31 (period-end), the rate has moved to 1.18 USD/EUR
  • The receivable is now worth 118,000 USD at the new rate
  • Unrealized loss: 120,000 - 118,000 = 2,000 USD

FX revaluation entries record this unrealized gain or loss and adjust GL balances to reflect current exchange rates at period-end.

Exchange Rate Sources and Governance

Light sources exchange rates from two providers:

  • European Central Bank (ECB): the primary source, providing daily reference rates that are ingested automatically.
  • ExchangeRate-API: a commercial provider used for currencies not published by the ECB, ensuring coverage for less common currencies.

How rates are stored and resolved:

  • Rates are stored against EUR. Light works out the rate between two other currencies from their EUR rates, for example USD to GBP = USD to EUR ÷ GBP to EUR.
  • Non-trading days. A request for a date with no published rate resolves to the most recent prior effective rate, so a Monday with no rate uses the preceding Friday.

Rate overrides

You can override system rates instead of using market rates:

  • Override scope and precedence. Overrides resolve in the order entity → company → system, and are available at daily or monthly granularity. A document-level rate override takes the highest precedence of all. You set a document-level override through Light's API rather than on a screen in the app, so for rates you manage yourself, use the entity or company overrides covered in the linked articles below.

  • Both currencies need a custom rate. If you set a custom rate for only one of the two currencies in a pair, Light ignores it and uses system rates for both. To be sure your custom rates apply everywhere, set a rate for every non-EUR currency you transact in, each month.

  • Period-end revaluation uses your overrides too. If you've configured a company- or entity-level override for a currency and month, period-end FX revaluation uses that rate instead of the ECB/ExchangeRate-API rate for the covered currencies and months — so revaluation matches your bank's negotiated rate rather than the market rate. Entity-level overrides take precedence over company-level ones, and if no override is set, revaluation falls back to the system rate as before.

For setting your own rates, see Setting a Custom FX Rate for Your Company, Setting a Custom FX Rate for Your Entity, and When Custom Rates Apply vs System Rates.

How Rates Are Applied by Account Type

The standard treatment for each account type is shown below. You set it per account with the FX settings described under Setting FX behaviour per account.

Account classification Rate applied Re-translated each period?
Asset, Liability End-of-month (closing) rate Yes, through period-end revaluation
Equity Historical rate No, held at the original posting rate
Revenue, Expense Historical rate (transaction date) No, held at the original posting rate

Assets and liabilities are carried at the month-end rate. Equity, income and expenses stay at the rate on the day they were recorded. The difference this creates in the group currency is the cumulative translation adjustment (see below).

Note on income and expenses: Light translates income and expenses at the actual transaction-date (spot) rate of each item, not at a period-average rate. Under IAS 21 this is the preferred basis, since the standard requires the spot rate at the date of each transaction (IAS 21.21) and only permits a period-average rate as a practical approximation, which is inappropriate when rates fluctuate significantly (IAS 21.22; IAS 21.40 for translation to the presentation currency). Light applies the actual rate per item, so it is more precise than an average-rate method rather than a deviation from it. Auditors expecting average-rate P&L translation should note the difference in approach.

What gets revalued

Revaluation answers two questions: which balances are revalued, and which currency the difference is posted in. The first two sections below cover the balances. The last two cover the currencies.

Open items (AP / AR and accruals)

Open or partially-cleared payable and receivable documents, plus released accrual lines that are still open at period end. These are revalued per document or accrual line at the period-end closing rate, with a link back to the source invoice or line for traceability. Documents that were fully paid during the period are also included. This is how Light reverses the unrealised gain or loss it posted on them in earlier months. Until you run it, that amount stays on the AP or AR account even though the document is paid. See Why a paid invoice can still show a balance.

Monetary accounts (bank, cash, etc.)

Balance-sheet accounts you set to revalue, such as bank, cash and other monetary accounts. These are revalued per account and currency at the closing rate, based on the account's open foreign-currency balance.

Entity currency: unrealised FX gain or loss

Light values the open foreign-currency balance at the month-end rate in the entity's own (local) currency and posts the difference to the unrealized FX gain/loss account. This is the gain or loss that appears in the entity's own books. The Entity revaluation settings dropdown, described below, controls this per account.

Group currency: CTA

Light translates the local-currency balance into the group currency at the month-end rate and posts the difference to the CTA account. CTA lines have a zero local-currency amount, because they only change the group-currency balance. The Group revaluation settings dropdown controls this per account. An account set to Historical gets no CTA.

Setting FX behaviour per account

Each ledger account has an FX settings section with two dropdowns that control how the account behaves at period-end. Set them when creating or editing an account in Accounting → Chart of accounts:

Setting Options What it does
Entity revaluation settings Do not revalue / Revalue Revalue revalues the account's open foreign-currency balances into the entity's functional (local) currency at period-end, posting unrealized FX gain/loss. Do not revalue leaves the balance at its booked local amount.
Group revaluation settings End of period / Historical End of period carries the account at the closing (end-of-period) rate and generates CTA on the local→group difference. Historical keeps it at the original posting rate, so no CTA is posted.

To configure an account:

  1. Go to Accounting → Chart of accounts (open Chart of accounts)
  2. Click + Create account, or open an existing account and click Edit
  3. In the FX settings section, set Entity revaluation settings and Group revaluation settings
  4. Click Save

Typical settings by account type (these follow the account classification described above):

  • Monetary assets & liabilities (AR, AP, bank, cash, intercompany): Entity revaluation settings = Revalue, Group revaluation settings = End of period, so they are revalued at the closing rate and translated to group with CTA.
  • Equity: Do not revalue + Historical, held at the original rate, no CTA.
  • Revenue & expense: Do not revalue + Historical, held at the transaction-date rate, no CTA.

Transaction-Level Conversion (at posting)

When a document is posted, Light fetches the rates effective on the posting date and computes the amounts for every line:

  • transaction currency → local currency, and
  • local currency → group currency.

These amounts are persisted on the line, and the source of each rate (system, company override, entity override, or document override) is recorded, so you can see which rate was applied to every posting.

Realised FX (at settlement)

Realised FX gains and losses are recognised when an open foreign-currency item (such as an AP or AR invoice) is cleared or settled. Light computes the difference between:

  • the item's value at the original posting-date rate, and
  • its value at the clearing-date rate,

and posts the difference to the system FX gain and FX loss accounts, recognised in profit or loss per IAS 21.28. If the local-to-group rate also moved, the group-only part goes to the CTA account. Small rounding differences from converting between the three currencies go to a rounding account.

Example (continuing the one above):

  • On 10 February the customer pays 100,000 EUR, which converts at 1.19 to 119,000 USD
  • The invoice was booked at 120,000 USD, so Light posts a realised loss of 1,000 USD
  • January's unrealised loss of 2,000 USD stays on the AR account until you run the February revaluation, which reverses it
  • Across the two months, the total loss is 1,000 USD

For the entries posted at payment, see Clearing, FX gain/loss, and CTA.

Unrealised FX: Period-End Revaluation

Period-end revaluation is run as a controlled accounting-period close task rather than an ad-hoc process. Each accounting period has a set of required tasks that must be completed before the period can be closed:

  • Account Payables: close AP for the period
  • Account Receivables: close AR for the period
  • Journal Entries: close journal entries for the period
  • FX revaluation: run and post FX revaluation entries

Controls and sequencing:

  • The FX revaluation task can only run after the period's sub-ledger lock tasks (Account Payables, Account Receivables, Journal Entries) are completed.
  • The prior period's revaluation must already be completed (or not exist) before the current period's revaluation can run, so months are revalued in order with no gaps.

Balances in the run

The run covers the open items and monetary accounts described under What gets revalued above: open AP/AR documents and accruals, plus any account whose Entity revaluation settings is Revalue. Each open balance is taken at the period-end closing rate, and for any account whose Group revaluation settings is End of period the local→group difference is posted to CTA.

How the adjustment is calculated

For each balance, Light revalues the open foreign-currency balance at the period-end closing rate and compares it to the amount currently on the books:

Revalued balance = open balance (original currency) × period-end rate
FX adjustment    = Revalued balance − current carrying amount

How it posts

  • FX accounting documents are created per entity, one for each group of balances that needs adjusting (Accounts Payable, Accounts Receivable, accruals, other revalued accounts, and CTA), dated at period end and posted immediately. They are never left in draft.
  • The monetary account is adjusted to its revalued amount, and the offsetting entry is posted to the system unrealized FX gain/loss account, or to the CTA account for the local-to-group translation component.
  • AP/AR and accrual revaluation lines carry a link back to their source document/line, supporting line-level traceability. Account-level revaluations (other monetary accounts and CTA) are posted per account and currency, without a document link.

Running the revaluation again does not post the same adjustment twice. Revaluations can be archived or reversed through a controlled reversal that reverses the underlying accounting document. The full history of revaluation documents is retained.

Running FX Revaluation

To run FX revaluation for a period:

  1. Go to Accounting → Accounting periods in the sidebar (open Accounting periods)

  2. Expand the relevant year and click on the period you want to close (e.g., May 2024)

  3. On the Tasks page, find the FX revaluation row and click Run revaluations

  4. The FX revaluation dialog opens with two sections:

    • Entities to close: a list of your entities with checkboxes and a Last run column showing when revaluation was last posted for each entity
    • Document revaluation: shows any revaluations that have already been posted for this period
  5. Select the entities you want to revalue by checking their checkboxes

  6. Click Post revaluation

Light calculates the unrealised FX gains and losses for the selected entities and creates the corresponding accounting document. You can view the resulting entries on the Journal entries page, linked to the accounting period in which the revaluation was run.

Reviewing Posted Revaluations

After posting, the Document revaluation section of the FX revaluation dialog shows the revaluations that have been posted for the period. You can review these at any time by:

  1. Going to Accounting → Accounting periods (open Accounting periods)
  2. Clicking on the relevant period
  3. Clicking Run revaluations on the FX revaluation task row

The Last run column in the entities list shows the date of the most recent revaluation for each entity.

Reopening or Reversing a Revaluation

If an FX revaluation task has already been completed for a period, the action button changes from Run revaluations to Re-run revaluations (this is different from the Reopen button used for the AP/AR/JE lock tasks). Clicking it marks the task (and any dependent tasks) as no longer completed so you can re-run the revaluation if adjustments are needed, though it does not by itself reverse the posted entries. To back out a posted revaluation, archive the individual FX revaluation document, which reverses the underlying accounting document through a controlled reversal. Because a re-run takes previously posted revaluations into account, it will not double-post, and the history of revaluation documents is retained for audit.

Multi-Entity Revaluation

If you have multiple legal entities in Light, each entity is revalued independently. The FX revaluation dialog lists all your entities with checkboxes, so you can:

  • Select all entities and revalue them at once
  • Select individual entities to revalue them one at a time
  • Track the Last run date for each entity to see which have been revalued

CTA (Cumulative Translation Adjustment)

CTA captures the difference that arises because asset and liability accounts are re-translated to the closing rate each period (their Group revaluation settings is End of period), while equity and accumulated P&L stay at historical rates. The net imbalance posts to the system Currency Translation Adjustment account, recognised in other comprehensive income and accumulated in a separate component of equity (IAS 21.39(c) and 41). As described under Group currency: CTA above, it adjusts only the group-currency balance, leaving the local amount nil.

CTA is generated in two places:

  • Period-end revaluation: for accounts carried at the closing rate.
  • Settlement: the group-only residual when a foreign-currency item clears (see Realised FX (at settlement) above).

Consolidation (group level)

Light does not post consolidation journals. It builds consolidated figures when you run a report, by translating each entity's results into the group currency and adding them up:

  • Subtotal: the sum of the in-scope entities' results, in group currency
  • Eliminations: computed against a dedicated elimination ledger, where intercompany lines flagged for elimination generate reversing entries
  • Consolidated: subtotal plus eliminations

A consolidated report may be presented in local currency only if all in-scope entities share the same functional currency; otherwise it must be presented in the group base currency, which always works across mixed-currency entities. By default consolidation covers all entities in the group (or an explicitly selected set), summed on a flat basis. See Multi-currency consolidation for details.

Summary of Standards Alignment

Area Treatment in Light IAS 21 reference ASC 830 reference Assessment
Monetary assets & liabilities Closing (end-of-month) rate, revalued each period IAS 21.23(a) ASC 830-20-35; 830-30-45-3 Best practice
Equity Historical rate, not re-translated IAS 21.23(b) ASC 830-30-45 Best practice
Income statement Transaction-date (spot) rate per item IAS 21.21–22; 39(b), 40 ASC 830-30-45-3 Best practice
Translation difference Posted to CTA (group-only) IAS 21.32, 39(c), 41 ASC 830-30-45-12 to 45-20 Best practice
Realised FX on settlement FX gain/loss vs. original rate IAS 21.28 ASC 830-20-35-1 to 35-2 Best practice
Consolidation translation Report-time aggregation in group currency IAS 21.38–39, 44–46 ASC 830-30; disposal ASC 830-30-40-1 Best practice

The Assessment is the same under both frameworks. Paragraph references are to IAS 21 The Effects of Changes in Foreign Exchange Rates and ASC 830 Foreign Currency Matters. Under ASC 830, the transaction-to-functional layer is a remeasurement (transaction gains and losses recognised in net income, ASC 830-20) and the functional-to-presentation layer is a translation (CTA reported in other comprehensive income, ASC 830-30). On the sale or substantially complete liquidation of a foreign entity, the accumulated CTA is reclassified from equity to net income (ASC 830-30-40-1, as clarified by ASU 2013-05).

Tax considerations: Some jurisdictions tax only realised FX gains and losses, and unrealised losses may not be deductible. Consult your tax advisor on the treatment of revaluation entries.

Best Practices

  • Revalue monthly: catching changes regularly produces more accurate interim results than waiting for quarter-end
  • Close prerequisite tasks first: make sure Account Payables, Account Receivables, and Journal Entries are closed before running FX revaluation
  • Revalue all entities: select every entity with foreign currency exposure when posting revaluation
  • Set account FX settings: on each balance-sheet account that holds foreign currency, set Entity revaluation settings to Revalue and Group revaluation settings to End of period, and keep equity and P&L accounts on Do not revalue and Historical
  • Review before closing: check the generated entries on the Journal entries page before closing the period
  • Track the Last run date: use the Last run column in the FX revaluation dialog to confirm all entities have been revalued for the current period
  • Separate realised from unrealised: track both types of FX gains and losses for accurate analysis and reporting
  • Document your policy: be consistent in how and when you run revaluation across periods

Was this article helpful?