Feb 12 2019
Ledger-CLI Gets the Job Done
If you are a business owner or avid budgeter, you surely know the importance of accounting. Since I love text files and data organization, I rely on ledger-cli for my money tracking needs. The most evident benefits of the CLI software stem from ideas mentioned in my other posts. Instead of doing the usual rant, I am going to share how I use ledger.
An overview of my workflow:
- Git is used for version tracking. AWS Code Commit is used as the remote.
- Vim is used for editing.
- A Makefile is used to run common commands.
The Makefile
Some of the common reports I run are:
- Performance in a given year
- List of rent transactions
- Invoice generation
files = `ls *.ledger | sed s/^/'-f '/g | xargs`
html_register_format = --register-format "<tr><td>%D</td><td>%P</td><td>%t</td><td>%T</td></tr>\n"
balance:
ledger $(files) balance --current --basis
2017:
ledger $(files) --begin="2017-01-01" --end="2018-01-01" balance --basis
2018:
ledger $(files) --begin="2018-01-01" --end="2019-01-01" balance --basis
invoice:
ledger -f client_account.ledger register revenue:client_account --invert $(html_register_format)
rents:
ledger $(files) register 'asset:accounts receivable' --current --sort date
The docs are in-depth and give a good feel for the capabilities. One neat feature is that time tracking is built in. This way I can generate invoices with detailed information: description of each work item, amount of time, running total, etc. Since the output is text, it is very simple to add your own branding and other customizations.
Running balances are fat-free and to the point. An example of my balance sheet:
$xxxxxxxx asset
$xxxxxxxx cash
$xxxxxxx reserved
$xxxxxxxx land
$xxxxxxxxx real estate
$xxxxxx tax escrow
$-xxxxxxxx equity
$xxxxxxxx expense
$xxxxxx bad debt
$xxxxxxx closing
$xxxxxxxx loan interest
$xxxxxxxx operating
$xxxxxxx depreciation
$xxxxxx eviction
$xxxxxxx insurance
$xxxxx legal
$xxxxxx office
$xxxxxxx property tax
$xxxxxxx repair
$xxxx restaurant
$xxxxxxx water
$-xxxxxxxxx liability
$-xxxxxx credit card
$-xxxxxxx depreciation
$-xxxxxxxxx note payable
$-xxxxxxxxx financer 1
$-xxxxxxxxx financer 2
$-xxxxxxxx investor 1
$-xxxxxxx security deposit
$-xxxxxxxx revenue
$-xxxxx bounce fee
$-xxxxxxx consulting
$-xxxxx late fee
$-xxxxxxx loan interest
$-xxxxx pet rent
$-xxxxxxxx rent
$xxxxxxx writedown
I’ve been using ledger in my business for about 2 years now and plan to continue using it for the foreseeable future. I also began using ledger for personal budgeting, but I am going to wait and let it mature out a little more before making a separate post on this.
Hopefully this was informative. Feel free to email me if you have any questions!