For the past four years, I've been managing my personal finances with GnuCash, and I'm quite satisfied with it. The open source (GPL v3) project has been growing and improving since its initial release in 1998, and the latest version, 3.8, released in December 2019, adds many improvements and bug fixes.
GnuCash is available for Windows, MacOS, and Linux. The application implements a double-entry bookkeeping system and can import a variety of popular open and proprietary file formats, including QIF, QFX, OFX, CSV, and more. This makes it easy to convert from other personal finance applications, including Quicken, which it was created to replicate.
With GnuCash, you can track personal finances as well as small business accounting and invoicing. It doesn't have an integrated payroll system; according to the documentation, you can track payroll expenses in GnuCash, but you have to calculate taxes and deductions outside the software.
To install GnuCash on Linux:
- On Red Hat, CentOS, or Fedora: $ sudo dnf install gnucash
- On Debian, Ubuntu, or Pop_OS: $ sudo apt install gnucash
You can also install it from Flathub, which is what I used on my laptop running Elementary OS. (All the screenshots in this article are from that installation.)
After you install and launch the program, you will see a welcome screen that gives you the option to create a new set of accounts, import QIF files, or open a new user tutorial.
If you choose the first option (as I did), GnuCash opens a screen to help you get up and running. It collects initial data and sets up your account preferences, such as your account types and names, business data (e.g., tax ID number), and preferred currency.
GnuCash supports personal bank accounts, business accounts, car loans, CD and money market accounts, childcare accounts, and more.
As an example, start by creating a simple checkbook. You can either enter your account's beginning balance or import existing account data in multiple formats.
GnuCash also supports small business functions, including customers, vendors, and invoicing. To create an invoice, enter the data in the Business ->Invoice section.
Then you can either print the invoice on paper or export it to a PDF and email it to your customer.
If you have questions, there's an excellent Help section that's guide accessible from the far-right side of the menu bar.
The project's website includes links to lots of helpful information, such as a great overview of GnuCash features. GnuCash also has detailed documentation available to download and read offline and a wiki with helpful information for users and developers.
You can find other files and documentation in the project's GitHub repository. The GnuCash project is volunteer-driven. If you would like to contribute, please check out Getting involved on the project's wiki.