On Mon, Oct 1, 2012 at 2:40 PM, thierry <[email protected]> wrote: > > I was too using a personal perl script, doing the mapping from a table. But > I tried the 'i' of icsv2ledger, and felt in love with this 'i'. On contrary, > rubycsv and CSV2ledger does not (yet?) implement this 'interactiveness'. > Also CSV2ledger is not unicode compliant, and I am not living in an ASCII > world :-).
My take on this is that implementing an interactive interface wasn't worth the added complexity of handling and storing user input (rubycsv is only 70 lines per sloccount, less than 100 if you include a complex template). That's not to say that interactive it's not a nice feature - it was just a lot more work and didn't match my workflow which has fairly deep categories that I'd prefer not to mistype. My solution is this - rubycsv has the concept of a default value to assign if no better match is found in the table. This is handy in many ways (unspecified currency being another), but one way I use it is to assign "Unknown" as the category. The process works as follows: 1. Run the CSV -> ledger conversion. 2. Run "ledger -f infile.lgr print Unknown" to show all unidentified transactions. 3. Add appropriate entries to the match table via text editor. 4. Repeat steps 1-3 until no transactions are in the "Unknown" category. - Zack
