multicurrency-and-fx
Skill31 starsChanged 18 days agoMITView on GitHub
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.
In this repository172 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- 00-meta-initializationSkill
- chwezi-dev-engineSkill
- ai-agent-commercial-operationsSkill
- ai-agent-compliance-controlsSkill
- ai-agent-governance-and-limitsSkill
- ai-agent-multi-agent-coordinationSkill
- ai-agent-observability-evaluationSkill
- ai-agent-runtime-architectureSkill
- ai-agent-safety-and-red-teamSkill
- ai-agent-tooling-and-hitlSkill
- ai-analyticsSkill
- ai-app-architectureSkill
- ai-cost-and-meteringSkill
- ai-economic-value-engineSkill
- ai-evaluationSkill
- ai-feature-rollout-and-experimentationSkill
- ai-feature-specSkill
- ai-incident-responseSkill
- ai-llm-integrationSkill
- ai-model-gatewaySkill
- ai-observability-and-debuggingSkill
- ai-opportunity-canvasSkill
- ai-prompt-engineeringSkill
- ai-rag-patternsSkill
- ai-securitySkill
- ai-web-appsSkill
- coding-agent-optimizationSkill
- openai-agents-sdkSkill
- android-developmentSkill
- api-design-firstSkill
- distributed-systems-patternsSkill
- ecommerce-platform-audit-requirementsSkill
- graphql-patternsSkill
- microservices-architectureSkill
- system-architecture-designSkill
- validation-contractSkill
- database-design-engineeringSkill
- database-reliabilitySkill
- mysql-engineeringSkill
- postgresql-engineeringSkill
- cicd-pipelinesSkill
- cloud-architectureSkill
- deployment-release-engineeringSkill
- docker-developmentSkill
- infrastructure-as-codeSkill
- kubernetes-platformSkill
- observability-monitoringSkill
- reliability-engineeringSkill
- execution-plan-scriptsSkill
- accounting-engineSkill
- accounting-finance-controllerSkill
- electronic-fiscal-taxingSkill
- avalonia-desktop-developmentSkill
- frontend-architectureSkill
- frontend-performanceSkill
- image-compressionSkill
- nextjs-app-routerSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 6 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 51
Read and search are required.
- Distinctive: line 83
MUST define one tenant functional currency.
- Distinctive: line 84
MUST store transaction currency and functional-currency equivalent on journal lines or linked valuation records.
- Distinctive: line 85
MUST not mix functional and presentation currency as if they are the same ledger amount.
- Distinctive: line 86
MUST revalue open monetary items at period end where required.
- Distinctive: line 87
MUST distinguish realised from unrealised forex gains/losses.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Multicurrency And FX
<!-- 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 |
Skill-specific outputs:
- Currency policy.
- FX-rate schema.
- Revaluation job design.
- Realised/unrealised FX posting matrix.
- FX reconciliation report.
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.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

