hledger Plain-text accounting
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
hledger addhledger balhledger reg <acct>
hledger is -Mhledger bshledger printhledger checkhledger -f <file> bal
Concepts
- Bank CSV downloaded
- Journal plain text
- Reports bal, reg, is, bs
- Other tools spreadsheet, scripts
Journal format
2026-10-22 * Grocer | weekly shop ; food: expenses:food $45.20 assets:bank:checking # amount inferred
2026-10-22 * desc
; note tag:value
= $10010 AAPL @ $15010 AAPL @@ $1500
(account) $5account assets:bank
commodity $1,000.00
include <file>
~ monthly rent= expenses:foodP 2026-10-01 EUR $1.10
# commentQueries
acct:<regex>
desc:<regex>
amt:'>100'
date:2026-10tag:<name>=<value>
status:*not:<query>
cur:<regex>
depth:2expr:'<a> or <b>'
Balance reports
hledger balhledger bal <query>
hledger bal -thledger bal -Nhledger bal --depth 2
hledger bal -2hledger bal -Mhledger bal -Hhledger bal -Thledger bal -Ahledger bal -Shledger bal --cumulative
hledger bal --budget
hledger bal -%hledger bal --invert
hledger bal --transpose
hledger bshledger ishledger cfRegister and print
hledger reg <acct>
hledger reg -M <acct>
hledger reg -Ahledger reg -Hhledger areg <acct>
hledger printhledger print -x
hledger print -m <desc>
hledger print --new
hledger print -O csv
Time and valuation
-p 'last month'
-b 2026-01-01 -e 2026-04-01
-D / -W / -M / -Q / -Y
-B-V-X <commodity>
--value=then,<commodity>
--forecast--auto-E-RInput and entry
hledger -f <file> <cmd>
hledger -f - <cmd>
hledger addhledger add --no-new-accounts
hledger import <file.csv>
hledger import --dry-run <file.csv>
hledger import --catchup <file.csv>
hledger -f <file.csv> --rules <rules>
print
hledger close --clopen
hledger rewrite --add-posting='<acct> *0.2'
<query>
CSV rules
skip 1fields date, description, amountdate-format %d/%m/%Ycurrency $account1 assets:bank:checkingif grocer account2 expenses:food
skip <n>fields <a>, <b>, ...
account2 <acct>
if <regex>
include <rules-file>
Checks and info
hledger checkhledger check -s
hledger check ordereddates
hledger accounts
hledger accounts --undeclared
hledger accounts -t
hledger payeeshledger tagshledger statshledger fileshledger <cmd> -h
hledger --version
-O csv / -O json
-o <file>Recipes
hledger bal expenses --depth 2 -M -S -T
hledger import --dry-run bank.csvhledger import bank.csvhledger check -s
hledger bal assets liabilities -H -Yhledger bs -M --tree
hledger reg expenses:food -p 2026 -O csv -o food.csv



