Thank you everyone for responses.

Just to clarify a little, I am not interested here in the "transfer" 
usecase which can be solved with limbo account very cleanly as mentioned 
here and there is indeed a lot of discussions on this topic (I think it 
would be useful to collect all the information / idea on this topic in one 
place, but let's leave it for a separate thread for now). Here I was mostly 
interested in very simple transactions from debit / credit cards e.g. a 
grocery or train tickets (let's also ignore trading accounts). Or am I 
splitting hair here and it does not matter in the long term which date is 
actually being used?

On Friday, April 2, 2021 at 11:08:11 AM UTC+2 bl...@furius.ca wrote:

> This is a known issue, see the settlement dates proposal, is being handled 
> in the c++ rewrite, see v3 design doc. Also lots of history on the mailing 
> list.
>
> Currently you either fudge the dates or skip the occasional balance 
> assertion that doesn't want to cooperate. It's unsatisfying but I've been 
> living with it for ten years now
>
> Eventually the solution will allow you to provide both dates and the 
> transaction will be split to two with a transfer account where the funds 
> will transit through an account where the amounts in limbo sit.
>
> This could be handled by a simple plugin in you feel like it. Use metadata 
> for the second date and split the transactions in the plugin. Should be 
> core functionality though
>
>
> On Fri, Apr 2, 2021, 02:35 Tomasz Zurkowski <tomasz.z...@gmail.com> wrote:
>
>> Hello everyone,
>>
>> I am still pretty new to beancount (I started my adventure around a month 
>> ago) and I am still tuning my importers and my ledger.
>>
>> When writing importers for my banks, I realized that they often provide 
>> multiple dates for one transaction, e.g. "booking date" and "purchase 
>> date"), and I was wondering which I should choose as the date for the 
>> transaction entry. Also, I was wondering if one of them is better, or 
>> whether it is just a preference (e.g. if I would like to open source / 
>> share the importers, should it be an option to choose one or the other, or 
>> can I just choose one of them).
>>
>> Let me describe situation with UBS bank statement - they provide 3 dates: 
>> "booking date", "trade date", "value date". Here is my current 
>> understanding of them:
>>
>>    - booking date - a day when bank puts a transaction into their books. 
>>    Most of the time (always?) it is greater or equal to the other two dates. 
>> I 
>>    also believe it has the nice property that once there is a transaction 
>> with 
>>    date X, then later imports (new transactions) will never have a date X or 
>>    before (which makes "balance" entries stable and never brake).
>>    - trade/value date - I believe this is the date when the trade 
>>    actually occurred. For example if I bought something on Saturday, the day 
>>    will be Saturday but it can be booked on following Monday. The only 
>>    difference between trade and value date I found was when there is a 
>>    "e-bill" (a way in Switzerland to automatically pay bills). In this case 
>>    "trade date" will have a date when the transaction first shows in the 
>> bank 
>>    account "e.g. 2021-01-29", but then the value date is when the 
>> transaction 
>>    was scheduled for (e.g. first of the month, 2021-02-01). Booking date 
>> seems 
>>    to also match 2021-02-01 for those transactions (but I only have few of 
>>    those, so I am not sure if they will always match). There is one more 
>>    difference, when importing transaction, one can choose them to sort them 
>>    either by "booking date" or "trade date" - there is no way to sort them 
>> by 
>>    "value date" (import contains the "balance" column, that I could use to 
>>    generate automatic "balance" entry).
>>
>> Currently, I am using "value date" because it represents the actual date 
>> of the trade (which helps me to remember what the transaction was for, if 
>> the default bank transaction description is not clear), and it also 
>> properly dates the periodic transactions that happen on e.g. first of the 
>> month (makes sure there is always 1 transaction for rent in a given month).
>>
>> I am also consider using "booking date" (and saving "value date" 
>> somewhere in the default description), so that I can automatically insert 
>> "balance" entries, and those entries should almost never break with the new 
>> import.
>>
>> UBS credit card importer has very similar issue, the data contains two 
>> dates: "booking date" and "purchase date" that have similar properties to 
>> the above one. Small note I want to add here is a refund scenario. If I 
>> purchased something on 2021-03-15, and then I return it, it is possible 
>> that return will be processed much later (even 2 months later), so it could 
>> be booked on "2021-05-15", but it would still have purchase date 
>> "2021-03-15" (which means if I have any "balance" entries in my ledger, 
>> they all break and I have to manually adjust them).
>>
>> Does anyone has similar issues? Any recommendations? Is it a personal 
>> decision (some people prefer one or the other), or is there a better choice 
>> (or something that should be at least considered a default / best 
>> practice)? I would love to hear from others!
>>
>> Thanks,
>> Tomasz
>>
>> -- 
>> 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+...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/beancount/d2d384f1-8658-4268-9b66-ba5e63d13433n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/beancount/d2d384f1-8658-4268-9b66-ba5e63d13433n%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/116c7d39-de4c-4c85-a1e9-a55b1e3e5617n%40googlegroups.com.

Reply via email to