wish: internal transfer with different currency

Bug #1673260 reported by Jeff Fortin Tam
110
This bug affects 17 people
Affects Status Importance Assigned to Milestone
HomeBank
Fix Released
Wishlist
Maxime DOYEN

Bug Description

These days I have accounts set up in various currencies in Homebank. However, the only way I found/imagined for representing conversions (forex by moving funds from one account to another) is to create a manual debit and credit transaction with both accounts, and annotate the exchange rate manually in the transaction's "info" field.

I thought "that's a bit of a pain, but this kinda works, I suppose"... until I realized today that those transactions will mess up Homebank's statistics... because they appear as debits/credits, uncategorized. I "could" create two transaction categories for "Forex", but they would still skew off my statistics, as if I had made huge income/expenses every year even though it's money that never really moved...

So I'd love to have a better way to represent this in Homebank. Should this be a new "transaction type", with special rules (ie: you set the source amount, then either the selling conversion rate or the converted destination amount?), or should it be represented in statistics as some special multi-currencies calculation, or...?

Also worth mentioning: I can't just pull off the global currency exchange rate from the Internet via Homebank, because I want to look at the rate of my bank (which is always around 2.5% lower or higher than the market rate, depending on which way you're converting)... so currently I end up maintaining a separate spreadsheet of the currency exchange rate "when I received the money in the account matching the origin currency" and the currency exchange rate of "whatever amount I converted at a given time" (which also lets me guess when is a good time to convert or not)...

Maxime DOYEN (mdoyen)
Changed in homebank:
importance: Undecided → Wishlist
Revision history for this message
LeTic (letic) wrote :

Hello @kiddo,

This has already been discussed in issue #552565 more specifically in these two comments : https://bugs.launchpad.net/homebank/+bug/552565/comments/35 and https://bugs.launchpad.net/homebank/+bug/552565/comments/41

At the time Maxime didn't wanted to delay the release of multi-currency as it has been a long time requested feature.

I am not sure if he's willing to implement this in homebank as he argued that most users are not interested by this. I had a look at the code to see if I could help but the architecture seems quite complicated and it is not clear how difficult this would be to implement.

@mdoyen would you consider adding xfer in different currencies to homebank ?

Take care
LeTic

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

So the need is to enable a xfer that keep (sealed) the exchange rate from source to target ?
Or is that more complex?

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

I'm not 100% sure what you mean by "enable a transfer that keeps/seals the exchange rate from source to target", but here's what I want in other words:

- a transaction "type" that links two transactions with differing amounts (ex: 100 USD in one transaction linked to the corresponding 130 CAD transaction in a different account). Basically like the existing "Internal transfer" transaction type/feature, but allowing for diverging amounts and currencies on the two linked transactions.

