Hacker News new | ask | show | jobs
by neilv 2608 days ago
For anyone who wants to do things like double-entry accounting with transaction splits (e.g., properly encode an Amazon order for 5 different items from different expense categories, that're paid for by a mix of rewards points, Gift Card balance, and CC), there's GnuCash.

You can also do things like record transactions yourself, update with downloaded data, and reconcile against monthly statements (as another way of catching discrepancies).

You can make custom reports with charts. I used these, for example, for comparing how much I spent buying coffee every day, vs. how much I spent on every cost that goes into making coffee at home, when I tried that for a while.

There's also features for tracking investments, including automatic updates of market prices.

And, if you're a small business, you can build and generate invoices (including building the invoice over multiple days), and track accounts receivable.

Warning: GnuCash can be a significant investment of time. I eventually decided it was no longer worth it for me, though I might someday resume it.

Other Warning: If you have retirement accounts or other investments in GnuCash, consider hiding them from view, which GnuCash lets you do with any account. Bogleheads-style, US people probably want to keep contributing to a predetermined balance of total-market stocks and bonds, automatically, and not think about it, especially when there's market fluctuations.

3 comments

I personally use beancount [1] and love it. There are also many similar alternatives [2].

1 - http://furius.ca/beancount/ 2 - https://plaintextaccounting.org/

> You can make custom reports with charts. I used these, for example, for comparing how much I spent buying coffee every day, vs. how much I spent on every cost that goes into making coffee at home, when I tried that for a while.

Nice! But why do you need a separate report for that? Just put all the coffee-related expenses into their own subaccount of the expense account for Food, and run the standard expense reports on that account.

> Warning: GnuCash can be a significant investment of time. I eventually decided it was no longer worth it for me, though I might someday resume it.

Oh, I know what you mean. Especially when you first set it up.

For me, it's about 15 minutes per week, all things considered. I track all expenses, including cash expenses. The only thing I don't break down into individual items are grocery bills. Those get folded into one daily "Groceries" transaction.

Never really understood the need for double entry in the personal context.
Double entry accounting basically makes it easier for you to track down errors in your accounting. It's a bit like writing tests for your code. The advantages are: 1. You are usually alerted quickly when you make a mistake. 2. You can reason about where you made the mistake, even if you've lost the original documentation.

It's not so much that it's personal or business that's the issue, I think. It's more the consequences for making a mistake. When I was very poor (but luckily not in debt) I had a good system for controlling my spending. I would take out X amount of money every Monday. I would try to have some left at the end of Sunday (a couple of hungry days helped me understand the importance of being conservative in my estimation).

That system works fine (and would even work fine in some kinds of businesses). However, what do you do when you find that no matter what you do, you can't seem to get to Sunday without running out of money? What if you can't figure out where it is going? Some kind of accounting will help you figure out what you are spending your money on.

Doing the accounting is fine and most of the time it's not a big deal if you make a mistake here or there. However if you are really pressed for cash (like you won't eat on the weekend if you make a mistake), it's probably not a bad idea to record your expenses in a way that allows you to detect mistakes. If your weekly transit pass is $50 and you accidentally record $5, you might conclude that you have $45 every week more than you actually have. You'll eventually figure it out, but it will mean more missed meals than you probably want to endure.

I like living a lifestyle where I make enough and spend little enough that I naturally have enough money. For me, that's my definition of "rich". After I got married, that state of affairs seems to have disappeared from my life ;-) Trying to reason about where the money is going is surprisingly tricky and double entry accounting has helped me make good conclusions without enduring stupid mistakes. Not necessary, of course, but still useful if you are the kind of person who likes fiddling.

Bookkeeping is basically just tracking your total assets and debts separately. You can break those down into accounts, but it's optional.

In personal context, doing double-entry would have you log a credit (pay from) to your assets and a debit (pay to) to your debts. For example, when you pay your credit card bill with a check. For generic expenses (whether you pay with cash or credit) and income you wouldn't bother with double-entry.

Why would you want to do this? It's all about "balancing" your net worth; when you have expenses or income your net changes, but when you pay a debt then your worth, or "capital" in bookkeeping jargon, is a constant, and follows the basic rule of accounting: assets = liabilities + capital. Doing double-entry is the most reliable way of following this rule.

One thing I've found really helpful doing double-entry is that I can make sure nothing falls under the radar.

With single-entry (where you just key in expenses for the month), it's easy to forget that cup of coffee you paid for in a rush. It doesn't matter with double-entry since you can always just check if your wallet tallies up.

I usually just classify variances under miscellaneous expenses if it's not a large amount, but sometimes I've found myself somehow "missing" a few hundred bucks which I then would start tracking down.