One thing leads to another. I screwed up my 2007 tax return and got audited (not a big scary one, just a "fix this or pay us" notice), which motivated me to go overboard and learn everything there is about taxes, as they relate to my finances.
As as side note, I really appreciate it when people suggest things to learn about or read, as they relate to my posts. I can't think of the others offhand, but I know there have been a few other big ones.
I spent a few days, and I mean sixteen hours a day, learning everything I could about bookkeeping and accounting. For the first time ever I can understand every weird accounting term, and have balance sheets mean something intuitive to me.
Today I'm going to show you the steps I took to set up an awesome personal finance system, and how you can replicate them.
What's the point?
I had made a few halfhearted attempts in years past to convert to things like Quicken or Mint.com. Usually I lasted one day and realized it was pointless. The biggest issue was that I have very erratic spending. Some months I'll spend nothing, and then the next I'll buy $2000 of airplane tickets for the next six months. So one month I'd look like a financial genius, and the next it would look I'd lost a ton of money.
This system solves that problem, along with a host of others. In the meantime, it confers a lot of benefits.
This isn't some genius system I've invented, or even something I've put together myself. It's simply using good software, generally accepted accounting practices (GAAP), and a business-minded approach to personal finance.
The two key pieces of it are "double entry bookkeeping" and "accrual based accounting".
Double Entry Bookkeeping
When I first heard the name, I immediately assumed that it would be a waste of my time. I want to do my finances quickly, not enter them in twice. As it turns out, double entry bookkeeping is very quick and serves a major purpose.
Every transaction you make affects TWO accounts, not one. If you buy a meal, that's really a transfer from your credit card account to your meal expenses. When you sell your car you are actually transferring money from one asset, your car, to another, your bank account.
This sounds confusing at first, but once you get the hang of it, it's very simple and intuitive. The major benefit of this system is that things always balance out.
Assets = Liabilities + Owner Equity + Income - Expenses
This will always be true. Owner equity is more appropriate in a business setting, but you can think of it as money you started out with before you started tracking your finances.
Let's assume for an example that Owner Equity is zero because I've tracked my finances perfectly since I was born.
If I have $3,000 in the bank (Assets) and owe $5,000 on my credit card (Liabilities), and earned $2000 at my job (Income), then I KNOW my Expenses must be $4000.
Every dollar has been accounted for it two places, as a credit in one and a debit in another.
(technical note: debit and credit don't mean what you think they mean, so if you come up with scenarios like assets and income both increasing when someone pays you for work, that's only because debits and credits have specific accounting meanings which you will learn in the tutorial I link to.)
Let's say I pay $3000 towards my credit card bill. Here's how it would look in double entry accounting:
This transaction would show up if I looked at my ledger for my checking account or my credit card account. Nice, right?
Because things always balance out, it's very easy to spot mistakes, and very difficult to get lazy and not properly describe transactions.
I've done a terrible job of explaining double entry accounting, but I think that's mostly because you have to learn it to appreciate it. Luckily an accountant has made an absolutely stellar tutorial. Go through that and you will really understand why it's so important to use double entry.
There are two ways that you can account: on a cash basis or on an accrual basis. I'd heard about this before, because the IRS always asks which way you're accounting.
The difference is this: cash accounting recognizes transactions when the money is received or paid, accrual accounting recognizes transactions when they are earned.
Let's say there's a play I want to see next month. I buy a ticket for $50 now, so that I can get good seats. How do I account for the $50?
If I'm using cash based accounting, I enter it as a transaction for today. If I'm using accrual based accounting I enter it as a transaction for the day the play shows.
Which one is right?
Well, cash would seem to be better initially. I paid for it today, so why shouldn't it be accounted for today? The main reason is because it is actually an expense incurred the following month.
If I go through my monthly expenses it might seem like I spent a lot of money on entertainment this month, even though I stayed at home. Meanwhile, it may seem like I was really frugal the following month, even though I went to see a play.
Using accrual accounting gives you a much more accurate picture of what your "cost of living" is per month.
Here's an even better real life example: I pay $375 per year to rent a server to host my web sites. This charge is put through every March. If I used cash based accounting, this would make March look like a less profitable month than the rest.
But if I'm using accrual, how do I charge the $375?
I use an intermediate account. In my accounting software I set up a "Hosting Credit" asset. When the $375 is billed I add it to my American Express liability account and to the Hosting Credit account. Now my credit card ledger is accurate, and my net assets also reflect the $375 in services I'll receive. I set up an automatic $31.25 transfer from Hosting Credit to Hosting Expenses every month, and now my expenses are accurate; they show the actual cost of hosting every month.
I also do this for plane tickets. I have a "future travel" asset account. In the case of the play, you could have "future entertainment", or just a miscellaneous future assets account.
Income works the same way. I write articles for Gadling, which they schedule for publication as they see fit, and then they pay me later on. If I used cash based accounting, it wouldn't actually reflect how productive I was. Payments would be lagged a month or so in advance. If I stopped writing, I would still be reporting income from them a month later.
The correct way to do it is to set up a "Accounts Payable" asset. Every time I write an article, I make an increase (debit) to Accounts Payable and an increase (credit) to Income:Gadling (the colon means that Gadling is a sub asset, just for organization).
Then when they pay me I transfer money in my ledger from accounts payable to my bank account. Again, balances and dates are both accurate.
One last example is splitting costs with friends. If someone owes me money, I will record it as an asset under their name, as well as a decrease in my cash account. Then when they pay me back I mark it as an increase in my cash account and a decrease in the amount they owe asset.
If any of this is confusing, it's just because you haven't started playing with the software. Once you start making accounts and transactions it becomes very obvious how it all works. The tutorial mentioned above also helps quite a bit.
Back in the 13th century, when double entry accounting was invented, I'm sure they recorded it on yak hides or stone tablets. These days we can use amazing software to do it.
I have spent a lot of time researching this, and to my knowledge there are only two true double entry software systems. Other systems, like Quickbooks, are based on double entry, but they hide it from the user. I tried Quickbooks and hated it.
My favorite option is Moneydance. It's the dumbest name ever, but It's essentially perfect software. The ONLY thing I don't like about it is that it doesn't use "debit" and "credit" labels, but instead uses "increase" and "decrease". You'll understand why if you do the tutorial.
Here are a couple screenshots from my own books to give you an idea of what it's like.
Another great piece of software is GnuCash. It's a bit less user friendly, but a little more hardcore (it has the option to properly label credit and debit). I used it at first, but switched because I liked the autocomplete and online features of Moneydance.
I also prefer the way Moneydance handles special assets and liabilities, like bank accounts, credit cards, and investment accounts. In particular, it allows your investment account to have a cash component. I'm slightly on margin right now, so if I hadn't blacked mine out, you would see a negative balance there. Once I put more money in, it will go back to positive.
One thing I miss about GnuCash is that it allows you to fully edit each transaction in both ledgers that it appears in. Moneydance will only let you change the memo field in the ledger it was originally entered on .
You'll be happy with either program. GnuCash is totally free and open source (if you notice that the splash screen is terrible, don't worry! It annoyed me so much that I made them a new one which will be included in the next release). Moneydance costs $40, and is worth it to me. Speaking of which... I forgot to enter that payment in the ledger!
Both pieces of software work on Windows, Mac, and Linux. If you have any questions, leave them in the comments and I'll do my best to help.
I hate Paypal. In the early days of gambling I used Paypal to send money to casinos, and Paypal would occasionally screw me over. They held all deposits to casinos for 30 days so that if the casino went under, players wouldn't get screwed. That was nice of them.
One time I deposited $10k and a casino went under. They never gave me any money despite a number of calls and e-mails. Oh well.
I use paypal when I absolutely have to, and that's it. Google checkout came along, and I was happy about that. I like Adwords, Adsense is ok, Search is awesome, etc. I figure with their "Don't be evil" motto, I'd have nothing to worry about.
A good checking account will have (ranked in order of subjective importance):
No fees, particularly monthly maintenance, incoming wire, etc
ATM Fee Reimbursement: ATM fees from other banks are reimbursed