On 11 June 2014 18:49, Stefano Zacchiroli wrote: > On Wed, Jun 11, 2014 at 10:55:59AM +1000, Peter Ross wrote: >> > I've just integrated icsv2ledger in my accounting work-flow. I've >> > managed to make it do what I want, but I've also found it a bit >> > rough around the edges --- I can elaborate more if people on this >> > list are interested. >> > >> I'm interested as a very part-time developer of icsv2ledger. > > Cool, here we go then, starting from your comments: > >> It works well for what I want to do which is to enter 10-20 >> transactions a week and get the right payee and account most of the >> time, and as a developer, writing a regex is not difficult for me to >> do. >> >> What I really like is the auto-completion, and what I find painful is >> when the auto-completion doesn't work as expected. > > Both agreed. icsv2ledger's auto completion is very handy. Same for the > history of past decisions, that are re-used to guide future decisions > and are conveniently stored in an editable format. These are great > pluses, which make me generally happy about icsv2ledger. > > On the pet peeve front I have: > > - icsv2ledger is able to learn account names from ledger files, but is > not able to learn tags or payees from ledger files. Tags/payees are > only learned from past icsv2ledger decisions. This might be due to the > fact that icsv2ledger only uses ledger as "ledger accounts FILE"; I > wonder if it shouldn't instead use something more heavy weight, such > as "ledger xml" > It does learn payees and accounts from the file, it doesn't learn tags.
As I don't use tags it's unlikely that I will take the time to add it. > - icsv2ledger UI is kinda "scary". On the one hand, when processing a > lot of transactions I often fear that if something goes wrong (Ctrl-C, > or any other Python exception) I will lose all the work so far. This > hasn't yet happened to me but, as a mere user, I didn't get a feeling > an overall feeling of robustness --- it might be excessive paranoia on > my side, though :) > It writes a line to the mappings file each time it finishes processing a transaction. I always hit Ctrl-C just after I make a mistake processing a transaction, because the mapping file will contain all the right data up to that point I can rerun the tool and it will have remembered all the correct mappings up to the point where I made a mistake. > - OTOH, I'd also like to have an extra (maybe optional) review step > after processing each transaction, that allows me to inspect the > transaction generated by icsv2ledger and possibly go back to change my > decisions about it. In a sense, icsv2ledger seems very prone to > mistyping: if by mistake I type/complete the wrong payee/tag and hit > Enter, the next moment to review my wrong inputs will be the very end > of the process --- which might 15 minutes later, when I'll have forgot > the context. Also, by then icsv2ledger would have learned my wrong > decision, and I'll have to edit the history file to amend my mistake. > It really feels like an extra review/confirm step is missing. > This is a good idea. > - the interface for adding/removing tags is quite clunky when using tags > with values. To remove a tag like "foo: very long value" you have to > type "-foo: very long value", whereas I'd expect "-foo" to work. > Sounds very reasonable to me. > - maybe outside the scope of icsv2ledger, but I've the need of doing > some more advanced processing on my CSV files. For instance, in all > transactions related to credit/debit cards, my bank includes in the > description something like "CARD 12345678", and I want to convert that > to valued tags like "Card: 12345678". That's trivial to do with a > regexp, but icsv2ledger doesn't support it. In a sense, what I lack is > the equivalent of icsv2ledger [FOO_addons] accounts, but with a more > fine-grained granularity than columns. > Yes I think what is wanted is something like the mapping file being able to use back references from the regex. /INTERNET TRANSFER - *\([^-]*\) - PETER ROSS/,/\1/,Assets:Bank So the line INTERNET TRANSFER - FOOBAR INC - PETER ROSS would map to payee FOOBAR INC > What I'm now doing is pre-processing my CSV files to add the relevant > columns using regexp-based matches, but it really feels like > icsv2ledger would be the right place for such a feature. > > This is all I have for now. > > I can't promise patches, but if you think it'd be useful/welcome I can > submit these as bug reports on GitHub. > Please do. It's unlikely that I will get to any of these anytime soon, but they are all very reasonable suggestions. Thanks for taking the time to explain them. Pete -- --- You received this message because you are subscribed to the Google Groups "Ledger" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
