My base currency is CAD, but I also have foreign currency transactions in USD. My normal workflow is as follows:
I record transactions on a daily basis, including those in USD.
At the end of the year, I batch create foreign exchange rates for the entire year.
The issue is as follows:
When a foreign currency transaction is initially recorded, Manager looks up the exchange rate and populates the exchange rate field in the “Payrment” or “Receipt” interface. However, since the exchange rates for the year are not available at the time the transaction is recorded, Manager looks up and finds the most recent rate available, which would be the last day of the previous year (according to my work flow). Then later, when I batch create the exchange rates for the year, the transactions are not recalculated automatically as expected, and instead, the rate that was looked up and found at the time the transaction was originally recorded remains and is used in the calculations. I believe this is not the right approach to handling exchange rates and foreign currency transactions, as it’s not practical to require to import a foreign exchange rate for the day, before recording transactions in that currency. In fact, the exchange rate isn’t even officially published until the next day.
Same applies to invoices issued in a foreign currency (and maybe other areas as well).
I suggest to modify the program, such that all foreign currency transactions are calculated based on the foreign exchange rates that are imported into the database, even if they are imported after transactions in a foreign currency have been entered.
A bit more additional information:
Currently using version 24.1.19.1287
I reviewed my historic transactions for the fiscal year 2022, and the foreign currency transactions were calculated correctly (and my workflow hasn’t changed since then). Therefore, I believe there were some recent changes made in the program in the past year, and the behavior was changed. It was correct before!
This topic might also help you understand the recent changes.
As you discovered, Manager no longer automatically applies exchange rates that were created after the transactions were created. If you go to Settings > Currencies > Exchange rates, you will see something like this:
If you drill down on the Transactions count for each rate, you will see a list of transactions that fit within the scope of that rate. This does NOT necessarily mean that they use that rate.
This screenshot shows transactions that use the correct rate for the day:
In the second example, you have an option to individually or batch select any transactions that you want to update, and then use Batch update from the bottom of the screen to update those transactions to use the exchange rate from the date matching the transaction. As far as I know this has to be done for every exchange rate entered. This could be a lot of work for you if you have different exchange rates for every day, and transactions on every day for a year. To my knowledge there isn’t a way to do this for multiple dates or rates in one go. I’m hoping that it might be implemented at some stage.
Thanks for describing this issue. I run into the exact same situation. I import exchange rates for multiple currencies and after that I import sales invoices and receipts. As described by @slavaf2000 and @GrahamvdR, exchanges rates in the individual transactions are not automatically updated. It doesn’t matter if I first load rates or first load invoices and receipts. You can go into the individual sales or receipt and without changing anything just hit update to get the correct rate, or as described above, batch update the ExchangeRateTransactions. As @GrahamvdR said, it has to be done by transaction or by currency\date. Could batch processing for a date range and\or currency be added to the ideas?
Thanks!