With the start of the new year, many people take this time to resolve to get a better handle on their personal finances. Whether this means making and sticking to a budget, reducing unnecessary expenses, or simply getting a better understanding of their financial situation, pretty much any approach to person finance is dependent on having a good idea of the numbers inside their bank accounts, where they come, and where they go.
Which tools allow you to take the best to approach organizing your finances depends a little bit on your situation. Do you primarily make purchases electronically, or do you rely heavily on cash? Is the archiving and organization of receipts going to be important for you come tax time? Do you operate a small business and need a more powerful tool which can manage the more complex finances of sales, customers, employees, and business expenses? Or do you use multiple currencies (perhaps BitCoin?) and want to keep track of those values as well?
Just as no two people have identical bank accounts, there's not one single personal finance tool which works best for everybody. For some, automation and simplicity are their main goals, and for others, customization and having lots of features matter most, while still others would benefit most from a large community to help provide support. Let's take a look at three popular options for open source financial software tools, and a fourth option as well—just using old fashioned spreadsheets. Each of these tools was designed with Linux in mind, but there are builds for other operating systems as well.
First up, let's take a look at GnuCash. GnuCash is a reasonably full featured accounting application which is suitable for both personal use and for managing a small business. First released in 1998, GnuCash is a stable option packaged for most major Linux distributions with Windows and Mac ports available. It features multi-entry bookkeeping, can import from a wide range of formats, handle multiple currencies, help you create budgets, print checks, create custom reports in Scheme, and can import from online banks and pull stock quotes for you directly. While not the kitchen sink, it can handle most financial needs readily out of the box.
One reason I particularly like GnuCash as an option is the availability of a mobile application which complements, rather than emulates, its desktop companion. The mobile app makes it easy for you to track expenses on the go, and allows you to import these into the desktop version for more detailed management (although, unfortunately, it does not provide for direct syncing).
GnuCash hosts a public mirror of its source code, which is primarily written in C, on GitHub. Given its long and complex history, portions of the code are made available under a number of mutually-compatible licenses, primarily the GPL, but the code repository has the full details.
HomeBank is another personal financial management option which is both easy to use but full of charting and reporting options. Most Linux users can find a packaged version in their usual repositories, and Windows users can install via a direct download. There are other unsupported ports available as well.
HomeBank has a similar feature set to what you might expect from other tools as well: import from Quicken and Microsoft Money or other common formats, the ability to detect duplicate transactions, multiple account types, split transactions, budgeting tools, and more. HomeBank also sports translation into 56 languages, so chances are it is available in a language you speak.
The final dedicated personal finance tools we'll look at here is KMyMoney. KMyMoney is a member of the KDE family of applications, and touts three main goals: accuracy, which is of the utmost importance for a financial tool; ease of use, to ensure you start and keep using it; and familiar features, designed to made KMyMoney a simple transition if you are coming over from one of its proprietary alternatives.
To achieve these goals, KMyMoney hosts a number of features that you would expect from a modern money manager: institution and account management, tagging, QIF import, reconciliation, scheduling, ledger management, investment tracking, forecasting, and multiple currencies. While it doesn't host some of the small business features found in GnuCash or other personal finance managers, these removed options might actually make it easier for an individual who doesn't want to be overwhelmed with unneeded options.
KMyMoney manages a git repository where you can find its code base, and it is made available as open source under the GPL version 2. While designed for Linux, it has been successfully ported to Windows and Mac OS as well.
While all three of these options are well-supported and regularly updated, my fourth and final pitch is not to even use a personal finance tool at all, but instead, to use spreadsheets to manage your financial data. Yes, there's a lot to be said for having a dedicated budgeting tool. There's less reinventing of the wheel involved, and you don't have to worry as much about messing up complex formulas. You also have the peace of mind of knowing that there are others out there who have exactly the same setup and can help you out when you get stuck. And you also need to be careful to not store personally identifiable information like account numbers in plain text, particularly if you store or backup your data to a shared location.
But the vanilla spreadsheet isn't a terrible tool either. In terms of the ease of customization, it can't be beat. Custom charts and graphs are easy to generate, and you can track additional data alongside your accounts to get a clearer picture of your spending. Open source tools like LibreOffice Calc or Gnumetric offer great functionality and expandability to track your finances your way.
Personally, I use a mix of tools. I use a personal finance tool to store the raw data and for getting an idea of what my accounts look like at a glance. But for more complex operations, I turn to a trusty spreadsheet to drill down to exactly what I want to know, particular when I want to pair the data with other personal information I collect. For example, I have a device in my car that tracks trips via GPS; by pulling out gasoline purchases, I can pair it with this information to see my exact cost per mile for every trip. Or pair restaurant spending with personal health metrics I collect to see what the correlation is between how often I eat out and how my weight fluctuates.
So how do you choose? Most of the three personal finance managers here host similar feature sets; the devil is in the details. Sometimes, your personal preferences will dictate a particular killer feature which only one of the options will host. The best way to find out is to dive in and start using one, and if it's not working for you, migrate your accounts to another to see if it better meets your needs. If you're managing business transactions, or just need more powerful options, you might also look around at the variety of open source ERP solutions available which have better tools for managing complex business asset tracking and reporting needs.
Whatever the tool you decide to use, why not take this year and make it the one you use open source to get control of your financial picture?