What it should be: precision has to be rewritten (the v3 proposal includes
ideas for doing this)
Practical solution: just add a little Equity:RoundingError posting to
absorb the fraction of a cent and move on.

One day, when I retire, I'll spend months writing v3 and offer you all a
new and improved Beancount or maybe someone with more free time and
enthusiasm will beat me to it, go Crustaceans, go!).




On Sun, Feb 11, 2024 at 11:15 AM Ceri Storey <ceri.sto...@gmail.com> wrote:

> Hi folks,
>
> I'm in the UK, so we get to deal with the inconvenience that is average
> cost booking when it comes to figuring out capital gains taxes. I'm
> currently using the average cost plugin, which works fine, but that
> approach it means that the inventory never gets reduced, so you end up with
> holdings never really going away.
>
> So I was planning on using a cost-basis adjustment approach (
> https://beancount.github.io/docs/trading_with_beancount.html#cost-basis-adjustment-and-return-of-capital)
> to "re-base" the assets to have a single average cost basis. In this case,
> the asset is purchasable on a fractional basis.
>
> So I've tried something like this:
>
> 2020-12-07 open Assets:Fnord:Foo
>      FOO
> 2020-12-07 open Assets:Fnord:Cash
>       GBP
>
> 2020-12-07 * "Buy Asset"
>     Assets:Fnord:Cash
> -6.86 GBP
>     Assets:Fnord:Foo
> 5.5555 FOO  {1.2345 GBP}
>
> 2021-04-07 * "Buy more asset"
>     Assets:Fnord:Cash
>  -30.80 GBP
>     Assets:Fnord:Foo
>  13.1313 FOO  {2.3456 GBP}
>
> 2021-04-11 * "Average cost re-base"
>     ; Re-base to current average cost basis
>     Assets:Fnord:Foo
>  -5.5555 FOO  {1.2345 GBP}
>     Assets:Fnord:Foo
> -13.1313 FOO  {2.3456 GBP}
>     ; Actual average is 2.015275062075903846565490079, according to
> python's decimal module.
>     Assets:Fnord:Foo
> 5.5555 FOO  {2.0152 GBP}
>     Assets:Fnord:Foo
>  13.1313 FOO  {2.0152 GBP}
>
> No matter how much precision I specify for the average, it always seems to
> be off by some small amount:
>
> /Users/cez/Documents/beancount/ledger/cost-basis-simple.beancount:12:
>  Transaction does not balance: (-0.00140267 GBP)
>
> If I use an average of 2.015, -0.0051. Even with the 20 decimal places of
> precision for the average price, the transaction is off by
> -0.000000000000000000102592 GBP.
>
> So I'm clearly missing something about the precision, and/or how to handle
> these cost basis adjustments. Can anyone offer any suggesiton as to what I
> might be missing? Is this one of those cases where I should post an
> adjustment to a hack account of some kind?
>
> Thanks,
>
> --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/db6e8cec-1ed5-49e9-b587-4719d1a90f54n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/db6e8cec-1ed5-49e9-b587-4719d1a90f54n%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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhPi53e%3DLFGHwbGV5_cSttouRwFQhY2vd8U1X-5-he5_wQ%40mail.gmail.com.

Reply via email to