2 ms·
One of the main troubles I have with beancount/fava is their multiple currency behaviour. If I made some income in some foreign currency in say 1995, the amount
by he9911z 6y ago
One of the main troubles I have with beancount/fava is their multiple currency behaviour. If I made some income in some foreign currency in say 1995, the amount would be shown to me as converted to my base currency at today's exchange rate, not at the rate that was in 1995 when the transaction actually happened. That makes sense for assets and liabilities, but not for incomes and expenses. The software fundamentally lacks an ability to make this distinction between these two different sets of accounts in this dimension.
- dragonsh 6y agoYou can have multiple reports from beancount at current market rate, at original cost [1], at conversion cost of the commodity of your choice. [1] https://beancount.github.io/docs/running_beancount_and_generating_reports.html#rendering-at-cost https://beancount.github.io/docs/running_beancount_and_gener...
- he991z 6y agoI mean when using the price system which the author recommends for multi-currency transactions. What you say is possible when using the cost system, but leads to a lot of other complications as it means maintaining an inventory/lots for these transactions, and the documentation also suggests not taking that route.
- freddie_mercury 6y agoI'm not entirely sure what you mean by "the amount would be shown" but if you want to know an amount when the transaction actually happened all you need to do is call the API beancount.core.inventory.Inventory.reduce(position, currency, price_map, date) and pass in the date you want. Though I agree with your complaint that beancount surfaces it in inconsistent ways. If I change today's exchange rate for USD/GBP then many parts of beancount will then (incorrectly) change my income for the year 2015. But that is really a bug that could be fixed (using the API I just highlighted) rather than some fundamental problem. And surely on hackernews one should hack on software and improve it.