Multi-currency
If you invoice in EUR but your books are BGN, or you have a USD bank account alongside a BGN one, PLANA handles the currency conversion and the FX gains / losses automatically — once you've configured it.
The setup
1. Enable foreign currencies
Settings → Accounting → Currencies → Activate each currency you need (EUR, USD, GBP, etc.). Activation makes the currency available on invoices, bills, and journals.
2. Set up exchange rate updates
PLANA can fetch daily rates from the European Central Bank. Configure:
Settings → Accounting → Exchange Rate Provider → European Central Bank.
PLANA fetches the daily ECB rates every morning. You can:
- Use the daily ECB rate for every transaction (default)
- Use a manual rate for specific transactions (e.g. the actual bank conversion rate)
- Use the end-of-month rate for revaluation purposes
3. Configure your accounts
Some accounts need to track the foreign currency separately:
- Foreign-currency bank accounts — the journal is "Bank in EUR"; balance is in EUR + BGN equivalent
- Foreign-currency receivable — the partner record sets the currency
PLANA generally handles this automatically; you only need to override in specific cases.
Invoicing in a foreign currency
Open a customer invoice → change the Currency field:
- The lines are quoted in the chosen currency
- Tax is calculated in the chosen currency
- The journal entry posts in both the foreign currency and the BGN equivalent at the day's rate
The customer sees an EUR invoice; your books see both EUR and BGN amounts.
Receiving payment in a foreign currency
Customer pays in EUR; the EUR amount on the day of payment may differ from the EUR amount on the invoice date due to FX movement.
PLANA reconciles:
- The EUR amounts match (assuming the customer paid the full invoice amount)
- The BGN amounts differ by the FX gain or loss
- PLANA posts the difference to the FX Gain or FX Loss account (configurable in Settings → Accounting)
So a EUR 10,000 invoice issued at 1.95583 BGN/EUR (19,558.30 BGN) paid when the rate is 1.95700 (19,570.00 BGN) results in a 11.70 BGN FX gain — automatically posted.
Buying in a foreign currency
Same pattern for vendor bills. The bill is in the vendor's currency; PLANA records both currencies; FX gain / loss posts when paid.
End-of-period revaluation
For unpaid foreign-currency invoices and bank balances, the value in BGN changes as FX rates move. At month-end, you may want to revalue:
Accounting → Currencies → Revaluation → Run for period end.
PLANA posts an FX adjustment to bring the BGN-equivalent of open balances up to the period-end rate. Reverses automatically at the start of the next period (so the next month's payments compute FX delta from the period-end rate, not the original invoice rate).
Revaluation is required by Bulgarian accounting standards for material balances.
Reports in multiple currencies
The Profit & Loss and Balance Sheet report in your company's base currency (typically BGN). Foreign-currency activity is converted at the rate of the transaction date.
The Partner Ledger shows per-partner balances in both currencies where applicable.
The Trial Balance can be filtered to show only foreign-currency journals, useful for verifying FX positions.
Common gotchas
| Issue | Resolution |
|---|---|
| ECB rate missing for a date | Manually enter the rate in Currencies → Exchange rates |
| Customer paid via a different rate than ECB | Override the rate on the payment record |
| Multi-leg payment with FX | Record each leg explicitly with its own rate |
| BGN-EUR fixed peg | BGN is pegged to EUR at 1.95583; some businesses use the fixed rate for everything and don't reval. Configure per your accountant's preference |
| Customer in EUR paying in BGN | The bank transaction is in BGN; PLANA reconciles to the EUR invoice using the rate of the bank-transaction date |
Where to read more
- Customer invoicing — issuing FX invoices
- Vendor bills — recording FX bills
- Bank reconciliation — FX reconciliation
- Reports — currency handling in financial statements
- Period closing — revaluation at month-end