I use emacs to edit and reconcile my corporate ledger.
First, I download my bank transactions (from Bank of America) and
use a trivial python script
to convert them to ledger format.
I open two emacs windows (M-x new-frame) so I can edit the
bank statement and my ledger side by side.
This is a great setup even if you just want to use ledger-reconcile.
I’m particularly picky about keeping the effective dates filled in, so as I work
through the bank statement, I just update my ledger by hand, and mark each
entry as cleared (with a * ) as I go.
To check my work, I keep a terminal window open that constantly monitors
watch ledger --cleared bal asset:checking
This constant feedback seems to prevent data entry errors on my part,
the two-window mode lets me move fairly quickly.
Converting the bank data to ledger format turns out to be MUCH nicer
using a paper statement or even working directly from online banking, because
if you’re missing a transaction, you can just cut and paste.
I’ve got a similar (Haskell) script for CSV-data, along with some tips on fetching the data via HBCI (online API provided by most German banks):