Different currency conversion

Asked by Adrian Sav on 2019-04-11

I have two cash accounts, with different currencies. I want to transfer money from one account, to the other, but in the window "Add transaction" the button "OK" is not active, and the destination account does not show up in the "to account" list. What am I doing wrong?

Question information

English Edit question
HomeBank Edit question
No assignee Edit question
Last query:
Last reply:
LeTic (letic) said : #1

Hello Adrian,

Actually this was requested a few years ago and we discussed this with Maxime (the lead dev) in 2016 but at the time it was decided that it was too big a feature for the release.

Years have passed and I am still using Grisbi as this is one of the only opensource tool that has this functionality buit in. It's horribly dated and I am now looking at moving to Homebank again. But before I need to find a way to workaround this issue.

It will probably be manual as the cross-currencies transfer does not exist in Homebank.

Maybe Maxime can update us if this is something that could be planned in a future release ?

Take care

LeTic (letic) said : #2

Having a look at the homebank code and the data structure :
 - Currency is defined per account
 - Currency have a single defined exchange rate. Refreshing it will automatically re-calculate all amounts
 - Transaction do not have a currency but are linked to an account that does.
 - Cross currencies Internal transfer are indeed not possible. This is the only problematic use case with multi currencies in Homebank left it seems. Internal transfer creates two transactions one on the origin and one on the destination account with credit/debit.

What would be needed to change in homebank to handle that particular use case :
 - Add the currency id per transaction (ope) if different from the account currency
 - Add the exchange rate per transaction as this one can't be using the latest exchange rate downloaded from https://frankfurter.app/latest. It could download the rates from that day but could only be serving as an indication for 2 reasons :
    1) Regular banks use their own exchange rate that is fixed per day. They say that there is no fee but usually take a exchange rate with a minimum 2% margin, which ends up the same...
    2) New fintech banks like revolut use the live exchange rate (with a small security margin) so it will never be the same as the daily official rate
 - Add a new field for the user to input the actual exchange rate
 - In transaction list the ones with an exchange rate will be calculated

Another solution that would require less changes would be to have 2 amounts field :
 - One on the origin account in its currency
 - One on the destination account in its currency
Although it requires less changes to the data structure is seems somewhat less clean the previous approach.

I will have a look if I can make a POC of this approach. Unfortunately I am not as comfortable in C as I used to so if I manage to do something it will need lots of review !

Let us know Maxime what you think.

Adrian Sav (free-heart) said : #3

LeTic, thank you for your answer.
Cross-currencies transfer has to be properly built in Homebank for it to be a serious program. I currently use it in GnuCash and it works perfectly. I was looking into alternatives becuse GnuCash is big and slow.
Just out of curiosity, on the home page it says, "HomeBank also benefits of more than 21 years of user experience and feedback". How come it is so hard to implement that 21 years were not enough time for it?

LeTic (letic) said : #4

Hello Adrian,

Just a disclaimer, I am not a homebank developer currently. Just an interested user as you are.

I agree that this is an important feature but only a skilled developer can add it.

I do have a lot of experience as both a user and contributor of opensource projects for many years, that's why I don't think sarcasm is useful.

Maxime (the lead dev) has been developing and improving Homebank nearly single handedly for many years and made probably the best opensource accounting software around.

The reason for the lack of this feature is only because he never needed it himself, and if we are not friendly when expressing our wishes for new feature I don't see why he would be motivated to spend his free time implementing it.

We'll see what he will answer but please drop the sarcasm :)

Adrian Sav (free-heart) said : #5

Oh, no, please do not understand me wrong. It is not my intention to be sarcastic. I am grateful for the software. Moreover, it is free. I cannot help but admire and appreciate someone who give away their work.

But in my opinion, a software that is specialized in money management should have implemented this feature in 21 years of existence.

Maxime DOYEN (mdoyen) said : #6

"But in my opinion, a software that is specialized in money management should have implemented this feature in 21 years of existence."

=> if that software was a commercial one, and you had payed for it, you could have such a though, BUT you just forgot, this one is a free software and it is done on spare time, by, well... me alone. Free software developer are still human: they have also a real job, a family and a life, problem, illness like everyone. So I would say: if things were so easy to code/test and time more elastic, I would have make more for sure in the last 21 years :)

We live a time were the demands of people are growing and are sometimes excessive and I would say their judgement is not always very fair.
It is always surprising how people can think the feature they want is a must have just because they want it with no consideration that other feature are just more useful at the end for everyone else. I let you guess what is my point of view on this.

AT the end, there is a wish ( I linked) for this wish, with no real plan for now, for the reason I have just exposed above :)


Adrian Sav (free-heart) said : #7

Thank you for your answer.

I completely understand your point of view and I appreciate your work. It's just that at first, HomeBank seemed the perfect software for money management. Still, one feature away from it.

I see this feature as a very important one. Like the world and the languages. You have many countries that speak different languages. For me, there is an obvious need to be able to have people that can translate from one language to another. How would the world be from tomorrow without translators? This is how I see Homebank: money management, without the ability to manage them properly, converting to the many currencies used in the world.

But you're right, I am subjective. We are all human, as you say, after all.

Maxime DOYEN (mdoyen) said : #8

Bug #1673260: wish: internal transfer with different currency

LeTic (letic) said : #9

Hello @Adrian Sav,

Just for information if you are still looking for this functionality I personally switched to Skrooge.

It's extremely complete and can even download from online banks through boobank.

Hope this help.
Take care