I'm often asked which personal finance software is the best. I strongly recommend YNAB 4, the system I personally use. It is by far the best budgeting system on the market. The software is fantastic and the methodology is extremely effective. You can read the review or Try YNAB 4 with a FREE 34-Day Trial!
Note: This is a review of GnuCash version 2.2.9. The current version (2.4.7) is sure to have some improvements.
Beginner’s Guide: The folks over at Packt Publishing have created a beginner’s guide to Gnucash. I’ll try to do a full review of the book later, but I wanted to at least let everyone know that it was available. You can find the Gnucash Beginner’s Guide here. At first glance it looks to be mostly focused on small business, but I’m not entirely sure yet.
Here We Go:
My first scare came with this line about installation:
To install GnuCash on other platforms, users will need Gnome 2, guile, and slib. Neither the currently used swig nor the previously used g-wrap packages are needed anymore when compiling from tarball or when installing a binary.
Sorry…come again? I have no idea what a Gnome 2, guile, slib, swig, g-wrap package, or tarball is. And that was just in two sentences about the installation. Conclusion: Open Source software documentation is not for the layman (a group to which I proudly belong).
However, I, luckily, run Windows. And there’s an installer of GnuCash for that.
The installer file is 50MB+, so be ready to wait a few minutes (even on high speed) to get the thing downloaded. Once downoaded, the installer walks you fairly quickly through the entire process. Why am I talking about installing GnuCash? Because Open Source software is notoriously more difficult to install than commercial software, so it bears mentioning.
Getting Started with GnuCash
I chose to start with the Help Tutorials mainly because I had heard already that GnuCash could be fairly daunting for new users. I’m fairly experienced with accounting from school and work, so I wasn’t too worried about understanding it for myself. But trying to look at it through the eyes of a person who just wants to get their money under control and start seeing results? The tutorials aren’t really tutorials – just help files.
Honestly, I was shocked to find a tutorial on double-entry accounting (welcome back to Accounting 200 everyone! Please take your seat, settle in, and get ready for a B-O-R-I-N-G class). GnuCash makes the claim of being simple to use, but then they’ve decided they need to teach the users double-entry accounting so they can use the software? I understand that under the hood, lots of accounting software uses the double-entry method (Moneydance comes to mind as well, though it has other weaknesses), but to expose it to the user in this way seemed over the top. I think more users are scared away as a result.
I decided to nix the tutorials (in total, we’re talking hundreds and hundreds of pages, so I think I’ll use it more as a reference than as an actual “let’s work through all of this” type of guide).
Diving into GnuCash Head First
I chose File -> New File and was presented with a welcome druid (I say druid only because the software calls it a druid as well, a joke which I understand, but don’t find particularly funny. Perhaps it’s too early in the day).
The account setup process wasn’t too bad, though honestly I think someone with little experience with bookkeeping would have issues getting started (and would need to read the lengthy tutorials).
Importing my Account Activity into GnuCash
GnuCash offers a whole slew of options for importing your bank transactions, most of which I don’t even recognize. They obviously offer the standard importation of QIF, OFX, and QFX. I downloaded my credit card activity for the past two weeks and gave it a whirl.
The first thing I noticed was that it wasn’t a traditional dialog box. This is probably only noticeable to someone like me, who’s used to the Windows or Mac OS, and not Linux. I had chosen specifically to import OFX/QFX so I was surprised to see that the dialog still showed me all available file formats. Normally in Windows a dialog shows only files that can actually be opened by the program. It’s a small detail I know, but the compilation of small things is what makes great software.
You can walk through the gallery of screenshots below for the importation process with GnuCash. The short of it is that it asked me which account was associated with my imported file (it was my Credit Card account). It then showed me the scariest yellow screen I’ve ever seen, with cryptic headers at the top “A” and “R” referencing things like “source split shown” and “New, UNBALANCED (need acct to transfer $X.XX!”. I had no idea what was going on, so I read a little bit in the tutorials.
Okay, scratch that. I couldn’t find anything on importing files in the tutorials.
So I checked the help files (different from the tutorials — it’s a whole other section apart from the hundreds of tutorial pages. No dice. I found something that looked promising as far as explaining the yellow import dialog, but alas, it was “under construction”
I decided just to go for it and I imported my transactions. On opening my Credit Card register, I could see a warning sign: all of the transactions had been marked as “Imbalance-USD”. So, it was fairly obvious that I needed to balance things. How? My business experience tells me they need to be categorized as expenses.
The categorization process isn’t too bad. You can type and it will begin finding the category you’re looking for. I don’t like, however, that all of the expenses are in one single category (or account as GnuCash calls it) of Expenses. So I can’t have Food:Dining and Food:Groceries, I’m forced to have Expenses:Dining and Expenses:Groceries. I can already foresee this being an annoyance if I ever want to run a higher-level spending report such as all money spent on Food, Housing, Utilitities, Entertainment, etc.
Wait. Hold the phones. You can create categories such as Expenses:Food:Dining and Expenses:Food:Groceries. I take back what I said above. Problem solved (though this results in very long names in the Register).
There’s no way to select multiple transactions in the Register, so I couldn’t assign categories any quicker than on a one-to-one basis. This got annoying very quickly. I was so annoyed actually, that I spent quite a while digging through the Help system to find out how to select multiple transactions in GnuCash. No dice.
We’ll get more into GnuCash’s look and feel later on in the review. I was curious about their online banking.
Setting up Online Banking with GnuCash
I gave online banking a go (though it took me a while to find out how — it’s under Tools):
It looks like it’s very possible, though not straightforward. I found this about Wells Fargo on the GnuCash wiki:
You must enable (and pay for) OFX access to your account. Instructions here. If you have a PMA relationship contact your Wells banker, they may waive the OFX access fees.
So I’m disappointed. It looks like GnuCash’s only option is through DirectConnect, which leaves me paying a monthly fee. Quicken was able to handle it through WebConnect with Wells Fargo. Confused yet anyone? DirectConnect means there’s a fee, and WebConnect means there isn’t. The end result is the same…
A Walk Through GnuCash Features
Find Transactions - You can find transactions by going to Edit -> Find or using the standard Ctrl+F shortcut key combination. The dialog box is very functional, but may scare off users that aren’t used to dealing with a very flexible query engine, and that’s basically what this is. You get a lot of functionality, but not a lot of user friendliness. It took me a second to realize how it worked.
You can search in any (or all) of 13 different fields for a transaction, such as description, memo, number, action (?), notes, etc. I found it strange you couldn’t search by amount but could search by share price. It would seem the amount would be much more useful to a larger base of GnuCash users. At any rate, then you just need to specify that your criteria contains, begins with, ends with, etc.
I purposely chose to find a transaction that I knew didn’t exist. The result was that it showed me an empty Register. A message saying “No transactions matching your criteria could be found” or something like that would have been much better.
Scheduled Transactions – The Scheduling dialog is also a bit daunting, but with a few minutes work, it’s not so bad. The only downside I found was that the frequency options were woefully inadequate. They give None, Once, Daily, Weekly, Semi-Monthly, and Monthly. There’s nothing for quarterly, semi-annually, or even annually. I was hoping for something twice-monthly so I could schedule my salary. What I ended up having to do was to create two Monthly transactions scheduled on different days.
I ran into a pretty big roadblock when I tried to schedule the transaction and it told me it couldn’t be created because there was no template transaction. No what? There was another tab in the dialog called “Template Transaction” so I headed over there and found a very confusing interface. I actually had to recall back to my accounting classes to realize that I needed to record two transactions. One, a debit to my checking account for my salary, and another, a credit to my Income:Salary account. These types of details are what kill GnuCash for me. I can see that it has functionality that would suit a small business, but to be touted as a personal finance application? It’s just too darn scary for people. You can check out the galary below of my walk through the Scheduled Transactions feature of GnuCash.
Transfers – This is another one of those places where we take what should be a fairly simple operation and scare the user with a very complex-looking dialog box. In the end, doing Transfers is very easy. It just looks scary.
I set up a transfer to pay my credit card off with some of the balance of my checking account. The end result was that I got both transactions entered into their respective registers and everything worked out just great. If you right-click on a transfer transaction and select “Jump”, you’re taken to the other side of the transfer. Nice functionality there (standard, but still nice).
Reconciliation – The reconiliation feature in GnuCash is straightforward and if you’ve ever used Quicken, MS Money, Moneydance, or any other standard financial application, you’ll recognize the reconciliation window. I created a quick gallery of screenshots from the process:
The only quirk I ran into was when you select to add a “New” transaction from the GnuCash reconciliation dialog, it closes the reconciliation window completely (and doesn’t save what you’ve done, or “postpone” as they call it in GnuCash) and there was a very strange drawing error (see the picture above). It cleared up if I clicked off the register and then clicked back again.
There are other features such as Stock Split, View Lots, Split Transactions, etc. but we won’t cover those — mainly because I think they’re beyond the scope of PFSR.
GnuCash Business Features
GnuCash, in my opinion, is much more comparable to QuickBooks than it is to Quicken. It’s complexity (though I’m one to admit that Quicken is also quite complex) is up there with Quickbooks, where you sometimes need a professional to figure things out. If you work slowly and methodically through each step, and read the documentation extensively, you’ll probably be just fine.
The business features include:
- New Customers
- Finding Customers
- New Invoices
- Finding Invoices
- New Jobs
- Finding Jobs
- and Processing Payments
I could see it being especially useful for someone doing consulting or freelance work.
The reporting area is truly daunting! You’ll definitely find some reports here useful for your purposes, while all of the rest you’ll likely never touch:
|Assets & Liabilities
Net Worth Barchart
|Income & Expense
Expenses vs. Day of Week
Income & Expense Chart
Income vs. Day of week
|Sample & Custom
Welcome Sample Report
Custom Multicolumn Report
Sample Report with Examples
Tax Report & TXF Export
Account Transaction Report
Whew! I had to ask myself why someone would need to know their Income vs. the Day of Week? That seems a bit like overkill to me (okay, it seems a lot like overkill). If you’re feeling a bit overwhelmed, you should be! This is extensive and scary.
Budgeting in GnuCash
Budgeting in GnuCash is, as with everything else, a bit difficult. GnuCash has adopted the same approach as most financial packages. Set some arbitary guidelines and then see how you did. At least that’s how it feels.
I have to confess, I didn’t know how to create a budget until I actually did a search in the help file for ‘budget’ and found the entry for ‘Creating a Budget’. The trick: File -> New -> New Budget.
I was then presented wit this less-than-helpful screen:
I didn’t have any idea what to do — even after clicking around for a while — so I jumped back to the help file (again). A ha! You click on the Options button. I set one up to begin August 1st. The Budget isn’t zero-based, in that there’s no overall income with which you work to actually set up a budget where every dollar is assigned to a category.
I tabbed to set it for the next month and it erased what I’d put in August for Expenses:Auto:Gas. You have to hit Enter to make it take (annoying).
Using the GnuCash Estimator – I used the estimate feature on the groceries category, knowing that I’d spent about $150 in August according to what I had already input. It just blanked out what I had already input and made all of the months $0.00. Not so helpful. At all.
I ran a budget report (Reports -> Income & Expenses -> Budget Report) and was a bit dumbfounded as to what I was actually supposed to learn from it. For instance, it showed I had budgeted $0.00 (the bad estimator) for Groceries in August, and then spent $151.14. Yet there wasn’t anything to show me if there was a problem. No red numbers, no negatives, nothing. Basicaly this Budgeted vs. Actual report is extremely hard on the eyes (see the pic below) and not very useful.
I’d love to see GnuCash offer some sort of envelope budgeting system a la YNAB or Mvelopes. However, the fact that they’re married to the double-entry accounting would probably make overlaying a system like that fairly difficult.
Other GnuCash Features
GnuCash also offers a Price Editor, Security Editor, Financial Calculator, Close Book, and General Ledger. These can all be found under the Tools file menu. (I have no idea how the Price Editor works as compared to the Security Editor. It confused me from the get-go. If someone can fill me in, please do so). If you want to see double-entry accounting at its finest, check out the General Ledger here.
GnuCash is free, so that’s nice. However, the amount of documentation you’re going to need to pour through in order to understand how to use the program (even on a fairly basic level) isn’t worth the price. GnuCash is functionally powerful, but it’s very weak when it comes to user-friendliness. I’m reminded of the geek saying: “Linux is very user friendly. It’s just picky who its friends are.” I would recommend a personal finance software application that is more user friendly and is more focused on aspects of personal finance that will lead you to success.