Thanks, that looks like what I need.  In fact, your whole repo seems
extremely useful.

Cheers,
Vlad

On Thu, Sep 19, 2024 at 8:29 PM Red S <[email protected]> wrote:
>
> You could patch basic csv importer, but I find that frequently used importers 
> outgrow that pretty quickly on many other small requirements like this. 
> Writing your own importer can be a good idea if you find that happening. 
> Red’s importers has this. Here’s an example.
>
>
>
> On Thursday, September 19, 2024 at 7:20:12 AM UTC-7 [email protected] wrote:
>>
>> Hi everyone,
>>
>> Short version: How does one handle reverted transactions?  They have their 
>> own line in my CSV, listing -2 CHF, but the status is REVERTED.
>>
>> Longer version, to potentially avoid an XY problem:
>>
>> I'm very new to beancount and set about writing an importer for Revolut 
>> based on beangulp's csvbase (which IIUC is the newer way to do it).  I found 
>> an older thread on the list, but it seems that the csv header has changed 
>> since then, and it uses the older beancount.ingest.  I also like building 
>> things on my own, I suppose that's no surprise around here :)
>>
>> I got the basics working, but I wonder how to handle reverted transactions.  
>> Google is not super helpful, so maybe Revolut is using the wrong word for 
>> this, but AFAICT it's tiny transactions that merchants do to figure out the 
>> card is legit:
>>
>> Type,Product,Started Date,Completed 
>> Date,Description,Amount,Fee,Currency,State,Balance
>> CARD_PAYMENT,Current,2023-09-09 20:35:29,,Google,-2.00,0.00,CHF,REVERTED,
>>
>> I have a few ideas, but I wonder if this isn't already a solved problem:
>>
>> 1. Use `grep -v` (or awk, if we're being extra careful) to filter out these 
>> lines prior to importing.  But I'd like to see if I can do this entirely 
>> with beancount
>>
>> 2. Override `finalize`, check the `State` column, and add a posting of 
>> (-value) to reverted transactions.  This works, but I don't like that it 
>> pollutes the ledger.  I also don't like that these reverted lines have an 
>> empty `Balance` cell, which means I can't use csvbase's nifty automatic 
>> balance handling.
>>
>> 3. Is it possible to add a `skip_line` customization point to the csvbase 
>> importer?  This would allow configuring my importer to skip reverted lines, 
>> while keeping the balance handling (because lines will be skipped before 
>> attempting to fetch the balance column).  If you think that's a sensible 
>> approach I'm happy to take a stab at contributing a patch.
>>
>> Thanks in advance,
>> Vlad
>
> --
> You received this message because you are subscribed to a topic in the Google 
> Groups "Beancount" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/beancount/jnAZSnzm1Ts/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/beancount/3b14aa08-0456-471e-bd6f-a3074392c543n%40googlegroups.com.

-- 
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/CAA%2Brx9SJ4yO8FPT0wpfxy5Ji-%2BazrHY6L3VAZye2-LmKQTiqQA%40mail.gmail.com.

Reply via email to