Oliver Wolfson
ServicesProjectsContact

Development Services

SaaS apps · AI systems · MVP builds · Technical consulting

Services·Blog
© 2026 O. Wolf. All rights reserved.
Accounting
Ledger CLI: Practical Tutorial for Freelance Developers
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.
August 5, 2025•O. Wolfson

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.


1. Check Your Account Balances

See balances for all accounts:

ledger -f my.ledger balance

Shows how much you have/spent/owe in each account (summary view).


See just your bank account balance:

ledger -f my.ledger balance Assets:Bank:Checking

How much money is in your checking account.


See your total cash on hand:

ledger -f my.ledger balance Assets:Cash

Your physical cash balance.


2. Track Your Spending

Total spent on software:

ledger -f my.ledger balance Expenses:Software

Sum of all software/tool/service expenses.


Total spent on hardware:

ledger -f my.ledger balance Expenses:Hardware

Total spent on coffee:

ledger -f my.ledger balance Expenses:Food:Coffee

3. Income Overview

Total freelance income received:

ledger -f my.ledger balance Income:Freelance

How much you’ve earned from freelance work (will be negative, since income is a credit).


Total income from all sources:

ledger -f my.ledger balance ^Income

The caret (^) matches all accounts starting with 'Income'.


4. View Transaction History

Show a register (checkbook) for your bank account:

ledger -f my.ledger register Assets:Bank:Checking

Shows every deposit/withdrawal, date, payee, and running balance.


Show a register for a specific expense (e.g., coffee):

ledger -f my.ledger register Expenses:Food:Coffee

Show all transactions involving a specific keyword:

ledger -f my.ledger register Starbucks

Any posting with “Starbucks” in the description.


5. Budgeting and Reports by Category

Sum by top-level category (e.g., all Expenses):

ledger -f my.ledger balance ^Expenses

Total expenses, broken down by sub-account.


Monthly spending report:

ledger -f my.ledger register ^Expenses --monthly

Expenses, grouped by month.


6. Advanced Filtering

Spending in a specific period:

ledger -f my.ledger register ^Expenses --period "2025/02"

All expenses in February 2025.


Income for a specific client:

ledger -f my.ledger register Client\ A

Transactions with “Client A” in the description.


Filter by tag in description (e.g., #education):

If you use tags in descriptions (like #education):

ledger -f my.ledger register '#education'

7. Tax and Business Deductions

Sum of deductible expenses (e.g., hardware, software, education):

ledger -f my.ledger balance Expenses:Hardware Expenses:Software Expenses:Professional:Education

Add more accounts as needed for tax time!


Total paid in taxes:

ledger -f my.ledger balance ^Taxes

8. Miscellaneous

Show all transactions (chronologically):

ledger -f my.ledger register

Show only top-level account balances (condensed):

ledger -f my.ledger balance --depth 2

Only two levels deep, for a summarized view.


9. Export and Save Reports

You can redirect output to a file:

ledger -f my.ledger balance > balances.txt
ledger -f my.ledger register Expenses:Software > software_spending.txt

10. Help and Reference

ledger --help
ledger help balance
ledger help register

Summary Table

CommandWhat it shows
ledger balanceAll account balances
ledger balance Assets:Bank:CheckingBank balance
ledger balance Expenses:Food:CoffeeCoffee spending total
ledger register Assets:Bank:CheckingBank transaction history
ledger register StarbucksAll Starbucks-related transactions
ledger balance ^ExpensesAll expenses by sub-account
ledger register ^Expenses --monthlyExpenses by month
ledger register --period "2025/02"All Feb 2025 transactions

Want More?

You can:

  • Add tags in descriptions for finer tracking.
  • Use --csv to export for spreadsheets.
  • Combine filters for powerful queries.
Tags
#accounting#ledger#money