Multi-Currency
Triple-currency recording, automatic exchange rate conversion, FX gain/loss tracking, and consolidation support
Overview
The multi-currency system handles three distinct currency perspectives for every transaction, enabling businesses to operate across borders while maintaining accurate financial records at every level.
Three-Currency Model
- Document Currency -- The currency the transaction was entered in (e.g., a EUR invoice from a European customer)
- Functional Currency -- The legal entity's base operating currency (e.g., EUR for an EU subsidiary)
- Reporting Currency -- The group consolidation currency (e.g., USD for corporate reporting)
Key Capabilities
- Triple-currency recording -- Every transaction stores amounts in all three currencies
- Rate tracking -- Exchange rates and rate types preserved on each transaction
- Automatic conversion -- System applies rates to calculate functional and reporting amounts
- FX gain/loss -- Foundation for calculating realized and unrealized FX differences
- Entity-specific -- Each legal entity has its own functional currency
- Consolidation ready -- Reporting currency enables group-level financial consolidation
Business Scenarios
How Currency Conversion Works
When a transaction is created, the system automatically enriches it with currency information:
Step-by-Step Flow
1. USER ENTERS TRANSACTION
- Amount: 10,000 EUR (document currency)
- Transaction date: January 15
2. SYSTEM LOOKS UP ENTITY CONFIGURATION
- Functional currency: USD
- Reporting currency: USD
3. SYSTEM LOOKS UP EXCHANGE RATE
- EUR to USD spot rate on Jan 15: 1.08
4. SYSTEM CALCULATES AMOUNTS
- Document amount: 10,000 EUR (entered)
- Functional amount: 10,800 USD (10,000 x 1.08)
- Reporting amount: 10,800 USD (same as functional)
5. SYSTEM RECORDS RATE METADATA
- Rate: 1.08
- Rate type: spot
- Rate source: system
Entity Configuration
Each legal entity defines its currency context:
Journal Posting with Multiple Currencies
When a transaction posts to the general ledger, every journal line carries amounts in all three currencies:
Journal Entry (3 Currency Layers)
Line 1: Accounts Receivable
Document: 10,000 EUR (debit)
Functional: 10,800 USD (debit)
Reporting: 10,800 USD (debit)
Line 2: Revenue
Document: 10,000 EUR (credit)
Functional: 10,800 USD (credit)
Reporting: 10,800 USD (credit)
Balanced at all 3 currency levels.
This ensures that financial reports can be generated in any of the three currency perspectives with full accuracy.
Exchange Rate Management
Rate Types
Rate Sources
When multiple rates exist for the same currency pair and date, the system uses a priority order: manual rates take precedence over ECB, which takes precedence over US Treasury, which takes precedence over Frankfurter.
Managing Exchange Rates
You can manage exchange rates through the AI assistant:
"Set the EUR to USD spot rate to 1.085 effective January 15"
The system automatically:
- Creates the forward rate (EUR to USD = 1.085)
- Creates the inverse rate (USD to EUR = 0.9217)
- Validates currency codes (ISO 4217)
- Prevents same-currency rates
- Upserts if a rate for the same date and type already exists
Rates can also be updated and deleted. Deleting a rate removes both the forward and inverse entries.
Currency Conversion
The system provides a conversion tool for quick calculations:
"Convert 10,000 EUR to USD using today's rate"
This returns the converted amount, rate used, and source of the rate.
Consolidation and Reporting
Group-Level Reporting
Because every transaction carries a reporting currency amount, group-level financial reports can aggregate across all entities in a single currency:
- AR aging in reporting currency -- See outstanding receivables across all subsidiaries in USD
- AP aging in reporting currency -- View payables across entities in a unified currency
- Income statement consolidation -- Roll up revenue and expenses from all entities
- Balance sheet consolidation -- Unified balance sheet across the organization
Entity-Level Reporting
Entity-level reports use the functional currency, showing local operating performance:
- An EU subsidiary sees its financials in EUR
- A UK subsidiary sees its financials in GBP
- Both roll up to USD for group reporting
FX Gain and Loss
When FX Differences Arise
FX gains and losses occur when exchange rates change between the time an invoice is recorded and when it is paid:
- Invoice recorded on Jan 1 at EUR/USD = 1.08 -- Invoice amount: $10,800
- Payment received on Feb 1 at EUR/USD = 1.10 -- Payment amount: $11,000
- FX gain of $200 (received more USD than expected)
Handling in the System
- Realized FX gain/loss -- Automatically calculated when payments are matched to invoices at different rates
- Unrealized FX gain/loss -- Foundation exists for period-end revaluation of open positions
- FX variances are posted to dedicated gain/loss accounts
Compliance
The multi-currency system maintains full audit compliance:
- Historical rates preserved -- The rate used at transaction time is stored, never restated retroactively
- Rate traceability -- Every transaction records whether the rate was spot, contract, or manual
- Source tracking -- Know if the rate came from ECB, manual entry, or another source
- Consolidation -- Present group financials in a single reporting currency
- Local reporting -- Show entity financials in functional currency for local regulatory requirements
Best Practices
- Set up entity currencies early -- Configure functional and reporting currencies before entering transactions
- Keep exchange rates current -- Use automated rate sources (ECB, US Treasury) for daily updates
- Use spot rates for daily transactions -- Reserve average rates for period-end valuations
- Lock contract rates -- Use the contract rate type for long-term agreements with fixed exchange rates
- Review FX impact -- Monitor FX gains and losses as part of your monthly close process
- Reconcile in functional currency -- The reconciliation engine compares amounts in functional currency, naturally handling multi-currency matching