Thanks Justus! On Sat, Sep 11, 2021, 13:43 Martin Blais <[email protected]> wrote:
> Thank you Justus, > Added to contrib doc. > > On Fri, Sep 10, 2021 at 9:47 AM Justus Pendleton <[email protected]> > wrote: > >> Here's a plugin I quickly threw together to do this. There are a few >> things in the code I'm not 100% sure about, so consider this a beta and let >> me know if it seems like it is doing the right thing or not for you. >> >> https://github.com/hoostus/beancount-asset-transfer-plugin >> >> It uses a custom directive so you'd write: >> >> 2021-09-10 custom "transfer" 100 APPL Assets:Schwab Assets:Fidelity >> >> Caveats: I don't use crypto so maybe I don't understand what you're >> trying to do; also it transfers assets in LIFO order. >> >> >> On Monday, September 6, 2021 at 6:45:12 AM UTC+7 >> [email protected] wrote: >> >>> 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/a09a1415-0585-42f7-b1d8-0d2d72efa928n%40googlegroups.com >> <https://groups.google.com/d/msgid/beancount/a09a1415-0585-42f7-b1d8-0d2d72efa928n%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/CAK21%2BhMwMAS5%3DiN0tSGbOS%2BkWEVyDFaZgs-_q%3DSt7wcBiSyJuA%40mail.gmail.com > <https://groups.google.com/d/msgid/beancount/CAK21%2BhMwMAS5%3DiN0tSGbOS%2BkWEVyDFaZgs-_q%3DSt7wcBiSyJuA%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/CACGEkZuL_1W0ay6Mugfrp3XPY3UPAxOi8Dnhx_YZubg_S4AJjQ%40mail.gmail.com.
