Posting Resolution are being rounded

44 views
Skip to first unread message

Vishesh Handa

unread,
Oct 26, 2023, 4:27:13 AM10/26/23
to bean...@googlegroups.com
Hello

I'm not sure if this is a bug or if I'm missing something.

```
2013-01-01 open Expenses:A
2013-01-01 open Expenses:B
2013-01-01 open Assets:P

2022-03-10 * "Test"
  Expenses:B  42.0 EUR
  Expenses:A
  Assets:P  -159.98 EUR
```

In this case 'Expenses:A' should be 42 - 159.98 = 117.98, however when checking via bean-query I get 118.0

$ bean-query test.beancount 'select date, position where account = "Expenses:A"'
   date     position
---------- ----------
2022-03-10 118.0  EUR

I don't understand why beancount is rounding this up.

Additionally, bean-check seems to allow tolerances of +/- 0.05 -

```
2013-01-01 open Expenses:A
2013-01-01 open Expenses:B
2013-01-01 open Assets:P

2022-03-10 * "Test"
  Expenses:B  42.0 EUR
  Expenses:A
  Assets:P  -159.98 EUR

2022-03-10 * "Test .92"
  Expenses:B  42.0 EUR
  Expenses:A 117.92 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .93"
  Expenses:B  42.0 EUR
  Expenses:A 117.93 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .94"
  Expenses:B  42.0 EUR
  Expenses:A 117.94 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .95"
  Expenses:B  42.0 EUR
  Expenses:A 117.95 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .96"
  Expenses:B  42.0 EUR
  Expenses:A 117.96 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .97"
  Expenses:B  42.0 EUR
  Expenses:A 117.97 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .98"
  Expenses:B  42.0 EUR
  Expenses:A 117.98 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .99"
  Expenses:B  42.0 EUR
  Expenses:A 117.99 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .00"
  Expenses:B  42.0 EUR
  Expenses:A 118.00 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .01"
  Expenses:B  42.0 EUR
  Expenses:A 118.01 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .02"
  Expenses:B  42.0 EUR
  Expenses:A 118.02 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .03"
  Expenses:B  42.0 EUR
  Expenses:A 118.03 EUR
  Assets:P  -159.98 EUR

2022-03-10 * "Test .04"
  Expenses:B  42.0 EUR
  Expenses:A 118.04 EUR
  Assets:P  -159.98 EUR
``

When running bean-check -

test.beancount:12:      Transaction does not balance: (-0.06 EUR)

   2022-03-10 * "Test .92"
     Expenses:B     42.0 EUR
     Expenses:A   117.92 EUR
     Assets:P    -159.98 EUR


test.beancount:72:      Transaction does not balance: (0.06 EUR)

   2022-03-10 * "Test .04"
     Expenses:B     42.0 EUR
     Expenses:A   118.04 EUR
     Assets:P    -159.98 EUR

Adding a `option "inferred_tolerance_default" "EUR:0.01"` does not seem to make any difference.

--
Vishesh Handa

Martin Michlmayr

unread,
Oct 26, 2023, 4:34:51 AM10/26/23
to bean...@googlegroups.com
* Vishesh Handa <m...@vhanda.in> [2023-10-26 10:27]:
> 2022-03-10 * "Test"
> Expenses:B 42.0 EUR

Why don't you change this to 42.00 EUR and everything will work the
way you expected.

I *believe* the explanation is that beancount uses the most common
precision rather than the most accurate one given in your beancount
file. (Martin or Dan or someone can give an accurate explanation.)

However, I agree that what beancount does is not optimal here.
--
Martin Michlmayr
https://www.cyrius.com/

Vishesh Handa

unread,
Oct 26, 2023, 5:12:47 AM10/26/23
to bean...@googlegroups.com

On Thu, 26 Oct 2023 at 10:34, Martin Michlmayr <t...@cyrius.com> wrote:
* Vishesh Handa <m...@vhanda.in> [2023-10-26 10:27]:
> 2022-03-10 * "Test"
>   Expenses:B  42.0 EUR

Why don't you change this to 42.00 EUR and everything will work the
way you expected.

Thank you.
This all makes sense now.
 
--
Vishesh Handa

Martin Blais

unread,
Oct 26, 2023, 7:00:48 AM10/26/23
to Beancount
Yes it's just being rendered that way.
You can override the precision with an option declaration for that currency.
Search mailing list for the specifics.


--
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 beancount+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/20231026083421.GA2807092%40jirafa.cyrius.com.
Reply all
Reply to author
Forward
0 new messages