Conversion to a list of currencies
The balance sheet page has become pretty useless to me. It now shows not just your operating currencies, but every currency and I have a lot of them since I track hotel points and airline miles.
I'm opening this issue to brainstorm possible ways to improve the situation.
-
Instead of "At cost", I could choose "Converted to EUR" (probably my main currency if I had to limit my three operating currencies to only one). This works fairly well. But the problem is that commodity conversion in beancount is not transitive, so even though I might have mapping for XXX->GBP and GBP->EUR, beancount won't map XXX to EUR via GBP. I'm not sure how to solve this issue, apart from putting in XXX->EUR mappings (which I'd like to avoid).
-
I could see a "Convert to operating currencies" option, which would map everything to the closest operating currencies. So XXX->GBP would be mapped to GBP, YYY->EUR to EUR, etc. I think I would find this option useful in addition to the "Converted to EUR" option: sometimes I just want to see my net worth in one currency, but sometimes I'd like to see roughly how much I have in each of my three operating currencies. This would probably need support in beancount.
-
Which leads to a potential observation: option 2 isn't really "I'd like to see roughly how much I have in each of my three operating currencies" because it will convert other currencies to my operating currencies. So maybe there should also be a "Only show operating currencies" option which just ignores the rest. (The trial balance view sort of has this: it has a drop down menu with my 3 operating currencies; if I add 'Converted to' then some of the currencies disappear because they've been fully converted.)
I'm not sure about the third option, though. Maybe it makes more sense to classify different currencies into groups (EUR, GBP, USD are cash; NECTAR and MILESANDMORE and points) and then have options to only show a certain group.
Any thoughts of ideas?
Here's an idea... Convert currencies to the parent account.
E.g. if I open a brokerage account in USD with
open Investment:MyDollarBroker USD
and trade various securities
open Investment:MyDollarBroker:BRKB BRKB
but I track my investments and networth in GBP with
open Investment GBP
Then the balance sheet should first convert all securities to USD, then aggregated at the top to GBP
Basically it is a way of constructing portfolios by reporting currency and have control over aggregation such that you don't need to declare the transitive currencies
The previous chart was horribly inconsistent, I'm sorry you find the current one useless.
If you want to ignore some commodities in your ledger, just set their price to 0 and use one of the "Converted to"s. Also if you want to add these transitive conversions for your operating currencies, that should be a pretty trivial plugin.
I wouldn't mind a "Convert to A,B,C,D" for a given list of currencies, so if someone wants to implement that, a PR would be welcome :)
@yagebu I probably shouldn't have used the word "useless", sorry. In my opinion fava continues to be the "killer app" in the beancount world and I'm grateful for the time you have put in and continue to put in.
I'm aware that my use case is probably unusual since I have a lot of commodities.
I'm way behind with my TODO list but I'm trying to get this resolved; maybe I can contribute a patch in the future.
I think that "set price to 0" is a simple and straightforward solution that allows you to hide those currencies for now.
As an enhancement to Fava, the "Convert to A,B,C" generalisation of your 2) would be nice to have. Actually it shouldn't be too much work, we can just chain the different conversions, this wouldn't need any changes in Beancount.
Hi. Beancount now has implemented a transitive conversion API (https://github.com/beancount/beancount/issues/255). Although I'm not sure this API is suitable for Fava.