Enter a foreign currency payment from/to a bank account in another currency?

I have a bank account in USD, but need to make a EUR payment against a loan account (NOT a purchase invoice) in EUR. The account would be debited USD to credit EUR to the beneficiary, using the bank’s supplied exchange rate.

What is the proper way to account for this, so that we can both use the actual incurred exchange rate for cash flow purposes, and also automatically have the difference with “fair” market exchange rate (from xe.com) accounted for as a FX charge? I read it was planned to be supported in August, but I cannot see this being reflected in the current version of Manager.

The only workaround I have found is therefore in two steps (it could be done in one journal if an override currency could be specified at the account level rather than only the journal level):

  1. Enter the USD payment with debit of a custom “FX charges” expense account.
  2. Create a journal entry crediting the “FX charges” and debiting the loan account with the corresponding amount in EUR.

Since a FX transaction is actually always costly compared to what it would have been using the mid market rate, it makes sense to account for the difference in an expense account, and leave Manager to compute it automatically with built-in exchange rates. It is not the same thing as “Currency gain (loss)”, which is actually computable based on the “FX charges” balances and does not necessarily correspond to a cost.
Behind the scene, I therefore expect Manager would generate roughly the same kind of journal entries as I do.
What is needed is a way to bundle these entries so that the association between payment and target account can be kept (like if we could put everything in one journal instead of two), in particular so that reconciliation would be possible.

Aside from the possibility to specify currency at the account level in a journal, I would suggest to allow specifying a currency different from the payment account in the “Payment” form (e.g. EUR instead of USD), and if relevant the bank exchange rate OR the actual amount paid. Then, Manager could internally generate the intermediary journal entries involving FX charge, while still keeping the associated account information.

Of course, this feature would be welcome both for sending and receiving payments.

Manager has static in-built exchange rates but that is only to get users stop wondering why balance in USD is the same as balance in EUR. There is another module called Exchange Rates under Settings tab which allows to set daily exchange rates from which Manager will automatically calculate exchange gains/losses on P&L.

Right now, feeding exchange rates into Manager is manual process but I’m planning to implement bulk-fetching that will make Manager download exchange rates from the Internet without manual entry.

The only problem is that these exchange rates will be then used on all transactions. This is OK for most transactions but sometimes you really need to set custom exchange rate on transactional level. For example, if you receive money from customer into USD bank account and invoice has been in EUR or if you transfer money between two bank accounts of different currencies.

Currently, custom exchange rates on transactional level are not possible to set but the support for it has been already implement in the back-end. I didn’t get around to expose it in user-interface yet but it is something I’m definitely going to do this month. It’s long overdue.

Your workaround with journal entries is OK for the time being. When facility to set custom exchange rates on transactional level is added, you can set those exchange rates on transactions where you’ve previously used journal entries to adjust balances so that way you can get rid of those journal entries and keep your accounting file neat.


Any news about this topic? There is an unofficial Yahoo! Finance API for fiat currencies and an open API at CoinMarketCap for cryptocurrencies. I could help with this if needed — just let me know.

1 Like

Also look at exchange rates published by the ECB:

And of course Quandl free APIs: