git:20260712.a867952 to git:20260911.7afa6ea

7 added, 1 removed. Audit A to A.

---
name: multicurrency-and-fx
description: 'Use when implementing IAS 21 multicurrency accounting: functional currency, presentation currency, transaction currency, exchange-rate tables, settlement, realised and unrealised forex gains or losses, revaluation, and currency-safe ledger design.'
metadata:
portable: true
do_not_use_when: Do not use for single-currency systems or statutory policy questions without the external accounting doctrine.
required_inputs: Provide functional and presentation currencies, rate sources, transaction dates, ledgers, and reporting requirements.
workflow: Apply currency capture, translation, remeasurement, gain-loss, rounding, and reconciliation rules in order.
quality_standards: Preserve rate provenance, balanced entries, deterministic rounding, period consistency, and audit trails.
anti_patterns: Do not overwrite historical rates, mix functional and presentation currency, or hide rounding differences.
references: Load the external accounting doctrine and local references named by this skill when the branch requires them.
compatible_with:
- claude-code
- codex
---
# Multicurrency And FX
- <!-- dual-compat-start --><!-- dual-compat-end -->
+ <!-- dual-compat-start -->
+ ## Evidence Produced
+
+ | Category | Artifact | Format | Example |
+ | --- | --- | --- | --- |
+ | Correctness | Foreign-currency measurement schedule | Markdown/workbook | transaction rate, closing rate, remeasurement, translation, rounding, posting, and source |
+ <!-- dual-compat-end -->
## Inputs
| Artefact | Required? | Purpose |
|---|---|---|
| Functional and presentation currencies | yes | Define measurement and reporting bases |
| Transaction dates and rate source | yes | Select traceable exchange rates |
| Monetary balances and reporting period | yes | Drive remeasurement and translation |
## Outputs
| Artefact | Consumer | Acceptance condition |
|---|---|---|
| FX policy, postings, and reconciliation | Ledger and reporting workflows | Rate provenance, balanced entries, explained differences |
## Capability contract
Read and search are required. Rate imports, remeasurement journals, translation entries, and historical corrections require explicit authority, period controls, and reconciliation evidence.
## Degraded mode
Fallback without verified rates or doctrine: stop posting, preserve source-currency amounts, and report the missing rate or policy decision.
## Decision rules
| Balance or event | Treatment | Failure avoided |
|---|---|---|
| Foreign-currency transaction | Initial recognition at approved transaction-date rate | Untraceable base amount |
| Monetary item at reporting date | Remeasure at closing rate | Stale carrying value |
| Non-monetary historical-cost item | Preserve historical rate | False FX gain or loss |
| Presentation-currency reporting | Translate under applicable doctrine | Mixing remeasurement and translation |
## Domain anti-patterns
- Overwriting historical rates. Fix: version rates and preserve provenance.
- Posting only the converted amount. Fix: retain source currency, rate, and base amount.
- Using one rate type for every event. Fix: select rate by event and policy.
- Hiding rounding in revenue or expense. Fix: use controlled rounding accounts and reconcile.
- Mixing functional and presentation currency logic. Fix: separate remeasurement from translation.
Acknowledgement: Shared by Peter Bamuhigire, techguypeter.com, +256 784 464178.
## Use When
- A tenant books in one functional currency but invoices, pays, or receives in another currency.
- A group needs presentation currency reporting.
- Month-end FX revaluation is required.
## Hard Rules
- MUST define one tenant functional currency.
- MUST store transaction currency and functional-currency equivalent on journal lines or linked valuation records.
- MUST not mix functional and presentation currency as if they are the same ledger amount.
- MUST revalue open monetary items at period end where required.
- MUST distinguish realised from unrealised forex gains/losses.
## Currency Model
Track:
- Functional currency: primary economic environment of the tenant.
- Transaction currency: currency of invoice/payment/document.
- Presentation currency: reporting currency where different from functional currency.
- Rate source, rate date, rate type, and approval status.
## Posting Patterns
Foreign currency invoice:
- Post AR/AP and revenue/expense using transaction-date rate in functional currency.
- Preserve transaction-currency amount for settlement and subledger ageing.
Settlement:
- Clear AR/AP at original functional-currency carrying amount.
- Post cash at settlement-date rate.
- Difference goes to realised forex gain/loss.
Month-end revaluation:
- Revalue open monetary items at closing rate.
- Difference goes to unrealised forex gain/loss and revaluation adjustment.
- Reverse or update according to the tenant close policy in the next period.
## Outputs
- Currency policy.
- FX-rate schema.
- Revaluation job design.
- Realised/unrealised FX posting matrix.
- FX reconciliation report.