id = "hledger" name = "hledger" homepage = "https://hledger.org" description = "hledger is friendly, fast, dependable, cross platform accounting software." executables = ["hledger"] [dotfiles] # The official manual documents both automatic user config locations. A # project hledger.conf is intentionally omitted because it is project data. # https://hledger.org/1.52/hledger.html#config-files paths = ["~/.hledger.conf", "~/.config/hledger/hledger.conf"] secret = [] [commands] format = 1 label = "hledger" description = "Run common hledger reports. Only balance is covered; other reports and data-entry commands are outside this form." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.subcommand]] path = ["balance"] label = "Balance report" description = "Show account balances, optionally per period, from one or more journal files." [[commands.subcommand.source]] id = "manual" kind = "manual" url = "https://hledger.org/hledger.html" evidence = """ -f --file=[FMT:]FILE Use this as the journal file (- means stdin). If -b --begin=DATE include postings/transactions on/after this date -e --end=DATE include postings/transactions before this date -D --daily set report interval: 1 day -W --weekly set report interval: 1 week -M --monthly set report interval: 1 month -Q --quarterly set report interval: 1 quarter -Y --yearly set report interval: 1 year -p --period=PERIODEXP set begin date, end date, and/or report interval, -E --empty Show zero items, which are normally hidden. --depth=DEPTHEXP if a number (or -NUM): show only top NUM levels -H --historical accumulation mode: accumulate amounts from -l --flat list/tree mode: show accounts as a flat list -t --tree list/tree mode: show accounts as a tree. Amounts --drop=N in list mode, omit N leading account name parts --declared include non-parent declared accounts (best used -A --average show a row average column (in multicolumn -T --row-total show a row total column (in multicolumn reports) --summary-only display only row summaries (e.g. row total, -N --no-total omit the final total row --full-names in tree mode, show full account names instead of --format=FORMATSTR use this custom line format (in simple reports) -S --sort-amount sort by amount instead of account code/name (in -r --related show the other accounts transacted with, instead """ [[commands.subcommand.field]] id = "query" label = "Query" description = "Account patterns or queries such as assets or date:2024." type = "string" position = 0 multiple = true sources = ["manual"] [[commands.subcommand.field]] id = "file" label = "Journal file" type = "path" option = ["--file", "-f"] multiple = true path = { kind = "file", role = "input" } sources = ["manual"] [[commands.subcommand.field]] id = "begin" label = "Begin date" type = "string" option = ["--begin", "-b"] sources = ["manual"] [[commands.subcommand.field]] id = "end" label = "End date" type = "string" option = ["--end", "-e"] sources = ["manual"] [[commands.subcommand.field]] id = "period" label = "Period expression" type = "string" option = ["--period", "-p"] sources = ["manual"] [[commands.subcommand.field]] id = "monthly" label = "Monthly columns" type = "boolean" option = ["--monthly", "-M"] sources = ["manual"] [[commands.subcommand.field]] id = "yearly" label = "Yearly columns" type = "boolean" option = ["--yearly", "-Y"] sources = ["manual"] [[commands.subcommand.field]] id = "tree" label = "Tree mode" type = "boolean" option = ["--tree", "-t"] sources = ["manual"] [[commands.subcommand.field]] id = "flat" label = "Flat mode" type = "boolean" option = ["--flat", "-l"] sources = ["manual"] [[commands.subcommand.field]] id = "depth" label = "Depth" type = "string" option = ["--depth"] sources = ["manual"] [[commands.subcommand.field]] id = "empty" label = "Show zero items" type = "boolean" option = ["--empty", "-E"] sources = ["manual"] [[commands.subcommand.field]] id = "no_total" label = "Omit total row" type = "boolean" option = ["--no-total", "-N"] sources = ["manual"] [[commands.subcommand.field]] id = "sort_amount" label = "Sort by amount" type = "boolean" option = ["--sort-amount", "-S"] sources = ["manual"] [[commands.subcommand.task]] id = "monthly" label = "Monthly balances" fields = ["query", "file", "monthly", "tree"] required = ["file"] set = { monthly = [true] } [[commands.subcommand.task]] id = "totals" label = "Current balances" fields = ["query", "file", "depth"] required = ["file"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["query", "file", "begin", "end", "period", "monthly", "yearly"] [[commands.subcommand.group]] id = "advanced" label = "Advanced" fields = ["tree", "flat", "depth", "empty", "no_total", "sort_amount"]