Topic: Foreight Exchange Gain

I am using 2.2.7 and also had this error in 2.2.6

I currently only use really use the banking and general ledger tab in front for bank deposits, bank payments and journal entries (and dimensions and setup occasionally).

My default currency is USD. I also have a GBP account setup.

At the moment any bank payments or deposits I make into the GBP account always add 2 extra journals. example below on the bottom 2 lines.
7901     Bank Charges     7 General           12.35         Bank Charges
1210     Lloyds GBP Account                     12.35    
1210     Lloyds GBP Account                 12.35         Exchange Variance
4920     Foreign Exchange Gain                     12.35     Exchange Variance

It is always the Foreigh Exchange Gain account that is posted to whether it is a payment or deposit made to the GBP account.

I think this is a bug that was not around in 2.2.5, although I don't want to post it to bugs until I understand more. I could just be missing something about this exchange variance thing.

Re: Foreight Exchange Gain

The two additional postings are result of foreign currency bank account revaluation. This is done on first transaction involving currency account, after the currency rate has changed. So on every later transaction on the same date, the revaluation will not be posted. Joe can explain more about it.
Janusz

Re: Foreight Exchange Gain

Everytime a foreign currency is used, the underlying GL account is updated so it always mirrors the correct values in domestic currency. So the differences to the former exchange rate and the current exchange rate is calculated and regulated on the GL account and foreign exchange account.

/Joe

Re: Foreight Exchange Gain

It seems the amounts it posts to the foreign exchange gain are incorrect. From my understanding of what you are saying, in my example above it would mean the change in the curreny rate between USD and GBP was 100% (or 1:1 to 2:1) which did not happen?

Also is there a way to stop the foreign exchange gain from automatically being posted, and then I can manually revalue it when I choose.?

Re: Foreight Exchange Gain

another example of an actual post to a GBP account in out USD based accounts. The amount was entered today as GBP 39.47 and the date of the transaction entered was 9th Feb 2010. Below is what happened in USD.

5030     Hosting / Domains     61.61
1210     Lloyds GBP Account                     61.61    
1210     Lloyds GBP Account     980.58         Exchange Variance
4920     Foreign Exchange Gain                       980.58     Exchange Variance

As you can see the foreign exchange gain has no bearing on the changes in the GBP:USD at that time or since then.

Re: Foreight Exchange Gain

The balances of the currency accounts will mirror the correct balance in the underlying GL accounts.
There must be something else making these problems.
We will consider a disable flag on a per company base for release 2.3.

/Joe

Re: Foreight Exchange Gain

I don't know what is 1210 amount at the moment of above posting, so it can be right anyway. If you have 98.000 in GBP in Lloyds Bank and there is change of 1 cent in exchange rate, the result in exchange variance is post on amount 980 USD. This is right, although I see no reason why it is appended to the post just issued , and not added as separate bank resources revaluation post.
In example above in fact the revaluation has nothing to do with Hosting/Domains payment itself.
Janusz

Re: Foreight Exchange Gain

Yes, maybe we should remove the Revaluation into a specific GL Journal to separate the operations and call it 'Revaluation of currencies'.

But I will do another test if there are problems with the revaluation.

/Joe

Re: Foreight Exchange Gain

Hello slackie,

Are you using the GL account 1210 in Journal Entries for other entries? In that case I can understand the problem.
One should never use the bank accounts in Journal Entries except for entry of Open Balances.

Be aware of the transaction date.
You can now make a test by looking at the transaction date balance in GBP in the bank account and compare to the balance in the GL account by the same date. By using the exchange rate as the transaction date you should get the correct balances in the GL account.

I have tried a while without reproducing any errors? I will continue:

/Joe

10 (edited by slackie 04/18/2010 10:08:09 am)

Re: Foreight Exchange Gain

Hi,

I am not using the GL account 1210 for any journal entries. It only has bank deposits and payments into it including the the opening balance. In addition GL account 1210 has one GBP bank account assigned to it.

Regarding your 2nd paragraph 'Be aware of the transaction date', I am not sure if I understand it, but in my example below I made a bank payment entry for GBP 39.47. I put the date in as the 9th feb which was when the payment was made, and the GL transaction details came out as below. I understand the 61.61 is the USD equivilant of GBP 39.47, which I guess makes the rate on the date GBP 1: USD 1.56. That's fine. It's just the bottom two automatic extra GL transaction details  of 980.58 which seem incorrect.

5030     Hosting / Domains     61.61
1210     Lloyds GBP Account                     61.61   
1210     Lloyds GBP Account     980.58                      Exchange Variance
4920     Foreign Exchange Gain                 980.58     Exchange Variance

I also posted that exact same bank payment a couple of weeks earlier and it gave totally different results, which also seem incorrect. Below is the GL transaction details of that.

5030     Hosting / Domains     61.61        
1210     Lloyds GBP Account                 61.61    
1210     Lloyds GBP Account     147.58                Exchange Variance
4920     Foreign Exchange Gain           147.58 Exchange Variance

As you can see the conversion of GBP 39.47 to USD 61.61 stays the same, which is fine, but then the bottom two automatic extra GL transaction details  of 146.58 seem incorrect, and are totally different to 980.58

Re: Foreight Exchange Gain

The last two postings in fact does not depend on transaction amount, but on exchange differences and actual currency account  balance:

exchange_variance = (old_rate-current_rate)* account_balance.

As I said, automatic posting of exchange variances on every currency transaction can be misleading, but above posting are probably entirely right.

Janusz

Re: Foreight Exchange Gain

Please, Slackie, do the following check (I also asked you that in my former answer).
Take your GBP balance in your bankaccount and multiply it with the exchange-rate from the last day of transactions. This should give the same balance as in the GL account.
Please tell me if this is the fact.
If this is not the fact, we will have to investigate it further.

/Joe

Re: Foreight Exchange Gain

ok i didn't get it before re: the account balance. so if the payments/deposits are not entered sequentially that could cause the numbers above?

i will void all the payments / deposits and enter them sequentially and let you know how that goes.

Re: Foreight Exchange Gain

Yes! It works just fine if I enter the GBP payments in sequentially by date as they appear on the bank statement. No extra exchange variance entries are coming up at all now that I am entering them in sequence.

You guys are amazing. You provide better support than any paid support I have experienced on top of a great free open source product. Time to donate smile

Re: Foreight Exchange Gain

Thanks slackie, glad you sorted it out smile

/Joe

Re: Foreight Exchange Gain

ok now that i have made all the posts i clearly understand how it works, and work it does.
at times it is a few cents out. max of 20 cents out. not sure why.
as you said it is

exchange_variance = (old_rate-current_rate)* account_balance.

OR probably easier to understand

Take your GBP balance in your bankaccount and multiply it with the exchange-rate from the last day of transactions. This should give the same balance as in the GL account.

I couldn't find a sticky or wiki on this topic so perhaps do one to explain how it all works.

Re: Foreight Exchange Gain

Hello again,
In version 2.3 we will implement the revaluation as an option to do it manually and also do it on a special Journal Entry.
Yes the wiki need to be updated.

/Joe

Re: Foreight Exchange Gain

maybe a button to click to make it semi automatic