This is one of these ‘just in case you’re Googling for it’ posts. Most readers can probably ignore!
I’ve been experimenting again with GnuCash, the Open Source accounting package that runs on the Mac, Windows, Linux and others. There’s rather a paucity of good accounting packages for Mac users, especially now that the good old MYOB (“Mind Your Own Business”) is no more, but last time I looked at GnuCash it was something that you’d have to be a pretty die-hard Open Source enthusiast to want to use.
Well, it’s come on a long way, and I’ve been merrily importing statements downloaded from my banks and setting it up for both personal and business use. If you’re familiar with double-entry bookkeeping it all works very nicely, and it stores all the data in Gzipped XML files, so I can be pretty confident that I could get it out and into another format if I ever needed too.
Only one hiccup so far – the standard build for the Mac (which no longer requires X11) assumes that you only want one set of accounts (ie. one file) open at one time, and it helpfully closes your current project when you open a new one. But it can be very handy to have your personal account and business account, or more than one business, open at the same time, especially if you’re shifting money between them.
Here’s how to do it:
Instead of running the GnuCash app and using File > Open, start it from the command line, e.g.:
open -a Gnucash -n --args MyBusiness.gnucash open -a Gnucash -n --args Personal.gnucash
The ‘-n’ means ‘start a new instance even if the app is already running’. Note that some of the preferences etc are still per-user rather than per-file, but assuming you’re not doing anything too complex, this works fine.
You could use Automator to create a handy one-click launcher in your dock for each account to do the same thing. Or, create an Automator application using the ‘Run Shell Script’ action, and specify the script as:
open -a Gnucash -n --args $*
Save the application, and any .ledger files dropped onto it will be opened in their own session.