Key concepts
Base currency and transaction currency
Every company in DualEntry has a Base Currency, which is the company’s primary or functional currency. When a transaction is recorded in a different currency (for example, a USD-based company receiving a bill in EUR), that currency is the Transaction Currency. DualEntry stores both the transaction currency amount and the base currency equivalent using the exchange rate in effect on the transaction date.Unrealized vs. realized gains and losses
An unrealized gain or loss arises when an open balance changes value due to exchange rate movement before any cash has been exchanged. It is unrealized because the transaction has not settled. A realized gain or loss is recorded at the time of payment or application, when the actual exchange rate at settlement is compared to the original transaction rate. Currency Revaluation deals exclusively with unrealized gains and losses.Auto-reversal
Each Currency Revaluation journal entry is automatically reversed on the following calendar day. A revaluation posted for July 31, 2024 is reversed on August 1, 2024. This ensures no single revaluation entry accumulates across multiple periods. Once reversed, neither the revaluation entry nor its reversal appears in Aging Reports. The next revaluation recalculates from scratch using current open balances and the latest exchange rate.Which accounts are revalued
Only Balance Sheet accounts denominated in a non-base currency are eligible for revaluation. Income statement accounts are never revalued. DualEntry automatically includes eight monetary account types: Bank, Accounts Receivable, Accounts Payable, Credit Card, Other Current Liability, Long Term Liability, Unbilled Receivable, and Other Current Asset. Six more types are eligible but aren’t monetary by default, so they’re excluded unless you include them yourself: Fixed Asset, Deferred Expense, Other Asset, Investments, Deferred Revenue, and Equity. Switch the accounts table to show all eligible types and select the specific accounts you want revalued.How the calculation works
DualEntry calculates a gain or loss for every open balance in a non-base currency by comparing what that balance is worth at the original transaction rate to what it is worth at the period-end rate.GL impact
The Unrealized Gain/Loss account is a system-managed account that captures the net revaluation impact for the period. It resets to zero when the reversal posts the following day. Currency Revaluation entries appear on Financial Statements and Reports as posted transactions.Running and automating revaluations
Exchange rate source and timing
Exchange rates come from currencyapi.com. For a given posting date, DualEntry uses that exact date’s published rate. The one exception is posting for today: since today’s rate isn’t published yet, DualEntry uses the most recent available rate instead. Either way, if the needed rate isn’t available, DualEntry doesn’t fall back to an older one; the revaluation fails rather than posting against a mismatched rate.On-demand and intra-period revaluation
You can run Currency Revaluation on demand for any past or present date, not just month-end. This supports scenarios such as revaluing mid-period before generating intra-period reports or preparing for a partial close. If any foreign currency transaction is created or edited on or before the revaluation date after a revaluation has already been posted for that date, re-run it to reflect the updated open balances.Recurring revaluations
Nothing revalues on its own at the start of a period, so to run revaluation automatically each period without manual intervention, configure a recurring schedule from the Currency Revaluation form. The recurring form uses the same required fields as a one-time revaluation and generates a new one on the schedule you set.Period locking
Accounts Receivable and Accounts Payable lock independently of each other and of every other revaluable account type: locking AR doesn’t block AP transactions, and vice versa. Every other eligible account type (Bank, Fixed Asset, Credit Card, Equity, and the rest) shares a single “Other GL” lock. Before locking any of these, re-run the revaluation to make sure it reflects current open balances; DualEntry doesn’t retroactively update a posted revaluation if balances change afterward.Run a currency revaluation
- Navigate to Close Management → Close Workflows → Currency Revaluations and choose New currency revaluation process.
- Choose the Company. The Base Currency field populates automatically based on the selected company.
- Choose the date to revalue as of, either a Period (Year and Month) or a Specific date. Any past or present date is allowed; it doesn’t have to be month-end.
- Optionally enter a Memo to describe the purpose of this revaluation (max 512 characters).
- Review the accounts table. The eight monetary account types are included by default; switch to show all eligible types if you also want to revalue Fixed Asset, Deferred Expense, Other Asset, Investments, Deferred Revenue, or Equity accounts, then select the specific accounts you want.
- Submit to post the revaluation. There’s no separate calculate-then-review step: posting is immediate, and the reversal entry is created automatically for the following day.
Each posted revaluation is assigned a unique system-generated identifier in the format CRP-XXXX (for example, CRP-0123). This number is read-only and cannot be edited.
Reviewing a posted revaluation
Open a posted revaluation record to see how DualEntry calculated it. The record has two top-level tabs: Overview and GL Impact. GL Impact shows the final journal entry that posted to the GL. Overview breaks the calculation down into three nested tabs: Open Receivables shows the revaluation detail for all unpaid Accounts Receivable records, including Invoices and Customer Credits. Each row shows the Record Number, Record Type, transaction Date, Customer, Transaction Currency, Record Exchange Rate (the rate on the original transaction date), Ending Exchange Rate (the rate used for this revaluation), the unpaid Balance in FX, the Base Balance at Transaction Rate, the Base Balance at Ending Rate, and the resulting Gain or Loss. Open Payables uses the same structure as Open Receivables but covers unpaid Accounts Payable records including Bills and Vendor Credits. Other Accounts covers all other eligible Balance Sheet accounts included in the run, such as Bank, Deferred Revenue, and Equity accounts. The system aggregates all transactions for each Account and Currency combination. An account that holds balances in multiple non-base currencies appears as one row per currency. Rows where the FX balance is zero are excluded.Add currency revaluation to your close checklist
Currency Revaluation is commonly added as a task in the period-end close checklist so it appears in the standard workflow.- Navigate to Close Management → Close Checklist.
- Choose New task in the checklist you want to add it to.
- In the task panel, open the Type dropdown (defaults to “Task”).
- Choose Currency Revaluation. The form adjusts to reflect the selected type.
- Enter a name for the task in the Task name field, for example “Run Month-End Revaluation.”
- Choose Create. The task is added to the checklist immediately and can be assigned and scheduled like any other close task.
FX gain and loss by record type
The table below shows which record types are subject to each category of FX gain or loss. Currency Revaluation contributes Unrealized Gain/Loss for records that carry an open or unpaid balance in a non-base currency.Known behaviors and edge cases
Bank Match exclusion. Currency Revaluation entries are GL-only adjustments that restate a balance’s carrying value; they don’t correspond to a real-world cash movement, so there’s no bank feed transaction for Bank Match to pair them with. Payment posted after revaluation. If you record a payment for a transaction dated on or before the revaluation date after running the revaluation, re-run the revaluation. The payment changes the open balance, which invalidates the previous calculation. Running revaluation before period close. You can process a revaluation for the current open period at any point during the month. The entry posts to the date you choose, and must be re-run if balances change before the period is locked. Intercompany balances. When a revaluation involves intercompany transactions, the gain or loss from the parent company perspective may differ from the subsidiary perspective, and elimination entries may also require revaluation. This scenario requires special handling that DualEntry doesn’t yet have dedicated support for.Related pages
- How to Configure Multi-Currency: setting base currency, FX rate sources, and revaluation policy before you run your first revaluation
- Month-End Close Checklist: adding revaluation to your standard close workflow
- Reconciliation: reconciling cash accounts after revaluation entries post
- Flux Analysis: reviewing period-over-period changes including FX impact
- Standard Financial Statements: where unrealized gain/loss appears on the P&L