Command Line Accounting With Ledger and Reckon
blog.andrewcantino.com
blog.andrewcantino.com
I have a few reports that I keep open (last month's expenses, this month's expenses, etc), so my usage is generally 1) download transaction history in OFX from Natwest, 2) import into gnucash, 3) put the unrecognized transactions in the correct accounts (rarely if ever have to do that these days - the bayesian matching works rather well) 4) inspect the reports.
I couldn't be happier!
2012-05-22=2012-05-18 * B&H Photo Video
Expenses:Electronics:Camera:Charger USD 37.02 @@ CAD 38.76
Liabilities:Visa
to specify the purchase amount and the amount that appeared on the card. It keeps track of the exchange rate at each such transaction, and can generate a price history from them. I was even able to enter an ATM withdrawal with fees at both ends fairly easily: 2012-03-12 * Withdrawal
Assets:Cash USD 500.00
Expenses:Banking:Fees USD 2.50
Assets:Bank:Chequing CAD -511.19
Expenses:Banking:Fees CAD 2.00
Assets:Bank:Chequing CAD -2.00
The concept of "currency" is pretty open in ledger. I even started using it to track tickets on my transit card for a while, with things like 2012-04-18=2012-04-17 * STM 10 tickets
Assets:Opus Card 10 STM @@ CAD 24.00
Liabilities:Visa
followed by withdrawals from the card when I took trips. (This turned out not to be a very good use of time.) You could track stocks in a similar way.Hope that helps. You might also want to look up ledger and gnucash, as I think ledger can read gnucash files. You'd be able to test ledger out with "production" data.
It's given us a much better and more current view of where we are financially. We can actually display our runway on our Geckoboard dashboard in the office!
Next step: use D3.js to create monthly reports you can really drill down through.
Thinking about it now, it does tie together some interesting parts. I'll clean it up a little and put it out there as soon as I have some time. If anyone's interested in it at the state it's in now, just give me a shout.
I use ledger for all of my personal finances and it works great. However, maintaing the config files for csv2ledger is a pain so I will check this out.
But this post has piqued my interest... Maybe worth another look.
https://groups.google.com/forum/#!msg/ledger-cli/K7EgJQuEQ_M...
Basically, make a 3rd account, name it transfer, and have it be the "staging area" that should always cancel out to zero. Works great for ledger files generated from an outside source.
To this end, I wrote and use a generic ruby CSV -> .erb template program that is quite short and simple, keyed off of the header row:
https://github.com/zdw/rubycsv
Examples are given of bank/paypal/square/etc.
Ledger is awesome stuff - it's basically a multi-variable tree structured calculator. I'm (ab)using it right now to calculate specs for a network rack.
For my business I use an online tool freeagnet. It is awkward to use and I have not successfully downloaded my own data, but it took no training g to use, takes a few minutes a week to keep up and it auto calcs taxes and so on
If you are running a business and have time to learn text file based double entry program's that have limited tech support, you should be in the accountancy industry.
(Accountants of my acquaintance would quibble that this is book-keeping, not accounting, but let's just leave them outside with this year's tax handbooks).
Does ledger allow you to annotate things such as stock accounting method?
You can make annotations on transactions in various ways, but handling LIFO or FIFO or whatever is kind of out of scope. It's been discussed at length on the mailing list and the conclusion was that it would best be handled by an external system that loads your ledger data.
https://groups.google.com/forum/?fromgroups#!forum/ledger-cl...