Custom booking methods would be fantastic.

Does anyone have thoughts on how such a registry would be configured?
The only mechanism that comes to mind as workable would be to register it
like plugins are currently. Given the plans to add pre-booking plugins in
v3 that work on direct-from-parser inputs, I imagine those would take a
similar approach.

So maybe we'd have 2 additional plugin directives:
pre_plugin <python_path>
booking_plugin <python_path>

which matches today's  plugin <python_path>

On Fri, Jun 4, 2021 at 9:28 PM [email protected] <
[email protected]> wrote:

> Thanks for the reply, Martin!
>
> In the absence of anyone piping up to say such a plugin already exists
> that I've overlooked, I might implement this as a plugin first to share
> with you all, and then consider contributing to a "custom booking method"
> registry feature if there's interest in it. But it will be a little while
> before I can contribute either in any case.
>
> On Saturday, 5 June 2021 at 2:20:16 pm UTC+10 [email protected] wrote:
>
>> Sure why not.
>>
>> But you could also write your own booking method that does just this
>> instead?
>> I would call it "CHECK_FIFO".
>> (Problem is it's orthogonal to all the methods, e.g. CHECK_LIFO, etc..
>> Whatever.)
>>
>> Right now I don't have a registration mechanism so you'd have to either
>> - patch the code
>> - monkey-patch the code without change the library (not sure if possible)
>> - send me a patch to add a registry so you can do this cleanly
>>
>>
>>
>>
>>
>> On Fri, Jun 4, 2021 at 11:52 PM [email protected] <
>> [email protected]> wrote:
>>
>>> Hi folks,
>>>
>>> I use a FIFO methodology for capital gains but with STRICT booking,
>>> inputting the lots I sell explicitly (relying heavily on vim-beancount's
>>> GetContext, but increasingly also automating this with importers that
>>> accept the prior entries).
>>>
>>> I have two reasons: I'm affected by the "transfer lots with cost" issue
>>> discussed at length in crypto contexts, but a crypto transfer with a fee
>>> means increasing the cost base slightly while preserving the date. All
>>> things considered, this is safer to do explicitly so I can see what's going
>>> on. I also find it personally preferable for everything to be explicitly
>>> expressed in the text. It's aesthetically appealing and reassuring to me
>>> that I haven't misunderstood beancount if it's done explicitly.
>>>
>>> Which brings me to my question: I have in mind a plugin that would check
>>> the transactions after all the parsing and processing is complete, and
>>> assert that the lots I've explicitly reduced are the ones that are
>>> consistent with a FIFO approach.
>>>
>>> I think this is something useful and that I could reasonably write (and
>>> open-source) when I have time, but I wanted to ask if anyone's aware of an
>>> existing plugin that does this?
>>>
>>> A further thought is that if I choose `option "booking_method" "FIFO"`,
>>> then it would be extremely cool if beancount would not just interpolate
>>> missing bookings according to FIFO but also consider it an error if I have
>>> explicitly booked a reduction that doesn't conform to FIFO. I'll leave it
>>> up to Martin to decide whether this validation is in the scope of
>>> `booking_method` or whether this belongs to a plugin.
>>>
>>> Thanks for reading!
>>>
>>> --
>>> 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/2a2682b6-83d9-4288-a3d5-c7c5b2659cafn%40googlegroups.com
>>> <https://groups.google.com/d/msgid/beancount/2a2682b6-83d9-4288-a3d5-c7c5b2659cafn%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/37a15b36-1b13-4166-9402-2a81f4c56249n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/37a15b36-1b13-4166-9402-2a81f4c56249n%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/CACGEkZtm9-OuYNxk8ccseyqPYrwT-nGPMdNyZiovLN%2Bp2kGRGA%40mail.gmail.com.

Reply via email to