Convert Currency in Payments seems broken

Self-hosted. Version 4.5.12.

I’ve received a payment in euros which has been deposited into a UK bank account and automatically converted to British pounds.

When I type in the received payment it automatically calculates the exchange rate for me. However, the exchange rate has only 4 decimal positions. It deducts 2 cents from the amount I just typed in so that it can use the generated exchange rate.

That’s funny… Last I checked, the amount that I received in my account is ALWAYS the amount that must be registered in the application. I don’t care about the exchange rate; I need the correct amount to be visible for my accountant.

Can this be fixed ASAP or can someone point me at which line of code I’d need to change in order to increment the maximum amount of decimals to 5 so that I can make the correction myself?

Alternatively, this could also be fixed by introducing transaction fees to the Payments module. It will have been an exchange rate + transaction fees, though as the receiver I’m not sure about the split, only the final amount in my account.

Gateway fees can be enabled on Settings > Online Payments.

I’ve enabled Gateway fees, but I don’t see how this feature helps me.

My situation is that the client is invoiced in EUR but my payment is received in GBP (bank automatically converts foreign currencies)

When I add a payment then the amount is shown in EUR. I specify that I wish to convert the amount to GBP and I fill in the amount I received on my bank account in the “Converted Amount” field.

The “Exchange Rate” field is then updated, but because it only supports 4 decimal positions the “Converted Amount” I just typed in gets changed.

When I enable “Gateway fees” I see no option to provide an additional transaction fee on the payment.

A picture says more than a thousand words, so hopefully, this clears it up: