LinuxCommandLibrary

hledger-balancesheet

Display balance sheet report

TLDR

Show the current balances in Asset and Liability accounts, excluding zeros

$ hledger [[bs|balancesheet]]
copy

Show just the liquid assets (Cash account type)
$ hledger [[bs|balancesheet]] type:C
copy

Include accounts with zero balances, and show the account hierarchy
$ hledger [[bs|balancesheet]] [[-E|--empty]] [[-t|--tree]]
copy

Show the balances at the end of each month
$ hledger [[bs|balancesheet]] [[-M|--monthly]]
copy

Show the balances' market value in home currency at the end of each month
$ hledger [[bs|balancesheet]] [[-M|--monthly]] [[-V|--market]]
copy

Show quarterly balances, with just the top two levels of account hierarchy
$ hledger [[bs|balancesheet]] [[-Qt|--quarterly --tree]] [[-2|--depth 2]]
copy

Same as above above, and generate HTML output in bs.html
$ hledger [[bs|balancesheet]] [[-Qt|--quarterly --tree]] [[-2|--depth 2]] [[-o|--output-file]] bs.html
copy

SYNOPSIS

hledger-balancesheet [OPTIONS] [ACCTINGPATTERNS]

PARAMETERS

-f, --file FILE
    use this journal file (default: ~/.hledger.journal)

-b, --begin DATE
    start date (default: none)

-e, --end DATE
    end date (default: today or latest date)

--period SORTPERIOD
    report period (yearly|quarterly|monthly|weekly|daily)

--flat
    flatten tree, show leaf accounts only

--drop N
    omit accounts with N or fewer postings

--no-total
    omit grand total

--average
    show average balance instead of ending

--cumulative
    show cumulative balance

--historical
    include historical ending balances

-O, --output-format FORMAT
    output format (txt|csv|json|html)

--today
    use today's date (no postings after)

--real
    show only real accounts (no equity:opening)

--commodity
    show commodities column

[ACCTINGPATTERNS]
    regex patterns to match accounts

DESCRIPTION

hledger-balancesheet is a command in the hledger plain text accounting toolset. It produces a balance sheet report showing assets, liabilities, and net worth (equity) at a chosen date, providing a financial snapshot.

hledger reads double-entry transactions from journal files (plain text with dates, accounts, amounts). It computes ending balances for account hierarchies, displaying them in a tree format with subtotals. Assets appear positive at top, liabilities negative below, net worth as the difference.

Run it without arguments for the latest balance sheet from ~/.hledger.journal. Use date options for periods, queries to filter accounts (eg, "assets:checking"), and options for flat lists, averages, or CSV output. Supports multiple files, real/commodities, and historical pricing.

Perfect for personal finance tracking, budgeting reviews, or business reporting. Ensures data privacy (no databases), portability (text files git-friendly), and auditability. Integrates with hledger's ecosystem for income statements, cashflow, etc.

CAVEATS

Journals must use valid double-entry syntax; unpriced foreign currencies shown at cost basis unless priced. No automatic account classification—use account: prefixes like assets:, liabilities:. Requires hledger installed.

ACCOUNT TYPES

Assets if name begins assets: or similar; liabilities: liabilities: or equity:. Custom via account directives.

OUTPUT

Tree format by default; use --flat for list, -O csv for spreadsheets. Colors with ANSI term.

HISTORY

Part of hledger, started 2007 by Simon Michael as Haskell reimplementation of Ledger. Balance sheet ('bs') command added early (~2009), refined over releases for multi-commodity, queries, and web UI integration. Now at v1.33+.

SEE ALSO

hledger(1), hledger-balance(1), hledger-is(1), hledger-cf(1), hledger-trialbalance(1), ledger(1)

Copied to clipboard