Foreign currency gains from migrating to new Zimbabwean currency

I’m having trouble working out how to deal with foreign exchange gains / losses as a result of our new currency in Zimbabwe. Unfortunately there’s quite a lot of context needed for anyone trying to understand:

Since I started my business and began using Manager last year, we’ve officially been using US dollars. I set that as my default currency. However, we’ve also had our own “Bond notes”, that have officially been 1:1 with the USD. Our bank accounts were officially in USD, but the banks didn’t actually have any USD for us to go and withdraw. So the reality was that our Bond notes and bank balances were not really of equivalent value to the USD, as we couldn’t use them for anything outside the country. The banks did, however, allow us to open foreign currency accounts too, which were backed by actual USD and that we could use to make foreign payments.

So, I had:

  • 1 bank account in local currency (shown as USD, but not really the same)
  • 1 bank account in foreign currency (USD)
  • 1 cash account in local currency
  • 1 cash account in USD

I would send customers invoices for amounts in local currency, and if they paid with USD cash I would edit the invoice to show a discount approximating the (unofficial) exchange rate of the day.

Then last week we had the announcement of the new monetary policy, which made our local currency (the Bond notes and regular bank balances) an official currency, called the RTGS$. Thankfully @lubos was quick to add it to the currency list. I’ve now changed my default currency to the RTGS$, as well as the relevant bank and cash accounts. The process was mostly pretty smooth, though the balance of one of the cash accounts was thrown way off if I changed its currency. My solution was to create a new account, do an inter-account transfer of everything from the old account to the new one, and set the old one to be inactive.

My problem now comes with exchange rates. Since our local currency was officially 1:1 with the USD, all historic transactions and inter-account transfers were done at this rate. And since officially it was all USD, that was the currency I used for all the accounts in Manager. Obviously to me the balances in one account were not necessarily worth the same as another, but officially they were the same.

So now I want to create an exchange rate between the USD and the RTGS$, but if I do that I get a large foreign exchange gain showing in my income as a result of the USD cash and bank balances I have. Where US$100 was officially the same in our local currency, it’s now worth RTGS$250 officially, and so I get a foreign currency gain of RTGS$150 for that amount.

Any suggestions for how to clear this? In any normal situation it would be completely legitimate, but ours is not a normal situation.

Should I perhaps revert my accounts to USD and create new RTGS$ accounts, transfer across at 1:1, then create my exchange rate? I’m not sure if that would even work. The more I think about it the more confused I get!

I appreciate this might not really be a Manager-specific issue, but I would welcome any suggestions, especially if they don’t involve editing all my transactions from the last six months…

I have not considered all aspects of your unprecedented situation. But one thing is totally clear. You cannot convert a cash or bank account from one currency to another, even if the currency names remain the same, because exchange rates between them differ. You should segregate “before” and “after” accounts.

Thanks @tut. That sounds like good advice. Wherever I’m having trouble it seems to be because every time I make a change to an exchange rate or an account currency it affects all the past transactions. Creating new accounts should keep everything before and after separate.

What’s confusing me the most now is migrating from the “before” to “after” accounts. Looking more closely at a single example:

I have a bank account in local currency. Let’s say it had a balance of USD 100. We all know that wasn’t 100 real United States Dollars, but that’s what the banks called it. Now the bank says it is RTGS$ 100. But the government says the exchange rate is RTGS$ 2.5 to USD 1.

So how do I migrate the 100 from my old “before” USD account in Manager to my new “RTGS” one without incurring foreign currency gains or losses?

I don’t think you can avoid currrency gains/losses in the overall process. Because of the rather strange practices in your country, exchange rates have effectively changed rather precipitously.

Yes, the official exchange rates have. But in reality the process has actually been happening a lot more slowly. Our bank balances were actual USD when we opened our accounts. Then slowly the hard currency became more and more scarce, and as that happened the real-world value of our virtual balances dropped. One by one the facilities to use our money out of the country were revoked. Now the government has formalised what we’ve already been working with for some time. So it feels strange to have this sudden change and disparity in my accounts when it feels like nothing much has changed in reality.

Sadly for many Zimbabweans this situation isn’t unprecedented. There were times when the government simply knocked a whole lot of zeros off the currency. Luckily for me I wasn’t trying to run a business and do accounts then.

So for now I’ll accept that there will have to be some sort of gain or loss somewhere. I realise accounting systems are not designed for this kind of scenario, and I don’t expect them to develop a way of resolving it. I’ll chat to my accountant, who has the local knowledge and has presumably been in a similar situation in the past.

If the base currency of your system is going to be RTGS$, the following will happen:

  1. The electronic balance that you had of USD 100 it will remain the same. Rate is USD1:RTGS$1 - RTGS$100

For the USD actual cash you have in hand - it is going to be translated to RTGS$250 - rate USD1:RTGS$2.5

You have to designate RTGS$ as your base currency - all your electronic money besides your FCA balance will stay the same. FCA & USD Cash in hand will be translated using RTGS$2.5:USD$1.

This will cause you to have foreign exchange gains, which in principle is correct because if you were to exchange those amounts to RTGS$ you will get 2.5 times the amount of the USD.

Thanks @Panashe_Mlambo.

From an accounting perspective yes, it’s correct. But those USD were always USD. I haven’t gained anything by keeping them as USD. That foreign currency gain is going to show up in my income, and I’ll be taxed on a profit that doesn’t exist, surely?

Your situation may be justification for closing your books and beginning again as a new company, not to hide real income, but to avoid artificially created income related to the sudden currency change. Real USD should translate to real USD. But, as I read your posts, it seems like you’ve been dealing with USD that were not real, despite being labeled as USD.

Thanks @Tut. You might be right. I’ll see what feedback I get from my accountant.

My first thought is what a lot of work it’ll be to migrate all my customers, suppliers, outstanding invoices, overpaid invoices, etc. But I’m sure that people regularly migrate from other accounting systems, and I know there’s lots of good information in the guides and other forum posts, so I’ll dig into those if it looks like that’s the way to go. As part of my experimenting just now I did a batch update of all my customers, and that was very easy and effective.

@GrahamvdR You are welcome