When I started using this software, the (Currency Gains and Losses) report allowed me to manually adjust the exchange rates. But in an update that I missed afew months ago it became automatic. now every foreign currency and every customer/supplier with foreign currency must use a single exchange rate that I set in (Exchange Rates) for calculation of Foreign exchange gains (losses)
This update is great for most of the world but for us its terrible because we have a weird issue where USD is exchanged to local currency one way in the market, but exchanged with a very different rate in the central bank, and exchanged in yet another way outside the country.
So the suppliers that we owe, we owe to them USD but with exchange rate A, but the local USD i have has exchange rate B along with local customers that owe us in USD.
Thus the [Foreign exchange gains (losses)] is off by afew hundred thousand dollars.
I know how to easily calculate what the actual (Retained earnings) should be but I cant modify it with a journal entry (Or i dont know how)
I think you are looking at the problem from a wrong angle, fluctuations in Retained earnings are only side effects for valuing your financial assets and liabilities.
The process goes like this:
You recognise a foreign asset/liability based on your Spot exchange rate. This is an estimate and the exact rate used could be buy rate, sell rate, cb rate or tax authority rate depending on the situation and jurisdiction. This is up to the user to decide. But this is only an Estimate not an accurate figure.
As long as the asset/liability is outstanding, you need to revalue it at each reporting date to reflect the new Estimate. As a result of this change in estimate you get Foreign exchange differences as side effects. These are known as temporary differences or to be blunt, plug figures
When the asset/liability is settled and the foreign currency amount is realized, then and only then you get the Actual exchange rate. This will also overwrite all differences from step 2.
Now back to the specifics:
There is no accounting standard that requires the user to keep track of actual exchange rates for step 1 or 2. Therefore once step 3 comes, you will know the exact figures and any temporary difference from earlier steps will be self corrected.
Also, there are no accounting standards requiring the valuation of assets at selling rate and liabilities at buying rates. Just book it at midpoint.
You can, however, create two USD Currencies if you wish, one for selling rate and one for buying rate and this will solve your issue if you don’t mind the extra work for something that’s not required
As I alluded to earlier, the “gains (losses)” part is a euphemism for “estimation differences” — which are temporary differences after all so I wouldn’t be bothered with them.
Here is a file to illustrate my problem because I’m sure we cant convince each other otherwise. Problem (2025-03-27).manager (24 KB)
Import this and read along, this is the simplest version of my problem:
I made one supplier and one customer. Both in USD currency. Note that my local main currency is IQD and most transactions and customers are IQD. Yet alot of customers, and all suppliers are USD.
When I enter sales invoices I type 1500 exchange rate because the USD that he pays me would be exchaged in local market by 1500.
But when I enter purchase invoice, I enter 1350 in the exchange rate because paying the supplier is done through banks which take IQD from us and exchange it by 1350 to the supplier.
Here comes the problem. in Manager if you look at the summary you see that Foreign exchange gains (losses) shows 15,000 IQD gain which is wrong. because In reality I didn’t gain anything, because when I pay the supplier like below then the gain/loss becomes zero (which is correct)
I cannot tell manager that this 1500 should be 1350 in this row. In previous versions it was possible to tell manager (hey this customer/supplier/bankAccount which has foreign currency of A should have value B in base currency) now it’s automatic and uses the exchange rate of today
Solutions that don’t work:
Changing exchange rate of today to 1350 this solves the suppliers problem but the USD customer’s would be wrong.
Changing the exchange rate when entering purchase invoices to 1500 This is also wrong because the bank wouldn’t exchange it for that. And the inventory cost would be higher (i.e wrong)