I've been working on my own classifier for updating my ledger because I struggled too much trying to get other people's stuff to work. I'm getting about ~90% accuracy using a SVM from scikit-learn, but it can only ever be semi-automated. My plan is that every month I'll go through my various accounts and help to update my ledger. One thing that I don't think other software does is automatically remove the duplication when transferring between bank accounts/credit cards.
How does yours deal with transfers between accounts?
I really want a nice auto-completing thing to type in the account names when the classifier gets them wrong (or to add a new account if necessary). The best UI for this is ido or ivy in emacs. But it would be nice to have a tool that runs outside emacs. The best I've found is fzf but it doesn't support tab completion which is a shame.
This in itself has saved me so much time that I can deal with manually editing the occassional duplicate entry (internal account transfers). I also keep all my ledger data in git so it's very easy to see what has changed, etc.
Have you looked at the reckon gem[0] for auto-classification? That is basically what this program uses.