Ledger CLI is a double-entry accounting system using plain text files, commonly processed directly in the terminal. Here’s how to use your ledger file for common financial tasks.
This tutorial requires some data to process in a .ledger file. You can user the sample file.
ledger -f my.ledger balance
Shows how much you have/spent/owe in each account (summary view).
ledger -f my.ledger balance Assets:Bank:Checking
How much money is in your checking account.
ledger -f my.ledger balance Assets:Cash
Your physical cash balance.
ledger -f my.ledger balance Expenses:Software
Sum of all software/tool/service expenses.
ledger -f my.ledger balance Expenses:Hardware
ledger -f my.ledger balance Expenses:Food:Coffee
ledger -f my.ledger balance Income:Freelance
How much you’ve earned from freelance work (will be negative, since income is a credit).
ledger -f my.ledger balance ^Income
The caret (^) matches all accounts starting with 'Income'.
ledger -f my.ledger register Assets:Bank:Checking
Shows every deposit/withdrawal, date, payee, and running balance.
ledger -f my.ledger register Expenses:Food:Coffee
ledger -f my.ledger register Starbucks
Any posting with “Starbucks” in the description.
ledger -f my.ledger balance ^Expenses
Total expenses, broken down by sub-account.
ledger -f my.ledger register ^Expenses --monthly
Expenses, grouped by month.
ledger -f my.ledger register ^Expenses --period "2025/02"
All expenses in February 2025.
ledger -f my.ledger register Client\ A
Transactions with “Client A” in the description.
If you use tags in descriptions (like #education):
ledger -f my.ledger register '#education'
ledger -f my.ledger balance Expenses:Hardware Expenses:Software Expenses:Professional:Education
Add more accounts as needed for tax time!
ledger -f my.ledger balance ^Taxes
ledger -f my.ledger register
ledger -f my.ledger balance --depth 2
Only two levels deep, for a summarized view.
You can redirect output to a file:
ledger -f my.ledger balance > balances.txt
ledger -f my.ledger register Expenses:Software > software_spending.txt
ledger --help
ledger help balance
ledger help register
| Command | What it shows |
|---|---|
ledger balance | All account balances |
ledger balance Assets:Bank:Checking | Bank balance |
ledger balance Expenses:Food:Coffee | Coffee spending total |
ledger register Assets:Bank:Checking | Bank transaction history |
ledger register Starbucks | All Starbucks-related transactions |
ledger balance ^Expenses | All expenses by sub-account |
ledger register ^Expenses --monthly | Expenses by month |
ledger register --period "2025/02" | All Feb 2025 transactions |
You can:
--csv to export for spreadsheets.