May I chip in here and say that I have a *lot* of these. The case of
transferring crypto around has been well discussed but it's a CGT asset in
Aus and moving crypto between exchanges and hot/cold wallets is not
uncommon for me: these number in the dozens, maybe even three figures.
I have also at times had multiple stockbrokers and while I can go with
abstract account names ("Assets:Shares:<ticker>"), I've preferred to have
per-institution accounts so where I have two active accounts at once the
statements make sense. Every time I transfer holdings between brokers,
those assets are transferred with their cost base attached.
Not sure what the syntax should be. Just eliding the "recipient" leg in a
transfer populates the posting with the currency of the cost base: it's
beautiful for capital gains but doesn't help us here. So this would break:
2021-09-02 * "Buy
BTC"
Assets:Exchange:AUD -1000.00
AUD
Assets:Exchange:BTC 1.00 BTC {1000.00 AUD,
2021-09-02} @ 1000.00 AUD
2021-09-03 * "Transfer
BTC"
Assets:Exchange:BTC -1.00 BTC
{}
Assets:Transfer:BTC
(Assets:Transfer:BTC is populated with 1000 AUD, being the cost base;
again, wonderful for capital gains, but not what we need here)
Perhaps:
2021-09-03 * "Transfer
BTC"
Assets:Exchange:BTC -1.00 BTC
{}
Assets:Transfer:BTC 1.00 BTC {}
This would add {} to the syntax of *augmenting* postings. Correct me if I'm
wrong, but that "empty braces" syntax doesn't exist at present for
augmentations. Perhaps it could be introduced to mean "dump residuals here,
but keep the cost base rather than convert to cost currency". If this
doesn't resolve to a single currency it's an error.
But that's really a question for Martin; please just consider this a keen
+1 for this feature. I prefer strict booking so I manually fix these up but
it would be nice to be able to write software that exports valid entries
that beancount can interpolate with FIFO/LIFO in the first instance e.g.
for debugging my own code before I make the txs "concrete" with explicit
bookings.
On Thursday, 2 September 2021 at 11:45:29 pm UTC+10 [email protected] wrote:
> +1 re. Ben's answer.
> How many of these do you really do?
>
>
> On Thu, Sep 2, 2021 at 2:30 AM Ben Blount <[email protected]> wrote:
>
>> Yeah this is high on my wishlist too. This came up a bunch for crypto
>> users as well - you should find some examples if you search for crypto on
>> the mailing list.
>>
>> The workaround is you have to transfer the lots manually, e.g make two
>> postings per lot - one to reduce the lot on the old account, then recreate
>> it with the original date and cost in the new account.
>> direction
>> bean-doctor can help you easily get all the lots, you can then copy paste
>> to make this a little less fussy.
>>
>> I'm on mobile or I'd give you examples.
>>
>> On Wed, Sep 1, 2021, 22:37 [email protected] <[email protected]> wrote:
>>
>>> Hi,
>>>
>>> I tried searching a bit in the documentation and this forum but not sure
>>> how to handle this case and carry forward cost-basis information. Imagine
>>> you buy some stock at institution 1 and transfer it to institution 2 and
>>> then sell. How should one record all this? I tried the following but I'm
>>> getting an error related to no positions found.
>>>
>>> Thanks,
>>> Jonathan
>>>
>>> 2015-02-01 open Assets:Invest:ATrade
>>>
>>> 2015-02-01 open Assets:Invest:ATrade:Cash
>>>
>>>
>>> 2015-04-01 * "Buy some shares of Hooli in April 2015"
>>>
>>> Assets:Invest:ATrade 25 HOOL {10.00
>>> USD, "first-lot"}
>>>
>>> Assets:Invest:ATrade:Cash -250 USD
>>>
>>>
>>>
>>> 2017-03-01 open Assets:Invest:ZTrade
>>>
>>> 2017-03-01 open Assets:Invest:ZTrade:Cash
>>>
>>>
>>> 2017-04-01 * "Transfer from ATrade to ZTrade"
>>>
>>> Assets:Invest:ATrade -25 HOOL
>>>
>>> Assets:Invest:ZTrade 25 HOOL
>>>
>>>
>>>
>>> 2017-05-01 close Assets:Invest:ATrade
>>>
>>>
>>> 2018-05-03 * "Sell some shares of Hooli in May 2018"
>>>
>>> Assets:Invest:ZTrade -25 HOOL {} @
>>> 22.00 USD
>>>
>>> Assets:Invest:ZTrade:Cash
>>>
>>> No position matches "Posting(account='Assets:Invest:ZTrade', units=-25
>>> HOOL, cost=CostSpec(number_per=<class 'beancount.core.number.MISSING'>,
>>> number_total=None, currency='USD', date=None, label=None, merge=False),
>>> price=22.00 USD, flag=None, meta={'filename':
>>> '/Users/jonathan/Documents/Finances/beandata/test.beancount', 'lineno':
>>> 22})" against balance (25 HOOL)
>>>
>>> --
>>> 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 on the web visit
>>> https://groups.google.com/d/msgid/beancount/b3efe67c-a858-4c2c-af6b-26e7444dd9e1n%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/beancount/b3efe67c-a858-4c2c-af6b-26e7444dd9e1n%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 on the web visit
>> https://groups.google.com/d/msgid/beancount/CACGEkZtewt_iundhaTt8HZ654SJmNWJYyUHhgEPXx0gk2SfRkQ%40mail.gmail.com
>>
>> <https://groups.google.com/d/msgid/beancount/CACGEkZtewt_iundhaTt8HZ654SJmNWJYyUHhgEPXx0gk2SfRkQ%40mail.gmail.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 on the web visit
https://groups.google.com/d/msgid/beancount/9d18d64d-01aa-412e-975d-b0dbf31f6d37n%40googlegroups.com.