cheatsheets/ledger.md

5.3 KiB

title layout
Ledger CLI default

Queries

# any/all matches
  ledger bal Rent Transportation  # any
  ledger bal Income and Job       # all
  ledger bal Expenses and not (Drinks or Food)

# what did I spend on most? (--sorted)
  ledger reg Expenses -S amount

# how much do I have now?
  ledger bal ^Assets ^Liabilities

# how much did I have at this date? (--end)
  ledger bal -e 01/15 ^Assets ^Liabilities

# how much did I spend and earn this month?
  ledger bal ^Expenses ^Income --invert

# what did I spend my Mastercard on? (--period, --begin, --end)
# ..list transactions in account "Mastercard" for this date.
  ledger reg mastercard
  ledger reg mastercard -p "january"
  ledger reg mastercard -b 01/25 -e 01/31

# what did I do yesterday?
# ..list transactions on this day
  ledger reg -p 01/26

# how much was spent on Expenses:Grocery?
  ledger reg grocery
  ledger reg grocery --weekly
  ledger reg grocery --monthly

# how much was spent over the course of 3 days? (totalled)
  ledger reg -b 01/25 -e 01/27 --subtotal
  ledger reg -b 01/25 -e 01/27 --subtotal grocery

Format

2013/01/03 * Rent for January
  Expenses:Rent   $600.00
  Assets:Savings

* = cleared
! = pending

Secondary dates

2008/01/01=2008/01/14 Client invoice ; estimated date you'll be paid

Balance assertions

2008/01/01 * KFC Expenses:Food $20 Assets:Cash $-20 = $500 ; ensures cash is at $500

Balance assignment

2008/01/01 * Cash balance Assets:Cash = $500 Equity:Adjustments

2008/01/01 * KFC Expenses:Food $20 Assets:Cash = $500 ; figures out what's needed to make it $500

Payables

2008/04/25 * Rent
  (Assets:Checking)  -$200
  Expenses:Rent

Commodities

; cost per item
2010/05/31 * Market
  Assets:Fridge                35 apples @ $0.42
  Assets:Cash

; total cost
2010/05/31 * Market
  Assets:Fridge                35 apples @@ $14.70
  Assets:Cash

; fixed lot prices
2010/05/31 * Gas
  Expenses:Gasoline             11 GAL {=$2.299}

Budgeting

~ Monthly
  Expenses:Rent  $500
  Expenses:Food  $100
  Expenses        $40 ; everything else
  Assets

~ Yearly

; ledger bal --budget Expenses
; ledger bal --unbudgeted Expenses

Comments

; line comment

also line comment

% also line comment | also line comment

  • also line comment

CLI interface

Examples

$ ledger bal         # show balance
$ ledger reg grocery # show entries for grocery
$ ledger print       # show entries

$ ledger bal assets  # check if im broke

  $2000 Assets
  $1400   Savings
   $600   Cash

$ ledger bal -b 2013/01/01 -e 2013/01/31

Periods

[interval] [begin] [end]

interval:
  every day|week|month|quarter|year
  every N days|weeks|...
  daily|weekly|...
begin:
  from <spec>
end:
  to <spec>
spec:
  2004
  2004/10/1

$ ledger bal|reg --period "until aug"
$ ledger bal|reg --period "last oct"
$ ledger bal|reg --period "every week"

Register

$ ledger reg
  -D, --daily
  -W, --weekly
  -M, --monthly
  --quarterly
  -Y, --yearly
  -s, --subtotal
  --start-of-week monday

  -S, --sort date
  -S, --sort amount

Filters

-b, --begin DATE
-e, --end DATE

-d EXPR          # only transactions matching EXPR (`-d payee =~ /pioneer/`)

-C, --cleared    # only cleared transactions (with *)
-U, --uncleared  # only uncleared (no *)
    --pending    # only pending (with !)

-R, --real       # ignore virtual postings (eg: "(Cash)  $-400")
-L, --actual     # no automated postings (eg: "= /^Income/")

    --aux-date   # use aux dates as if it were the primary dates

-r, --related   # show the other side
                # "reg -r savings" shows where it comes from)

Display

-n, --collapse       # [register] collapse entries
                     # [balance] no grand total
-s, --subtotal       # [balance] show sub-accounts
                     # [other] show subtotals
--flat

Effective dates

Say you're in business. If you bill a customer, you can enter something like

 2008/01/01=2008/01/14 Client invoice  ;  estimated date you'll be paid
     Assets:Accounts Receivable            $100.00
     Income: Client name

Then, when you receive the payment, you change it to

 2008/01/01=2008/01/15 Client invoice ;  actual date money received
     Assets:Accounts Receivable            $100.00
     Income: Client name

CSV format

date,        ?,  desc,    account,      currency, amt, pending/cleared, ?
"2013/09/02","","things", "Assets:Cash","P","-2000","*",""
"2013/09/02","","things", "Liabilities:Card","P","-200","*",""
"2013/09/02","","things", "Expenses:Things","P","2200","*",""
"2013/09/04","","stuff",  "Assets:Cash","P","-20","*",""
"2013/09/04","","stuff",  "Expneses:Others","P","20","*",""

Commodity

commodity $
         note American Dollars
         format $1,000.00
         nomarket
         default

See