I keep my data files in darcs (the simplest vcs I know). It helps me see what's recently changed and also to track down the cause when some error disrupts my reconciled balances. Committing is a bit tedious, I do it infrequently and use unison to sync my working directory between home and road machines (everything except _darcs directory). I run unison before and after heading out on the road, or if I forget unison helps me reconcile the copies. This works pretty well (after some unison learning curve). Two copies provides some reliability, also the home machine, a mac, is backed up by Time Machine.

I keep most frequent options and scripts in a makefile, see part of it at 
http://gist.github.com/447724 .

I download csv data from banks and use hledger convert (ledger's convert is similar) to convert these to .journal files (make move-csv convert-csv). When I see postings that weren't automatically categorised to the right account, I add a suitable regexp to the appropriate .rules file so that next time the conversion will be better. Then I copy/paste new transactions from the converted journals into my main journal using emacs and ledger-mode.

Other miscellaneous data entry (cash transactions) and edits are also done with emacs and ledger-mode, either by copying & editing a similar transaction or entering a new one in which case ledger-mode's account name completion is very useful. I don't use hledger's web ui for data entry, but I'm about to set it up for my girlfriend.

As for security/privacy, all the above is kept in ~/finance/, a separate directory to remind me to keep it more private. make fixperms sets some restrictive file permissions, for what that's worth. I didn't find a way to keep it encrypted and still easy to work with. I don't put this data on any permanently-connected server machine.


On 6/22/10 1:58 PM, ed wrote:
Working towards establishing my first ledger system and wondering how
to go about version control, backups, security etc.

How do people enter and manage their data? emacs, gnucash, other? I
want to check out gnucash and am wondering about maintaining a
database in mysql/sqlite/postgres so I can get some form of integrity
checking and audit trail.

Just curious what other people are using.

Ed



Reply via email to