Just for fun I quickly added syntax for an optional time after the date but
just for Transaction directives here:
https://github.com/beancount/beancount/tree/adding_time

bergamot [git|master]:~/p/beancount$ cat /tmp/before
Benchmark #1: time bean-check $L
  Time (mean ± σ):      6.352 s ±  0.353 s    [User: 6.183 s, System: 0.135
s]
  Range (min … max):    5.708 s …  7.757 s    30 runs

bergamot [git|master]:~/p/beancount$ cat /tmp/after
Benchmark #1: time bean-check $L
  Time (mean ± σ):      6.903 s ±  0.776 s    [User: 6.662 s, System: 0.140
s]
  Range (min … max):    6.213 s …  9.220 s    30 runs

Not even using it yet.
That's an 8.7% cost on the average run time.



On Sun, May 24, 2020 at 11:12 PM Martin Blais <[email protected]> wrote:

> On Wed, May 13, 2020 at 8:37 AM <[email protected]> wrote:
>
>> My 401k plan applies the 'Mega Back Door' Roth conversion for me
>> automatically.
>> This means that I have something like the following in my input file:
>>
>> 2020-02-04 * "CONTRIBUTION  - AFTER TAX POST"
>>   Income:Salary                            -5000 USD
>>   Assets:Investments:401k:PostTax:VFFSX    50 VFFSX {100 USD}
>>
>> 2020-02-04 * "Transfers - AFTER TAX POST - ROTH IN-PLAN CONVERSION"
>>   Assets:Investments:401k:PostTax:VFFSX  50 VFFSX {}
>>
>
> I think you meant -50 here.
>
>
>   Assets:Investments:401k:Roth:VFFSX      50 VFFSX {100 USD}
>>
>> The above works fine, however, I am importing these from OFX, and the
>> order is not guaranteed (since OFX is stored by account, if the Roth
>> account gets read first, the order would be swapped).  If the order is
>> swapped, I get a 'no position matches' error.  Also, it means I can't put
>> these into different files, as I won't know the order they get sorted.  For
>> now I've worked around the issue by ensuring the OFX file contains full
>> datetime timestamps with enough precision to order the transactions, and
>> then creating a single datetime ordered list before importing into
>> beancount.  It works ok, but adds complexity to my workflow.
>>
>
> Alternatively you can make your importer bump the date of the contribution
> one day back (if you don't mind the inaccuracy this causes).
>
>
>>
>> I thought that one of the tenants of beancount is to not care about the
>> order of items within the input file(s).  Are there any recommendations on
>> how I should be dealing with the above case?
>>
>
> You make a great point. I disambiguate by (date, transaction-type,
> line-no)l but the guarantee is not as strong as the one you suggest, it's
> not independent of order (which would require a non-trivial redo of the
> booking algorithm) it's more that you cannot rely on it.
>
> A while back I agreed to add the time to directives but not to honor them
> in sorting because it would create confusion around when balance / padding
> directives would occur.
> But I just realized now that I constrained the option to add time only to
> transactions, it's probably harmless, and I could add the time to the sort
> key.
>
>
>
>
>
>
>> I tried an alternative of collapsing into a single transaction, but that
>> also caused problems:
>>
>> 2020-02-04 * "CONTRIBUTION  - AFTER TAX POST"
>>   Assets:Investments:401k:PostTax:VFFSX  50 VFFSX {}
>>   Assets:Investments:401k:Roth:VFFSX      50 VFFSX {100 USD}
>>   Income:Salary                            -5000 USD
>>   Assets:Investments:401k:PostTax:VFFSX    50 VFFSX {100 USD}
>>
>> The above doesn't resolve unless I instead include the explicit cost
>> basis, in which case it works ok.  I could probably rework my workflow to
>> find these cases and collapse them into single transactions but I'm not
>> sure if that would make the workflow any simpler than what I'm doing now.
>>
>> --
>> 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/ffdfa295-e7ae-4efc-bbab-4e412a6a7aff%40googlegroups.com
>> <https://groups.google.com/d/msgid/beancount/ffdfa295-e7ae-4efc-bbab-4e412a6a7aff%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%2BhOsHVJNtf5UXyWbBBN%2Bfsk1aNmx97GrB6%3D6u%3DM_foy5AA%40mail.gmail.com.

Reply via email to