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.
