Sunday, February 10, 2019

Getting Started with GNUCash

I do outsourced bookkeeping, and I also run an e-commerce business. I've been a pretty reliable Quickbooks Online customer for about 6 years. Intuit has started raising prices and moving features to ever higher levels, causing my customers a fair amount of distress.

I finally decided to look for an alternative. I tried GNUCash a number of years ago, but back then it was only a bare-bones personal expense tracker. In my research, I saw it listed in a number of articles as business accounting software. So, I had to give it another look. I was pleasantly surprised.

Instead of a bare-bones personal finance tracker, I found a robust, feature rich, double-entry accounting system. Best of all, it's free! What can I say? I fully admit being a cheap bastard. Not only do I admit it, I'm proud of it!

There are a few limitations you need to know of right up front.

  1. It uses accrual-based accounting, not cashed-based. If you need cash-based accounting (like I do), that shortcoming is easily overcome, provided you can track unpaid receivables and payables in a spreadsheet until the payment is received or it's time to actually write the check. By only entering invoices when they're paid, and only entering payables when you write the check, you basically simulate cash-based accounting. Spreadsheets are free.
  2. This is hosted on your own computer, and the files themselves have no passwords. I overcame that shortcoming by saving the file in an encrypted VeraCrypt volume. You can also rely on the windows security / password to stop local people from opening your files. That won't stop a remote attacker who has gained access to your system. But let's be honest, if a hacker has access to your system, them having access to your accounting system is probably low on the list of your problems.
  3. It does have the ability to connect to some banks, but I haven't been able to make heads or tails of it. I'm just going to download the files from my bank and import them.
  4. Selecting the ledger account each imported transaction can be a bit of a pain. You can assign ledger account numbers to each account, and can remember which number is for which account. I just end up scrolling through until I locate the ledger account I need. It's a little cumbersome the first time around, but you can teach it to remember transactions and automatically assign ledger accounts.
  5. It creates a bunch of backup files wherever you're storing the main file. That really isn't an issue if you have a dedicated folder where the file lives. It is problematic if you place it on your desktop, or somewhere else where you have to locate non-gnucash stuff.
  6. If you need an on-call person to help you setup the system or answer questions, GNUCash is not for you. Support exists across multiple sites, including the gnucash.org site. There is documentation, but it's not all that helpful for in-depth questions. You have to be willing to hunt for answers.
That's all I can think of at the moment. I'm quite motivated to ditch Quickbooks Online, so I'm willing to deal with small shortcomings.

So far, the biggest struggle has been rewriting the script I use to convert my Amazon date range report into something useful for an accounting system. Before now, I've been using a service called "Transaction Importer Pro", which requires me to write the script to sort the transactions into 5 different files, each of which has to be imported separately. It seems like GNUCash can handle it all from a single file, which makes me really happy. I just have to rewrite the script, which is always a bit of a pain.

Setting it up was actually really straightforward. I printed the account list from Quicbooks, and entered them in GNUCash one-by-one. If you're starting fresh, you can consider just using the defaults it will offer you when you create a new file.

So far, I'm quite impressed. It's entirely possible that I'll hit some barrier that isn't worth overcoming. I don't see it happening, but it's always possible.

I'll post more as I start using it for my day-to-day business.