- for those two transactions to not be counted in the statistics (or to have some sort of treatment that doesn't skew the stats like it does right now)

If that's what you're asking: no need to have homebank calculate forex, I just want to enter both amounts manually (because that's dependent on my banks etc., so I take whatever amounts they give me). No need for me to enter/use an exchange "rate", even; just input currency1 amount, output currency2 amount...

Revision history for this message
rugk (48509946-3) wrote :

So in times of *very* volatile cryptocurrencies, I think this is really important. :D

So currently you can already add an exchange rate, but to the currency, not to the transaction, so this may be the "only" thing, which needs to be changed.

See https://bugs.launchpad.net/homebank/+bug/1749473 for my bug report.

Revision history for this message
mikka (kharinoff) wrote :

Hi! Just wanted to say that I really need it feature in HomeBank!
Without option to transfer money between accounts in different currencies, the statistics shows wrong things...

Anyway, thanks a lot for HomeBank!

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

What maybe a compromise is to implement this the way it is in mmex (money manager ex).

=> For a xfer you have an advanced mode when you can input a different value by yourself for the target account, and so have different amount.

What do you think guys ?

summary: - wish: "Forex / currency conversion" transaction types
+ wish: internal transfer with different currency
Changed in homebank:
status: New → Incomplete
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

That could work I guess, especially if there's a way, when exporting to CSV with homebank, for Homebank to automatically calculate the exchange rates based on the two (source and destination) amounts of the "advanced" transaction (since the "accounts" have the notion of currency anyway)

Changed in homebank:
status: Incomplete → New
Revision history for this message
rugk (48509946-3) wrote :

Don't exactly understand it, but instead of manually entering a different value for the currency, it can, of course, (by default) take the currency conversion one you entered in the currencies window of HomeBank.

Maxime DOYEN (mdoyen)
tags: added: data-structure transaction
Revision history for this message
Maxime DOYEN (mdoyen) wrote :

@rugk: this is obvious that the amount would be prefilled in that case

Revision history for this message
Matt (blunt21) wrote :

This feature would be neat!

Revision history for this message
Peter (armin.owen) wrote :

I Am voting for this feature. The different currencies in internal transactions with entering values manually should be enough for the start. HomeBank is best.

Revision history for this message
Ugur Ates (uuuur) wrote :

Having this feature even with manual entry would be very good.

Revision history for this message
Andrej B. (andrej-b) wrote :

I do not know how to upvote for this wish, but I would like to upvote for it.

Revision history for this message
RaZario (razario) wrote :

I am for this feature!
So that we can edit the internal translation (as it is done in MMEX)

Revision history for this message
Kveldúlfur (kvelds91) wrote :

+1 from me for an idea:)

I make a lot of transfers between GBP, EUR and PLN and would be nice if would be in "Add transaction/transfer" option to type input amount and output amount in second currency, or typing exchange rate of the transaction. For now I just have to make manually two transactions - on first account as 'Expense' and on another as 'Income' and put details (description etc) of transaction two times, adding also categories to them (sample attatched). Ok, it's fine when you have just efx from time to time. But not when efx transactions are often xD

Anyway very goob job with the app! And keep it up!

Revision history for this message
LB (lib11) wrote :

I think the easiest way to implement this is to allow different amounts for the two sides of the transfer transaction when the transaction is between accounts in different currencies. This would imply the transaction FX rate, but would avoid the issues with precision and rounding associated with the FX calc. I.e. if user transfers 100 EUR into a USD account, the transaction screen would ask to enter a USD amount as well. If the FX rate was 1.2345, the user would then enter 123.45 USD.

Looking at the code, the Transaction type currently has kxfer and kxferacc members. The code then enforces consistency that currency of kacc and kxferacc is the same. If we can add kxferamount member, we'll be able to accomodate cross-currency transfers. If currency of kacc != currency of kxferacc, the transaction amount in kxferacc will come from kxferamount rather than amount.

Revision history for this message
LB (lib11) wrote :

I put together a basic proof of concept patch against 5.4.3 source. This allows entering and saving cross-currency transactions. For a cross-currency transaction, the user needs to enter amounts for both sides. I.e. +500 EUR / -600 USD to convert USD into EUR.

This patch is in no way complete, but hopefully can serve as a basis for discussion. (I'm very keen to get this feature in Homebank, since my current financial software keeps me from migrating to Wayland).

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

@LB: yes indeed, the way mmex implement this is just
- a checkbox that break the link that share the same amount between the from and to txn, and enables store 2 amount.
I will review the patch when working on this.

Revision history for this message
Miki Toko (mikitoko) wrote :

I am totally new to Home Bank, looking to migrate from an obsolete money manager. What I have tried up to now is to import old files but I can't set the correct currency to each account because of the internal transfers between accounts with different currencies. The proper management of multi currency is putting me off for now.

Maxime DOYEN (mdoyen)
Changed in homebank:
status: New → Confirmed
Maxime DOYEN (mdoyen)
Changed in homebank:
milestone: none → 5.6
Maxime DOYEN (mdoyen)
Changed in homebank:
assignee: nobody → Maxime DOYEN (mdoyen)
Maxime DOYEN (mdoyen)
Changed in homebank:
status: Confirmed → In Progress
Maxime DOYEN (mdoyen)
Changed in homebank:
status: In Progress → Fix Committed
Maxime DOYEN (mdoyen)
Changed in homebank:
status: Fix Committed → In Progress
Maxime DOYEN (mdoyen)
Changed in homebank:
status: In Progress → Fix Committed
Maxime DOYEN (mdoyen)
Changed in homebank:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.