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/CAK21%2BhN%3D5ywp6gtV7gSnigM0062GUUo77KH1_uUmAPUUD6nVng%40mail.gmail.com.

Reply via email to