Anyone looking this up later, this issue is fixed in Beancount 3.1.0 See this later thread: https://groups.google.com/g/beancount/c/j-sBm25qYFg
On Tuesday, July 1, 2025 at 6:46:08 PM UTC Dan Andersson wrote: > Ok, I guess it's not a bug in the conversions themselves like you say. > (You wrote the code so you have (given how all else balances 100%) good > reasons to say this... I trust you) > > However then it must be a *display bug/issue* in bean-query. Because in > the meantime I have already come across numbers from those queries ending > with stuff like "...E USD" and "...E- USD". So it can get truncated that > way - important info cut out. > > Until this get fixed, can you please suggest some hack I can use to > increase the display precision in bean-query? Is there some Python file on > my Linux system I can modify? (It seems to be a standard beancount > installation with bin, lib directories and the python files inside lib) > > > On Monday, May 26, 2025 at 6:32:48 PM UTC [email protected] wrote: > >> Hmm, bean-query is probably rounding for display, so that doesn't prove >> much. >> >> Here's how you can truly validate that there's a bug: >> If you simply sum up all the positions in a single Inventory object in a >> script it should be empty. >> If it's not empty, there's a bug. >> >> >> >> >> On Mon, May 26, 2025 at 3:43 AM Dan Andersson <[email protected]> >> wrote: >> >>> Unless you can demonstrate that there is a bug I have to assume it's a >>> case of misunderstanding how the conversion entry gets generated. >>> >>> >>> I was able to replicate the bug elsewhere. I can't share whole file >>> because info might be sensitive, but I can now show you how I reproduce the >>> problem: >>> >>> Running: >>> >>> bean-query debug.beancount \ >>> "SELECT root(account, 2), cost(sum(position)) \ >>> FROM OPEN ON 2022-08-01 CLOSE ON 2024-01-01 CLEAR \ >>> WHERE not account ~ 'Income|Expenses' \ >>> GROUP BY 1 ORDER BY 1;" | grep '[^ ]$' >>> >>> gives me this: >>> >>> Assets:SomeAsset1 9.28888 USD >>> Assets:SomeAsset2 -29.78513 USD >>> Assets:SomeAsset3 -5500.81881 USD >>> Assets:SomeAsset4 5232.10755 USD >>> Equity:Conversions -9.35870 USD >>> Equity:Earnings 290.93981 USD >>> Liabilities:Liability1 -1.73230 USD >>> >>> As you can see (after summing up the numbers), "Equity:Conversions" is >>> bogus (because without it, things already add up to 0). >>> >>> This is the last line in debug.beancount: >>> >>> 2023-01-03 * "" >>> Liabilities:Liabilities:FooLiability 1.1300 EUR { 0.93638 USD } >>> Income:Income3 -0.0005763 USD >>> Assets:SomeAsset3 -1.129999999999999 EUR { 0.93587 USD } >>> >>> If I modify it to this: >>> >>> 2023-01-03 * "" >>> Liabilities:Liabilities:FooLiability 1.1300 EUR { 0.93638 USD } >>> Income:Income3 -0.0005763 USD >>> Assets:SomeAsset3 -1.13 EUR { 0.93587 USD } >>> >>> I now get the expected balances (i.e. bogus conversions is gone): >>> >>> Assets:SomeAsset1 9.28888 USD >>> Assets:SomeAsset2 -29.78513 USD >>> Assets:SomeAsset3 -5500.81881 USD >>> Assets:SomeAsset4 5232.10755 USD >>> Equity:Earnings 290.93981 USD >>> Liabilities:Liability1 -1.73230 USD >>> >>> So just some precision stuff causes bogus -9.35870 USD conversions >>> popping up out of nowhere. >>> >>> Although I can't share the whole file, you can let me know if you want >>> me to e.g. insert print/echo statements in some python files to extract >>> more info (to pinpoint the issue). >>> >>> >>> -- >>> >> You received this message because you are subscribed to the Google Groups >>> "Beancount" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >> To view this discussion visit >>> https://groups.google.com/d/msgid/beancount/5f7308f8-7133-40a1-a8d8-64a7c66c9dd7n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/beancount/5f7308f8-7133-40a1-a8d8-64a7c66c9dd7n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/beancount/03230a1e-64fd-46a5-84a2-5688affea7edn%40googlegroups.com.
