Learning accounting by doing accounting
I'm now understanding that one of the best ways I've found to learn about accounting (obviously a subset of business finance) is to set up my own accounting system and run it. It doesn't matter too much whether it's for business or personal finances; getting one's hands around setting up and using a double-entry accounting system is quite educational, even if it's occasionally frustrating.
In the past, I always faced the initial challenge of setting up a chart of accounts: the framework upon which all else is hung. In my looking, I'd find charts of accounts that seemed too complex (Facilitated Systems isn't a $100M company!), that cared about things I don't care about, or that were too simple. When I looked at an economical commercial product and a very attractive open source product, they seemed to try to hide the complexity, and it seemed that decisions I made in setting up my chart of accounts could live with me forever and perhaps doom my efforts if I selected poorly. I resigned myself to having to read about the theory of charts of accounts, to design reports I might want to create, and to design my own structure without much experience.
I've been using Ledger for some time now, and I realize that one of its great strengths is its flexibility. It's a double-entry system, and it relies on accounts, but it's very easy to change those accounts (I've done it multiple times!) if some change suits my needs: since the ledger itself is a simple, formatted text file, I can just edit the names of the accounts I've used in the ledger, and I have a new chart of accounts. If I want to add a new account, it's even easier: I just start using it.
If you want to try ledger, I'd encourage you to think about a few prerequisites you might find helpful. (I'll assume you're on Windows; if you're on Linux, you probably know how to do this already, and, if you're on a Mac, it's probably easier than this.) You'll want a text editor to manage your ledger file. While notepad would suffice, I'd be lost without Emacs. You'll want a shell to provide a command line prompt to build and run ledger. The easiest approach I know is to install cygwin.
You'll also need a bit of insight into how to install a program in a Linux environment; if you're not familiar with the 'configure' and 'make' commands, you could have a bit of studying to do. That said, I simply used gunzip to uncompress the download and 'tar -xvf' ('tar -xvzf' should have been able to replace both those commands; some of my old habits die slowly) to unpack the files. Then I followed the basic installation instructions in the INSTALL file to install Ledger.
You'll likely want a bit of help besides the built-in help, and there's a quiet but helpful forum. I've also found a PDF version of a slightly older version of the manual online.
So, if you'd like to improve your understanding of financial systems, try designing your own using a tool such as Ledger. Now's probably as good a time as any, for the author, John Wiegley, just released version 2.5.