Foreign exchange gains (losses) 0.01 and Fixed Exchange rate issue


I have search many post about exchange gain 0.01, but no luck, hard to understand.

Manager got two bank account

PayPal USD
PayPal HKD

Base Currency

Exchange Rates
1 HKD = 0.1282 USD

One receipt only
Account = PayPal USD
Sales = 514.4
Fee = -222.42
Amount = 291.98

Summary show Foreign exchange gains (losses) = 0.01


Amount = (291.98)
Exchange rate = 0.1282003 (Whats??? Why Not 0.1282??? is that 0.01 come from here)
HKD = (2277.53)

Close balance
Amount = 291.98
Exchange rate = 0.1282000
HKD = 2,277.54

Foreign exchange gains (losses) = 0.01

  1. What is that 0.01? Rounding error?

  2. Why not use my set fixed exchange rate 0.1282??? why is 0.1282003? Big issue for me, alway show 0.01 exchange gains…i think if that 0.1282003 become 0.1282 so the 0.01 will not show anymore.

  3. I just test it out if the receipt is only Sales = 291.98 then 0.01 will not show anymore, why? it that manager rounding the “Sales” and “Fee” One by One? IF yes, is that accounting use the same method to rounding a sales?

  4. How can i use Base Currency HKD and set 1USD = 7.8HKD? (now is 1usd = 0.1282 hkd, i dont want it because rounding), will that 0.01 not show anymore if i can set 1USD = 7.8HKD???

  5. how can i prevent that 0.01?



Post a screen shot of the Edit screen for your receipt. Also, do not transcribe information into your post. Post screen shots of the actual transaction. That is the only way for other forum members to understand what you have done.

Do not think of it as an error. It is a difference caused by differences between exchange rates. But we don’t know what happened without seeing the screen shots.

The answer depends on what you entered. That is why we need to see the Edit screen for the receipt.

If you are going to use multiple currencies, you are going to gain foreign exchange gains and losses at some point in time. Understand that to balance your books, the program must convert various numbers into your base currency. The results are not always exact to two decimal places. Rounding will occur.



Thanks, please let me know what happen of my issue.


Sorry, I saw that - it is much easier if you post the image directly using the Upload button (ArrowUp)


Sorry i dont know have this function…wow…nice :slight_smile:


When you reply to a post you can copy the images - on Windows I use the Windows Snipping Tool to copy the part of the screen or window, I need and then use Paste

1 Like

really a good function.

thanks :slight_smile:


So here is what happened, @heyjo00as. You entered a receipt for exactly 291.98 USD. But Manager must convert all balance sheet amounts to your base currency to balance the accounting equation (Assets - Liabilities = Equity). At an exchange rate of .1282, that converts to 2277.53510140456162 HKD. But the HKD is limited to 2 decimal places for transactions. So Manager rounds that to 2277.54. That is the closing balance in HKD after the transaction. Because the result was rounded up, the program rounds down to 2277.53 and calculates an effective exchange rate of .128200287153188, which it rounds to .1282003 for display purposes. (Even at 15 decimal places, these calculations are almost never exact.) That effective exchange rate would produce a converted amount of 2,277.529771771204904, rounded to 2277.53. The difference between the two converted amounts is about .00533, which rounds to .01. (See, even the differences are approximations.) That’s what goes into the Foreign exchange gains (losses) account. Sometimes the difference is positive, sometimes negative, but it is never large and tends to even out over time.

All this is really a very long-winded way of saying that, if you use multiple currencies, you cannot avoid rounding differences and forex gains/losses. If the exchange rate changes in the future, you will see even more complications.

1 Like

Thanks for the info.

I just thinking if the exchange rate (book rate) can be set to 1usd = 7.75usd then the 0.01 may not show anymore in any other transaction, right? i wanna prevent the 0.01.

But i search the forum seem that no method can set the exchange rate like this when base currency is hkd.

but i need report in hkd so i can not set the base currency in usd.

Anything i can do so i can prevent that 0.01? thanks


As answered already several times, no.