Multi-Currency
AllMy Ledger supports 31 currencies out of the box. Create accounts in foreign currencies, invoice clients in their local currency, and track exchange rates. All reports convert to your base currency automatically.
Transparent when off. Multi-currency is opt-in. If you don't enable it, you won't see any currency fields or settings. Nothing changes for single-currency businesses.
Enabling Multi-Currency
- Go to Company Settings
- Scroll to the Multi-Currency section
- Check Enable multi-currency
- Confirm in the dialog that appears
Once enabled, currency fields appear across the app: on accounts, contacts, invoices, bills, estimates, and credit memos.
You can disable multi-currency later, but only if no active foreign-currency accounts have transactions posted to them.
Base Currency
Your base currency is the home currency your company reports in. It defaults to USD. You can change it in Company Settings using the Base Currency dropdown.
All reports (Profit & Loss, Balance Sheet, Trial Balance, etc.) show totals in your base currency. When you create a transaction in a foreign currency, AllMy converts the amounts to base currency using the exchange rate on the transaction date.
Foreign Currency Accounts
When multi-currency is enabled, the account creation form shows a Currency dropdown after the Subtype field. Pick the currency this account operates in. For example, if you have a GBP bank account, set the currency to GBP.
- Accounts without a currency set use your base currency
- Once an account has transactions, its currency is locked
- The bank register for a foreign currency account shows balances in both the account currency and the base currency equivalent
31 currencies are available, including USD, EUR, GBP, JPY, CAD, AUD, CHF, CNY, and more. All use correct decimal places per ISO 4217 (for example, JPY uses 0 decimal places, KWD uses 3).
Contact Default Currency
Each customer and vendor can have a default currency, set in the Payment & Tax section of the contact form. When you create an invoice or bill for that contact, the currency pre-fills from their default. You can override it on any individual document.
Invoices, Bills & Estimates in Foreign Currency
When multi-currency is enabled, invoices, bills, estimates, credit memos, and vendor credits all show a Currency dropdown and an Exchange Rate field. When the document currency differs from your base currency:
- The rate field shows the convention
1 USD = X GBP - Click Fetch to pull a live rate from your configured provider
- If the cached rate is more than 7 days old, an amber warning appears
- Line item amounts display in the document currency
- A secondary line shows the approximate total in your base currency
- The exported PDF shows amounts in the document currency with the exchange rate noted
Exchange Rate Providers
AllMy Ledger can fetch exchange rates from three providers. Configure your preferred provider in Company Settings:
| Provider | API Key | Currencies | Free Limit |
|---|---|---|---|
| Frankfurter (ECB) | None required | ~30 | Unlimited |
| Open Exchange Rates | Required | 170+ | 1,000 req/month |
| ExchangeRate-API | Required | 165 | 1,500 req/month |
Frankfurter is the default and works without an API key. If you need more currencies, sign up for a free tier at Open Exchange Rates or ExchangeRate-API and enter your key in Company Settings. API keys are stored encrypted using your OS keychain.
Rate fetching is on-demand only. Click Fetch on any document form to pull a rate. There is no automatic background fetching.
Managing Exchange Rates
The Exchange Rates page (linked from Company Settings when multi-currency is enabled) shows your rate history. From here you can:
- View all stored rates filtered by currency and date range
- Add rates manually for any date
- Edit or delete existing rates
- See the source of each rate (API or Manual)
Rates are stored as 1 [base] = X [foreign]. When you create a document, AllMy looks up the most recent rate on or before the document date.
Cross-Currency Transfers
When you transfer money between accounts in different currencies, the transfer form shows three fields:
- From Amount (in the source account's currency)
- To Amount (in the destination account's currency)
- Exchange Rate
Enter any two of the three and AllMy calculates the third automatically. The auto-calculated field is marked with an "(auto)" badge.
An FX Impact preview shows the base-currency equivalents of both sides and the resulting gain or loss. If the difference is $0.01 or more, AllMy automatically posts the gain or loss to a "Foreign Exchange Gains/Losses" expense account (created automatically the first time it's needed).
Reports and Multi-Currency
All aggregate reports use base-currency equivalents. This means your Profit & Loss, Balance Sheet, Trial Balance, Cash Flow Statement, AR/AP Aging, and Schedule C reports all show consistent base-currency totals, regardless of what currency individual transactions were recorded in.
The conversion happens at the exchange rate recorded on each transaction. There is no end-of-period revaluation.
Current Limitations
- No realized FX gain/loss on invoice or bill payments (the payment clears at the original document rate)
- Cross-currency credit memo application is not supported (the credit memo and invoice must be in the same currency)
- No automatic or scheduled rate fetching
- No end-of-period unrealized gain/loss revaluation
Tip: If you only work in one currency, you don't need to enable multi-currency. Everything works exactly the same as before.