LWN.net Logo

6 best personal finance apps for Linux (TechRadar)

TechRadar takes a look at personal finance applications for Linux. The article looks at five free applications (GnuCash, KMyMoney, Buddi, Grisbi, and JGnash) as well as the Moneydance 2008 proprietary solution. "This kind of software is all about the data; getting it in, getting it out and doing useful things with it. In terms of getting data into the package, there are three things we need. We want software that makes it easy to add items to the spending side because you'll be less likely to update your ledger if doing so proves annoyingly difficult. [...] We want filters that will import transaction data downloaded from our bank account and allow easy reconciliation between local and remote records. Finally, we want to be able to set up periodic transactions that can be added to the ledger at certain points each month to deal with things such as mortgage payments."
(Log in to post comments)

Underlying database?

Posted Jan 5, 2009 16:59 UTC (Mon) by endecotp (guest, #36428) [Link]

I'm surprised that none of the reviewed applications seems to run on top of a database like PostgreSQL, MySQL etc. Surely "users like us" would appreciate the ability to get (read-only) command-line access to the underlying data, and would have more trust in the data integrity if a well-known database were used.

My ideal finance application would consist of a database as above, a UI for quick data entry, and some way of pretty-printing things like invoices. I currently use a collection of hacked-together shell scripts using PostgreSQL and dialog for my self-employment-related record keeping. The week point is creating respectable-looking invoices and reports. Perhaps xsl:fo->pdf is what I need to learn; doing html->pdf from a script seems to be next-to-impossible.

Underlying database?

Posted Jan 5, 2009 17:56 UTC (Mon) by joib (guest, #8541) [Link]

Well there's SQL Ledger and it's fork LedgerSMB, but those are more focused on (small) businesses rather than personal accounting.

Underlying database?

Posted Jan 5, 2009 18:08 UTC (Mon) by pr1268 (subscriber, #24648) [Link]

Having a generic database such as MySQL or PostgreSQL as the data back-end to a personal finance back-end might imply read-write access to the user's (often sensitive) data and information.

Of course, the open-source applications' data stores are essentially read-write also, given that the user is an uber-hacker and has a hex editor (assuming that these finance apps store their data in binary or ASCII flat files).

My guess is that the data stores are obfuscated just enough (i.e., no generic database format) to protect the data from the owner (Enron accounting, anyone?) and the owner from him/herself (one misplaced decimal point could cost thousands), and the developers presume that the owner is responsible for protecting his/her data from others (disks, USB thumb drives, etc.).

Underlying database?

Posted Jan 5, 2009 18:16 UTC (Mon) by macc (subscriber, #510) [Link]

The on disk format is a zipped xml file.

The major PITA I have with GnuCash is
that there is zero export ability
from inside the project.

macc

Underlying database?

Posted Jan 5, 2009 19:43 UTC (Mon) by nicku (subscriber, #777) [Link]

Yes, and I couldn't get the reports to do what I wanted, so I wrote this Perl program to summarise the data in these XML files created by Gnucash.

Underlying database?

Posted Jan 5, 2009 20:31 UTC (Mon) by macc (subscriber, #510) [Link]

hey, thanks, Ile try that.

Imho using guile for scripting was one of the bigger mistakes.
There is a reason most heavily used scriptable nonprogrammer
tools (EDA) use tcl for scripting.

Having a mix of gnc:* gnc-* functions due to changing
the wrapper tools (partly) and no usable doc to speak off
makes it rather untractable to develop/adapt for.

MACC

Underlying database?

Posted Jan 5, 2009 20:35 UTC (Mon) by lolando (subscriber, #7139) [Link]

I'll second that. I too would prefer a PostgreSQL backend, but in its absence I wrote a Perl script too. It nicely turns my Gnucash file into a report (using Docbook) that matches the peculiar format expected by the French fiscal administration for my accounting. And the hard part wasn't the XML parsing...

Gnucash used to have an option to use a real database.

Posted Jan 5, 2009 18:21 UTC (Mon) by pizza (subscriber, #46) [Link]

It was abandoned due to the benefits not matching up to the pain of maintaining that feature set, and was finally dropped when Gnucash was ported to Gnome2.

This touches on some of the reasons they made this decision:

http://archives.postgresql.org/pgsql-advocacy/2006-03/msg...

Gnucash used to have an option to use a real database.

Posted Jan 6, 2009 0:47 UTC (Tue) by nix (subscriber, #2304) [Link]

Yeah, but they didn't move to sqlite. They moved to a massive pile of
compressed XML, which loads and saves *very* slowly (>10s for my five
years of one-person finances on an Athlon 4), eats huge piles of memory
(the gnucash RSS rises by >150Mb when I load that dataset), and doesn't
allow querying with any standard tools at all.

Not a good move IMNSHO (although gnucash is otherwise lovely).

(Oh, and these days tcl isn't the hot embedded language, lua is.)

Underlying database?

Posted Jan 5, 2009 18:21 UTC (Mon) by dkite (guest, #4577) [Link]

Recently there was an article on http://dot.kde.org/1227191031/ about
Kraft, an invoicing type application. The complaints in the comments were
about the difficulty of trying it out since that required setting up a
database with mysql.

Reviewers will tend to try those that are easy to install and run.

Which will skew the results away from more powerful but tougher (or time
consuming) to set up.

Seems time for some way of having an automated, very simple database setup
with either of the two free db's.

Derek

Underlying database?

Posted Jan 5, 2009 18:56 UTC (Mon) by martinfick (subscriber, #4455) [Link]

For apps like this, sqlite is probably more appropriate (can be embedded, no setup required). And once sqlite support is added, it would be fairly easy to add support for other DBs that do require setup. With sqlite available, any modern app has no excuse for a complex custom file format.

Underlying database?

Posted Jan 5, 2009 20:53 UTC (Mon) by Los__D (subscriber, #15263) [Link]

Except for when custom formats makes more sense.

Trees for example, for which SQL is close to useless. Ok, ok, just highly annoying and slow (Yes, I know about nested sets, and yes, they are an improvement, but it's still annoying as hell).

Underlying database?

Posted Jan 6, 2009 16:24 UTC (Tue) by rganesan (subscriber, #1182) [Link]

Valid comment and a sore point to me personally too. I used the postgresql backend before the GNOME 2 port but had to switch back to the xml interface. At one point, I thought I'd step in and do some coding for this myself but never got around to it. Fortunately some progress is happening on this front. See this post for example.

Underlying database?

Posted Jan 7, 2009 12:57 UTC (Wed) by job (subscriber, #670) [Link]

I use plain old LaTeX for PDF processing (generated as you describe). Layout may be a bit tricky, but not more than XSL, the result is very nice.

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds