Conquering your Finances with Emacs and Ledger
ledger-cli.org
Double entry accounting
Linux, Mac, Windows
Command line
Written by John Wiegley (2003)
All money has a source and destination account
Payee Amount
Paycheck + $100
Bought stuff - $20
Total $80
Assets:Checking Account $100
Income:Paycheck -$100
Assets:Checking Account -$20
Expenses:Stuff $20
Total $0
Assets
Expenses
Income
Liabilities
Equity
Net worth = Assets - Liabilities
Net income = Income - Expenses
2016/01/01 * Cash Transfer
Assets:Bank:Checking $200
Assets:Bank:Savings -$200
2016/01/02 * Loan Payment
Liabilities:Loans:Student Loans $150
Assets:Bank:Checking -$150
2016/01/03 * Thinking Cup
Expenses:Coffee Shops $3.50
Assets:Bank:Checking
ledger -f ledger.dat balance
$-150.00 Assets:Bank
$50.00 Checking
$-200.00 Savings
$3.50 Expenses:Coffee Shops
$146.50 Liabilities
$-3.50 Credit Card
$150.00 Loans:Student Loans
--------------------
0
ledger -f ledger.dat register checking
16-Jan-01 Cash Transfer Assets:Bank:Checking $200.00 $200.00
16-Jan-02 Loan Payment Assets:Bank:Checking $-150.00 $50.00
16-Jan-03 Thinking Cup Assets:Bank:Checking $-3.50 $46.50
It’s your data
Expressive reporting capability
ledger bal " Liabilities:Credit Card" --begin " last month"
ledger reg " Expenses:Shopping" --period " last october"
ledger reg eating -M
ledger reg " Assets:Roth IRA:2015" and @Contribution
ledger reg " Expenses" and %Gift
ledger bal Assets Liabilities --cleared
(use-package ledger-mode
:ensure t
:init
(setq ledger-clear-whole-transactions 1 )
:config
(add-to-list 'evil-emacs-state-modes 'ledger-report-mode )
:mode " \\ .dat\\ '" )