fix: doc: update manuals; regenerate all info manuals (fix #2023)

This commit is contained in:
Simon Michael 2023-04-06 14:13:35 -10:00
parent 270a92292f
commit 1c5dee2339
13 changed files with 3880 additions and 3767 deletions

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals" m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{March 2023}})m4_dnl m4_define({{_monthyear_}}, {{April 2023}})m4_dnl

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals" m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{March 2023}})m4_dnl m4_define({{_monthyear_}}, {{April 2023}})m4_dnl

View File

@ -1,5 +1,5 @@
.TH "HLEDGER-UI" "1" "March 2023" "hledger-ui-1.29.99 " "hledger User Manuals" .TH "HLEDGER-UI" "1" "April 2023" "hledger-ui-1.29.99 " "hledger User Manuals"

View File

@ -13,10 +13,10 @@ hledger-ui(1)
hledger-ui - robust, friendly plain text accounting (TUI version) hledger-ui - robust, friendly plain text accounting (TUI version)
hledger-ui [OPTIONS] [QUERYARGS] 'hledger-ui [OPTIONS] [QUERYARGS]'
hledger ui -- [OPTIONS] [QUERYARGS] 'hledger ui -- [OPTIONS] [QUERYARGS]'
This manual is for hledgers terminal interface, version 1.29.99. This manual is for hledger's terminal interface, version 1.29.99.
See also the hledger manual for common concepts and file formats. See also the hledger manual for common concepts and file formats.
hledger is a robust, user-friendly, cross-platform set of programs hledger is a robust, user-friendly, cross-platform set of programs
@ -25,21 +25,21 @@ accounting and a simple, editable file format. hledger is inspired by
and largely compatible with ledger(1), and largely interconvertible with and largely compatible with ledger(1), and largely interconvertible with
beancount(1). beancount(1).
hledger-ui is hledgers terminal interface, providing an efficient hledger-ui is hledger's terminal interface, providing an efficient
full-window text UI for viewing accounts and transactions, and some full-window text UI for viewing accounts and transactions, and some
limited data entry capability. It is easier than hledgers command-line limited data entry capability. It is easier than hledger's command-line
interface, and sometimes quicker and more convenient than the web interface, and sometimes quicker and more convenient than the web
interface. interface.
Like hledger, it reads data from one or more files in journal, Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format. The default file is timeclock, timedot, or CSV format. The default file is
.hledger.journal in your home directory; this can be overridden with '.hledger.journal' in your home directory; this can be overridden with
one or more -f FILE options, or the LEDGER_FILE environment one or more '-f FILE' options, or the 'LEDGER_FILE' environment
variable. For more about this see hledger(1), hledger_journal(5) etc. variable. For more about this see hledger(1), hledger_journal(5) etc.
Unlike hledger, hledger-ui hides all future-dated transactions by Unlike hledger, hledger-ui hides all future-dated transactions by
default. They can be revealed, along with any rule-generated periodic default. They can be revealed, along with any rule-generated periodic
transactions, by pressing the F key (or starting with forecast) to transactions, by pressing the F key (or starting with -forecast) to
enable "forecast mode". enable "forecast mode".
* Menu: * Menu:
@ -59,176 +59,176 @@ File: hledger-ui.info, Node: OPTIONS, Next: MOUSE, Prev: Top, Up: Top
1 OPTIONS 1 OPTIONS
********* *********
Note: if invoking hledger-ui as a hledger subcommand, write -- before Note: if invoking hledger-ui as a hledger subcommand, write '--' before
options as shown above. options as shown above.
Any QUERYARGS are interpreted as a hledger search query which filters Any QUERYARGS are interpreted as a hledger search query which filters
the data. the data.
-w --watch '-w --watch'
watch for data and date changes and reload automatically watch for data and date changes and reload automatically
--theme=default|terminal|greenterm '--theme=default|terminal|greenterm'
use this custom display theme use this custom display theme
--menu '--menu'
start in the menu screen start in the menu screen
--cash '--cash'
start in the cash accounts screen start in the cash accounts screen
--bs '--bs'
start in the balance sheet accounts screen start in the balance sheet accounts screen
--is '--is'
start in the income statement accounts screen start in the income statement accounts screen
--all '--all'
start in the all accounts screen start in the all accounts screen
--register=ACCTREGEX '--register=ACCTREGEX'
start in the (first) matched accounts register screen start in the (first) matched account's register screen
--change '--change'
show period balances (changes) at startup instead of historical show period balances (changes) at startup instead of historical
balances balances
-l --flat '-l --flat'
show accounts as a flat list (default) show accounts as a flat list (default)
-t --tree '-t --tree'
show accounts as a tree show accounts as a tree
hledger input options: hledger input options:
-f FILE --file=FILE '-f FILE --file=FILE'
use a different input file. For stdin, use - (default: use a different input file. For stdin, use - (default:
$LEDGER_FILE or $HOME/.hledger.journal) '$LEDGER_FILE' or '$HOME/.hledger.journal')
--rules-file=RULESFILE '--rules-file=RULESFILE'
Conversion rules file to use when reading CSV (default: FILE.rules) Conversion rules file to use when reading CSV (default: FILE.rules)
--separator=CHAR '--separator=CHAR'
Field separator to expect when reading CSV (default: ,) Field separator to expect when reading CSV (default: ',')
--alias=OLD=NEW '--alias=OLD=NEW'
rename accounts named OLD to NEW rename accounts named OLD to NEW
--anon '--anon'
anonymize accounts and payees anonymize accounts and payees
--pivot FIELDNAME '--pivot FIELDNAME'
use some other field or tag for the account name use some other field or tag for the account name
-I --ignore-assertions '-I --ignore-assertions'
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
-s --strict '-s --strict'
do extra error checking (check that all posted accounts are do extra error checking (check that all posted accounts are
declared) declared)
hledger reporting options: hledger reporting options:
-b --begin=DATE '-b --begin=DATE'
include postings/txns on or after this date (will be adjusted to include postings/txns on or after this date (will be adjusted to
preceding subperiod start when using a report interval) preceding subperiod start when using a report interval)
-e --end=DATE '-e --end=DATE'
include postings/txns before this date (will be adjusted to include postings/txns before this date (will be adjusted to
following subperiod end when using a report interval) following subperiod end when using a report interval)
-D --daily '-D --daily'
multiperiod/multicolumn report by day multiperiod/multicolumn report by day
-W --weekly '-W --weekly'
multiperiod/multicolumn report by week multiperiod/multicolumn report by week
-M --monthly '-M --monthly'
multiperiod/multicolumn report by month multiperiod/multicolumn report by month
-Q --quarterly '-Q --quarterly'
multiperiod/multicolumn report by quarter multiperiod/multicolumn report by quarter
-Y --yearly '-Y --yearly'
multiperiod/multicolumn report by year multiperiod/multicolumn report by year
-p --period=PERIODEXP '-p --period=PERIODEXP'
set start date, end date, and/or reporting interval all at once set start date, end date, and/or reporting interval all at once
using period expressions syntax using period expressions syntax
--date2 '--date2'
match the secondary date instead (see command help for other match the secondary date instead (see command help for other
effects) effects)
--today=DATE '--today=DATE'
override todays date (affects relative smart dates, for override today's date (affects relative smart dates, for
tests/examples) tests/examples)
-U --unmarked '-U --unmarked'
include only unmarked postings/txns (can combine with -P or -C) include only unmarked postings/txns (can combine with -P or -C)
-P --pending '-P --pending'
include only pending postings/txns include only pending postings/txns
-C --cleared '-C --cleared'
include only cleared postings/txns include only cleared postings/txns
-R --real '-R --real'
include only non-virtual postings include only non-virtual postings
-NUM --depth=NUM '-NUM --depth=NUM'
hide/aggregate accounts or postings more than NUM levels deep hide/aggregate accounts or postings more than NUM levels deep
-E --empty '-E --empty'
show items with zero amount, normally hidden (and vice-versa in show items with zero amount, normally hidden (and vice-versa in
hledger-ui/hledger-web) hledger-ui/hledger-web)
-B --cost '-B --cost'
convert amounts to their cost/selling amount at transaction time convert amounts to their cost/selling amount at transaction time
-V --market '-V --market'
convert amounts to their market value in default valuation convert amounts to their market value in default valuation
commodities commodities
-X --exchange=COMM '-X --exchange=COMM'
convert amounts to their market value in commodity COMM convert amounts to their market value in commodity COMM
--value '--value'
convert amounts to cost or market value, more flexibly than convert amounts to cost or market value, more flexibly than
-B/-V/-X -B/-V/-X
--infer-market-prices '--infer-market-prices'
use transaction prices (recorded with @ or @@) as additional market use transaction prices (recorded with @ or @@) as additional market
prices, as if they were P directives prices, as if they were P directives
--auto '--auto'
apply automated posting rules to modify transactions. apply automated posting rules to modify transactions.
--forecast '--forecast'
generate future transactions from periodic transaction rules, for generate future transactions from periodic transaction rules, for
the next 6 months or till report end date. In hledger-ui, also the next 6 months or till report end date. In hledger-ui, also
make ordinary future transactions visible. make ordinary future transactions visible.
--commodity-style '--commodity-style'
Override the commodity style in the output for the specified Override the commodity style in the output for the specified
commodity. For example EUR1.000,00. commodity. For example 'EUR1.000,00'.
--color=WHEN (or --colour=WHEN) '--color=WHEN (or --colour=WHEN)'
Should color-supporting commands use ANSI color codes in text Should color-supporting commands use ANSI color codes in text
output. auto (default): whenever stdout seems to be a output. 'auto' (default): whenever stdout seems to be a
color-supporting terminal. always or yes: always, useful eg color-supporting terminal. 'always' or 'yes': always, useful eg
when piping output into less -R. never or no: never. A when piping output into 'less -R'. 'never' or 'no': never. A
NO_COLOR environment variable overrides this. NO_COLOR environment variable overrides this.
--pretty[=WHEN] '--pretty[=WHEN]'
Show prettier output, e.g. using unicode box-drawing characters. Show prettier output, e.g. using unicode box-drawing characters.
Accepts yes (the default) or no (y, n, always, never Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', 'never'
also work). If you provide an argument you must use =, e.g. also work). If you provide an argument you must use '=', e.g.
pretty=yes. '-pretty=yes'.
When a reporting option appears more than once in the command line, When a reporting option appears more than once in the command line,
the last one takes precedence. the last one takes precedence.
@ -237,25 +237,25 @@ the last one takes precedence.
hledger help options: hledger help options:
-h --help '-h --help'
show general or COMMAND help show general or COMMAND help
--man '--man'
show general or COMMAND user manual with man show general or COMMAND user manual with man
--info '--info'
show general or COMMAND user manual with info show general or COMMAND user manual with info
--version '--version'
show general or ADDONCMD version show general or ADDONCMD version
--debug[=N] '--debug[=N]'
show debug output (levels 1-9, default: 1) show debug output (levels 1-9, default: 1)
A @FILE argument will be expanded to the contents of FILE, which A @FILE argument will be expanded to the contents of FILE, which
should contain one command line option/argument per line. (To prevent should contain one command line option/argument per line. (To prevent
this, insert a -- argument before.) this, insert a '--' argument before.)
 
File: hledger-ui.info, Node: MOUSE, Next: KEYS, Prev: OPTIONS, Up: Top File: hledger-ui.info, Node: MOUSE, Next: KEYS, Prev: OPTIONS, Up: Top
@ -266,9 +266,9 @@ File: hledger-ui.info, Node: MOUSE, Next: KEYS, Prev: OPTIONS, Up: Top
In most modern terminals, you can navigate through the screens with a In most modern terminals, you can navigate through the screens with a
mouse or touchpad: mouse or touchpad:
Use mouse wheel or trackpad to scroll up and down * Use mouse wheel or trackpad to scroll up and down
Click on list items to go deeper * Click on list items to go deeper
Click on the left margin (column 0) to go back. * Click on the left margin (column 0) to go back.
 
File: hledger-ui.info, Node: KEYS, Next: SCREENS, Prev: MOUSE, Up: Top File: hledger-ui.info, Node: KEYS, Next: SCREENS, Prev: MOUSE, Up: Top
@ -278,96 +278,96 @@ File: hledger-ui.info, Node: KEYS, Next: SCREENS, Prev: MOUSE, Up: Top
Keyboard gives more control. Keyboard gives more control.
? shows a help dialog listing all keys. (Some of these also appear '?' shows a help dialog listing all keys. (Some of these also appear
in the quick help at the bottom of each screen.) Press ? again (or in the quick help at the bottom of each screen.) Press '?' again (or
ESCAPE, or LEFT, or q) to close it. The following keys work on 'ESCAPE', or 'LEFT', or 'q') to close it. The following keys work on
most screens: most screens:
The cursor keys navigate: RIGHT or ENTER goes deeper, LEFT The cursor keys navigate: 'RIGHT' or 'ENTER' goes deeper, 'LEFT'
returns to the previous screen, UP/DOWN/PGUP/PGDN/HOME/END returns to the previous screen, 'UP'/'DOWN'/'PGUP'/'PGDN'/'HOME'/'END'
move up and down through lists. Emacs-style move up and down through lists. Emacs-style
(CTRL-p/CTRL-n/CTRL-f/CTRL-b) and VI-style (k,j,l,h) ('CTRL-p'/'CTRL-n'/'CTRL-f'/'CTRL-b') and VI-style ('k','j','l','h')
movement keys are also supported. A tip: movement speed is limited by movement keys are also supported. A tip: movement speed is limited by
your keyboard repeat rate, to move faster you may want to adjust it. your keyboard repeat rate, to move faster you may want to adjust it.
(If youre on a mac, the karabiner app is one way to do that.) (If you're on a mac, the karabiner app is one way to do that.)
With shift pressed, the cursor keys adjust the report period, With shift pressed, the cursor keys adjust the report period,
limiting the transactions to be shown (by default, all are shown). limiting the transactions to be shown (by default, all are shown).
SHIFT-DOWN/UP steps downward and upward through these standard report 'SHIFT-DOWN/UP' steps downward and upward through these standard report
period durations: year, quarter, month, week, day. Then, period durations: year, quarter, month, week, day. Then,
SHIFT-LEFT/RIGHT moves to the previous/next period. T sets the 'SHIFT-LEFT/RIGHT' moves to the previous/next period. 'T' sets the
report period to today. With the -w/--watch option, when viewing a report period to today. With the '-w/--watch' option, when viewing a
"current" period (the current day, week, month, quarter, or year), the "current" period (the current day, week, month, quarter, or year), the
period will move automatically to track the current date. To set a period will move automatically to track the current date. To set a
non-standard period, you can use / and a date: query. non-standard period, you can use '/' and a 'date:' query.
(Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as (Mac users: SHIFT-DOWN/UP keys do not work by default in Terminal, as
of MacOS Monterey. You can configure them as follows: open Terminal, of MacOS Monterey. You can configure them as follows: open Terminal,
press CMD-comma to open preferences, click Profiles, select your current press CMD-comma to open preferences, click Profiles, select your current
terminal profile on the left, click Keyboard on the right, click + and terminal profile on the left, click Keyboard on the right, click + and
add this for Shift-Down: \033[1;2B, click + and add this for Shift-Up: add this for Shift-Down: '\033[1;2B', click + and add this for Shift-Up:
\033[1;2A. Press the Escape key to enter the \033 part, you cant '\033[1;2A'. Press the Escape key to enter the '\033' part, you can't
type it directly.) type it directly.)
/ lets you set a general filter query limiting the data shown, '/' lets you set a general filter query limiting the data shown,
using the same query terms as in hledger and hledger-web. While editing using the same query terms as in hledger and hledger-web. While editing
the query, you can use CTRL-a/e/d/k, BS, cursor keys; press ENTER to the query, you can use CTRL-a/e/d/k, BS, cursor keys; press 'ENTER' to
set it, or ESCAPEto cancel. There are also keys for quickly adjusting set it, or 'ESCAPE'to cancel. There are also keys for quickly adjusting
some common filters like account depth and transaction status (see some common filters like account depth and transaction status (see
below). BACKSPACE or DELETE removes all filters, showing all below). 'BACKSPACE' or 'DELETE' removes all filters, showing all
transactions. transactions.
As mentioned above, by default hledger-ui hides future transactions - As mentioned above, by default hledger-ui hides future transactions -
both ordinary transactions recorded in the journal, and periodic both ordinary transactions recorded in the journal, and periodic
transactions generated by rule. F toggles forecast mode, in which transactions generated by rule. 'F' toggles forecast mode, in which
future/forecasted transactions are shown. future/forecasted transactions are shown.
ESCAPE resets the UI state and jumps back to the top screen, 'ESCAPE' resets the UI state and jumps back to the top screen,
restoring the apps initial state at startup. Or, it cancels minibuffer restoring the app's initial state at startup. Or, it cancels minibuffer
data entry or the help dialog. data entry or the help dialog.
CTRL-l redraws the screen and centers the selection if possible 'CTRL-l' redraws the screen and centers the selection if possible
(selections near the top wont be centered, since we dont scroll above (selections near the top won't be centered, since we don't scroll above
the top). the top).
g reloads from the data file(s) and updates the current screen and 'g' reloads from the data file(s) and updates the current screen and
any previous screens. (With large files, this could cause a noticeable any previous screens. (With large files, this could cause a noticeable
pause.) pause.)
I toggles balance assertion checking. Disabling balance assertions 'I' toggles balance assertion checking. Disabling balance assertions
temporarily can be useful for troubleshooting. temporarily can be useful for troubleshooting.
a runs command-line hledgers add command, and reloads the updated 'a' runs command-line hledger's add command, and reloads the updated
file. This allows some basic data entry. file. This allows some basic data entry.
A is like a, but runs the hledger-iadd tool, which provides a 'A' is like 'a', but runs the hledger-iadd tool, which provides a
terminal interface. This key will be available if hledger-iadd is terminal interface. This key will be available if 'hledger-iadd' is
installed in $path. installed in $path.
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient 'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient
-a "" -nw) on the journal file. With some editors (emacs, vi), the -a "" -nw') on the journal file. With some editors (emacs, vi), the
cursor will be positioned at the current transaction when invoked from cursor will be positioned at the current transaction when invoked from
the register and transaction screens, and at the error location (if the register and transaction screens, and at the error location (if
possible) when invoked from the error screen. possible) when invoked from the error screen.
B toggles cost mode, showing amounts in their costs commodity 'B' toggles cost mode, showing amounts in their cost's commodity
(like toggling the -B/--cost flag). (like toggling the '-B/--cost' flag).
V toggles value mode, showing amounts current market value in 'V' toggles value mode, showing amounts' current market value in
their default valuation commodity (like toggling the -V/--market their default valuation commodity (like toggling the '-V/--market'
flag). Note, "current market value" means the value on the report end flag). Note, "current market value" means the value on the report end
date if specified, otherwise today. To see the value on another date, date if specified, otherwise today. To see the value on another date,
you can temporarily set that as the report end date. Eg: to see a you can temporarily set that as the report end date. Eg: to see a
transaction as it was valued on july 30, go to the accounts or register transaction as it was valued on july 30, go to the accounts or register
screen, press /, and add date:-7/30 to the query. screen, press '/', and add 'date:-7/30' to the query.
At most one of cost or value mode can be active at once. At most one of cost or value mode can be active at once.
Theres not yet any visual reminder when cost or value mode is There's not yet any visual reminder when cost or value mode is
active; for now pressing b b v should reliably reset to normal active; for now pressing 'b' 'b' 'v' should reliably reset to normal
mode. mode.
q quits the application. 'q' quits the application.
Additional screen-specific keys are described below. Additional screen-specific keys are described below.
@ -378,13 +378,13 @@ File: hledger-ui.info, Node: SCREENS, Next: TIPS, Prev: KEYS, Up: Top
********* *********
At startup, hledger-ui shows a menu screen by default. From here you At startup, hledger-ui shows a menu screen by default. From here you
can navigate to other screens using the cursor keys: UP/DOWN to can navigate to other screens using the cursor keys: 'UP'/'DOWN' to
select, RIGHT to move to the selected screen, LEFT to return to the select, 'RIGHT' to move to the selected screen, 'LEFT' to return to the
previous screen. Or you can use ESC to return directly to the top previous screen. Or you can use 'ESC' to return directly to the top
menu screen. menu screen.
You can also use a command line flag to specific a different startup You can also use a command line flag to specific a different startup
screen (--cs, --bs, --is, --all, or --register=ACCT). screen ('--cs', '--bs', '--is', '--all', or '--register=ACCT').
* Menu: * Menu:
@ -413,8 +413,8 @@ File: hledger-ui.info, Node: Cash accounts, Next: Balance sheet accounts, Pre
4.2 Cash accounts 4.2 Cash accounts
================= =================
This screen shows "cash" (ie, liquid asset) accounts (like hledger This screen shows "cash" (ie, liquid asset) accounts (like 'hledger
balancesheet type:c). It always shows balances (historical ending balancesheet type:c'). It always shows balances (historical ending
balances on the date shown in the title line). balances on the date shown in the title line).
 
@ -423,8 +423,8 @@ File: hledger-ui.info, Node: Balance sheet accounts, Next: Income statement ac
4.3 Balance sheet accounts 4.3 Balance sheet accounts
========================== ==========================
This screen shows asset, liability and equity accounts (like hledger This screen shows asset, liability and equity accounts (like 'hledger
balancesheetequity). It always shows balances. balancesheetequity'). It always shows balances.
 
File: hledger-ui.info, Node: Income statement accounts, Next: All accounts, Prev: Balance sheet accounts, Up: SCREENS File: hledger-ui.info, Node: Income statement accounts, Next: All accounts, Prev: Balance sheet accounts, Up: SCREENS
@ -432,8 +432,8 @@ File: hledger-ui.info, Node: Income statement accounts, Next: All accounts, P
4.4 Income statement accounts 4.4 Income statement accounts
============================= =============================
This screen shows revenue and expense accounts (like hledger This screen shows revenue and expense accounts (like 'hledger
incomestatement). It always shows changes (balance changes in the incomestatement'). It always shows changes (balance changes in the
period shown in the title line). period shown in the title line).
 
@ -443,8 +443,8 @@ File: hledger-ui.info, Node: All accounts, Next: Register, Prev: Income state
================ ================
This screen shows all accounts in your journal (unless filtered by a This screen shows all accounts in your journal (unless filtered by a
query; like hledger balance). It shows balances by default; you can query; like 'hledger balance'). It shows balances by default; you can
toggle showing changes with the H key. toggle showing changes with the 'H' key.
 
File: hledger-ui.info, Node: Register, Next: Transaction, Prev: All accounts, Up: SCREENS File: hledger-ui.info, Node: Register, Next: Transaction, Prev: All accounts, Up: SCREENS
@ -455,45 +455,45 @@ File: hledger-ui.info, Node: Register, Next: Transaction, Prev: All accounts,
This screen shows the transactions affecting a particular account. Each This screen shows the transactions affecting a particular account. Each
line represents one transaction, and shows: line represents one transaction, and shows:
the other account(s) involved, in abbreviated form. (If there are * the other account(s) involved, in abbreviated form. (If there are
both real and virtual postings, it shows only the accounts affected both real and virtual postings, it shows only the accounts affected
by real postings.) by real postings.)
• the overall change to the current accounts balance; positive for * the overall change to the current account's balance; positive for
an inflow to this account, negative for an outflow. an inflow to this account, negative for an outflow.
• the running total after the transaction. With the H key you can * the running total after the transaction. With the 'H' key you can
toggle between toggle between
the period total, which is from just the transactions * the period total, which is from just the transactions
displayed displayed
or the historical total, which includes any undisplayed * or the historical total, which includes any undisplayed
transactions before the start of the report period (and transactions before the start of the report period (and
matching the filter query if any). This will be the running matching the filter query if any). This will be the running
historical balance (what you would see on a banks website, historical balance (what you would see on a bank's website,
eg) if not disturbed by a query. eg) if not disturbed by a query.
Transactions affecting this accounts subaccounts will be included in Transactions affecting this account's subaccounts will be included in
the register if the accounts screen is in tree mode, or if its in list the register if the accounts screen is in tree mode, or if it's in list
mode but this account has subaccounts which are not shown due to a depth mode but this account has subaccounts which are not shown due to a depth
limit. In other words, the register always shows the transactions limit. In other words, the register always shows the transactions
contributing to the balance shown on the accounts screen. Tree contributing to the balance shown on the accounts screen. Tree
mode/list mode can be toggled with t here also. mode/list mode can be toggled with 't' here also.
U toggles filtering by unmarked status, showing or hiding unmarked 'U' toggles filtering by unmarked status, showing or hiding unmarked
transactions. Similarly, P toggles pending transactions, and C transactions. Similarly, 'P' toggles pending transactions, and 'C'
toggles cleared transactions. (By default, transactions with all toggles cleared transactions. (By default, transactions with all
statuses are shown; if you activate one or two status filters, only statuses are shown; if you activate one or two status filters, only
those transactions are shown; and if you activate all three, the filter those transactions are shown; and if you activate all three, the filter
is removed.) is removed.)
R toggles real mode, in which virtual postings are ignored. 'R' toggles real mode, in which virtual postings are ignored.
z toggles nonzero mode, in which only transactions posting a 'z' toggles nonzero mode, in which only transactions posting a
nonzero change are shown (hledger-ui shows zero items by default, unlike nonzero change are shown (hledger-ui shows zero items by default, unlike
command-line hledger). command-line hledger).
Press RIGHT to view the selected transaction in detail. Press 'RIGHT' to view the selected transaction in detail.
 
File: hledger-ui.info, Node: Transaction, Next: Error, Prev: Register, Up: SCREENS File: hledger-ui.info, Node: Transaction, Next: Error, Prev: Register, Up: SCREENS
@ -502,32 +502,32 @@ File: hledger-ui.info, Node: Transaction, Next: Error, Prev: Register, Up: S
=============== ===============
This screen shows a single transaction, as a general journal entry, This screen shows a single transaction, as a general journal entry,
similar to hledgers print command and journal format similar to hledger's print command and journal format
(hledger_journal(5)). (hledger_journal(5)).
The transactions date(s) and any cleared flag, transaction code, The transaction's date(s) and any cleared flag, transaction code,
description, comments, along with all of its account postings are shown. description, comments, along with all of its account postings are shown.
Simple transactions have two postings, but there can be more (or in Simple transactions have two postings, but there can be more (or in
certain cases, fewer). certain cases, fewer).
UP and DOWN will step through all transactions listed in the 'UP' and 'DOWN' will step through all transactions listed in the
previous account register screen. In the title bar, the numbers in previous account register screen. In the title bar, the numbers in
parentheses show your position within that account register. They will parentheses show your position within that account register. They will
vary depending on which account register you came from (remember most vary depending on which account register you came from (remember most
transactions appear in multiple account registers). The #N number transactions appear in multiple account registers). The #N number
preceding them is the transactions position within the complete preceding them is the transaction's position within the complete
unfiltered journal, which is a more stable id (at least until the next unfiltered journal, which is a more stable id (at least until the next
reload). reload).
On this screen (and the register screen), the E key will open your On this screen (and the register screen), the 'E' key will open your
text editor with the cursor positioned at the current transaction if text editor with the cursor positioned at the current transaction if
possible. possible.
This screen has a limitation with showing file updates: it will not This screen has a limitation with showing file updates: it will not
show them until you exit and re-enter it. So eg to see the effect of show them until you exit and re-enter it. So eg to see the effect of
using the E key, currently you must: - press E, edit and save the using the 'E' key, currently you must: - press 'E', edit and save the
file, then exit the editor, returning to hledger-ui - press g to file, then exit the editor, returning to hledger-ui - press 'g' to
reload the file (or use -w/--watch mode) - press LEFT then RIGHT reload the file (or use '-w/--watch' mode) - press 'LEFT' then 'RIGHT'
to exit and re-enter the transaction screen. to exit and re-enter the transaction screen.
 
@ -558,12 +558,12 @@ File: hledger-ui.info, Node: Watch mode, Next: Debug output, Up: TIPS
5.1 Watch mode 5.1 Watch mode
============== ==============
One of hledger-uis best features is the auto-reloading -w/--watch One of hledger-ui's best features is the auto-reloading '-w/--watch'
mode. With this flag, it will update the display automatically whenever mode. With this flag, it will update the display automatically whenever
changes are saved to the data files. changes are saved to the data files.
This is very useful when reconciling. A good workflow is to have This is very useful when reconciling. A good workflow is to have
your banks online register open in a browser window, for reference; the your bank's online register open in a browser window, for reference; the
journal file open in an editor window; and hledger-ui in watch mode in a journal file open in an editor window; and hledger-ui in watch mode in a
terminal window, eg: terminal window, eg:
@ -578,16 +578,16 @@ history.
Here are some current limitations to be aware of: Here are some current limitations to be aware of:
Changes might not be detected with certain editors, possibly Changes might not be detected with certain editors, possibly
including Jetbrains IDEs, gedit, other Gnome applications; or on including Jetbrains IDEs, 'gedit', other Gnome applications; or on
certain unusual filesystems. (#1617, #911). To work around, reload certain unusual filesystems. (#1617, #911). To work around, reload
manually by pressing g in the hledger-ui window. (Or see #1617 for manually by pressing 'g' in the hledger-ui window. (Or see #1617 for
another workaround, and let us know if it works for you.) another workaround, and let us know if it works for you.)
CPU and memory usage can sometimes gradually increase, if hledger-ui CPU and memory usage can sometimes gradually increase, if 'hledger-ui
--watch is left running for days. (Possibly correlated with certain --watch' is left running for days. (Possibly correlated with certain
platforms, many transactions, and/or large numbers of other files platforms, many transactions, and/or large numbers of other files
present). To work around, quit and restart it, or (where supported) present). To work around, 'q'uit and restart it, or (where supported)
suspend (CTRL-z) and restart it (fg). suspend ('CTRL-z') and restart it ('fg').
 
File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS
@ -595,8 +595,8 @@ File: hledger-ui.info, Node: Debug output, Prev: Watch mode, Up: TIPS
5.2 Debug output 5.2 Debug output
================ ================
You can add --debug[=N] to the command line to log debug output. This You can add '--debug[=N]' to the command line to log debug output. This
will be logged to the file hledger-ui.log in the current directory. N will be logged to the file 'hledger-ui.log' in the current directory. N
ranges from 1 (least output, the default) to 9 (maximum output). ranges from 1 (least output, the default) to 9 (maximum output).
 
@ -607,33 +607,33 @@ File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: TIPS, Up: Top
*COLUMNS* The screen width to use. Default: the full terminal width. *COLUMNS* The screen width to use. Default: the full terminal width.
*LEDGER_FILE* The journal file path when not specified with -f. *LEDGER_FILE* The journal file path when not specified with '-f'.
On unix computers, the default value is: ~/.hledger.journal. On unix computers, the default value is: '~/.hledger.journal'.
A more typical value is something like ~/finance/YYYY.journal, A more typical value is something like '~/finance/YYYY.journal',
where ~/finance is a version-controlled finance directory and YYYY is where '~/finance' is a version-controlled finance directory and YYYY is
the current year. Or, ~/finance/current.journal, where the current year. Or, '~/finance/current.journal', where
current.journal is a symbolic link to YYYY.journal. current.journal is a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of The usual way to set this permanently is to add a command to one of
your shells startup files (eg ~/.profile): your shell's startup files (eg '~/.profile'):
export LEDGER_FILE=~/finance/current.journal` export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set On some Mac computers, there is a more thorough way to set
environment variables, that will also affect applications started from environment variables, that will also affect applications started from
the GUI (eg, Emacs started from a dock icon): In the GUI (eg, Emacs started from a dock icon): In
~/.MacOSX/environment.plist, add an entry like: '~/.MacOSX/environment.plist', add an entry like:
{ {
"LEDGER_FILE" : "~/finance/current.journal" "LEDGER_FILE" : "~/finance/current.journal"
} }
For this to take effect you might need to killall Dock, or reboot. For this to take effect you might need to 'killall Dock', or reboot.
On Windows computers, the default value is probably On Windows computers, the default value is probably
C:\Users\YOURNAME\.hledger.journal. You can change this by running a 'C:\Users\YOURNAME\.hledger.journal'. You can change this by running a
command like this in a powershell window (let us know if you need to be command like this in a powershell window (let us know if you need to be
an Administrator, and if this persists across a reboot): an Administrator, and if this persists across a reboot):
@ -649,9 +649,9 @@ File: hledger-ui.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top
******* *******
Reads data from one or more files in journal, timeclock, timedot, or CSV Reads data from one or more files in journal, timeclock, timedot, or CSV
format. The default file is .hledger.journal in your home directory; format. The default file is '.hledger.journal' in your home directory;
this can be overridden with one or more -f FILE options, or the this can be overridden with one or more '-f FILE' options, or the
LEDGER_FILE environment variable. 'LEDGER_FILE' environment variable.
 
File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top
@ -659,15 +659,15 @@ File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top
8 BUGS 8 BUGS
****** ******
-f- doesnt work (hledger-ui cant read from stdin). '-f-' doesn't work (hledger-ui can't read from stdin).
-V affects only the accounts screen. '-V' affects only the accounts screen.
When you press g, the current and all previous screens are When you press 'g', the current and all previous screens are
regenerated, which may cause a noticeable pause with large files. Also regenerated, which may cause a noticeable pause with large files. Also
there is no visual indication that this is in progress. there is no visual indication that this is in progress.
--watch is not yet fully robust. It works well for normal usage, '--watch' is not yet fully robust. It works well for normal usage,
but many file changes in a short time (eg saving the file thousands of but many file changes in a short time (eg saving the file thousands of
times with an editor macro) can cause problems at least on OSX. Symptoms times with an editor macro) can cause problems at least on OSX. Symptoms
include: unresponsive UI, periodic resetting of the cursor position, include: unresponsive UI, periodic resetting of the cursor position,
@ -676,47 +676,47 @@ and possibly a small but persistent build-up of CPU usage until the
program is restarted. program is restarted.
Also, if you are viewing files mounted from another machine, Also, if you are viewing files mounted from another machine,
-w/--watch requires that both machine clocks are roughly in step. '-w/--watch' requires that both machine clocks are roughly in step.
 
Tag Table: Tag Table:
Node: Top223 Node: Top223
Node: OPTIONS1871 Node: OPTIONS1843
Ref: #options1969 Ref: #options1941
Node: MOUSE7389 Node: MOUSE7074
Ref: #mouse7484 Ref: #mouse7169
Node: KEYS7727 Node: KEYS7406
Ref: #keys7820 Ref: #keys7499
Node: SCREENS12579 Node: SCREENS12012
Ref: #screens12677 Ref: #screens12110
Node: Menu13297 Node: Menu12690
Ref: #menu13390 Ref: #menu12783
Node: Cash accounts13585 Node: Cash accounts12978
Ref: #cash-accounts13727 Ref: #cash-accounts13120
Node: Balance sheet accounts13915 Node: Balance sheet accounts13304
Ref: #balance-sheet-accounts14096 Ref: #balance-sheet-accounts13485
Node: Income statement accounts14220 Node: Income statement accounts13605
Ref: #income-statement-accounts14406 Ref: #income-statement-accounts13791
Node: All accounts14574 Node: All accounts13955
Ref: #all-accounts14720 Ref: #all-accounts14101
Node: Register14910 Node: Register14283
Ref: #register15034 Ref: #register14407
Node: Transaction17046 Node: Transaction16369
Ref: #transaction17169 Ref: #transaction16492
Node: Error18628 Node: Error17909
Ref: #error18722 Ref: #error18003
Node: TIPS18966 Node: TIPS18247
Ref: #tips19065 Ref: #tips18346
Node: Watch mode19107 Node: Watch mode18388
Ref: #watch-mode19214 Ref: #watch-mode18495
Node: Debug output20702 Node: Debug output19951
Ref: #debug-output20813 Ref: #debug-output20062
Node: ENVIRONMENT21033 Node: ENVIRONMENT20274
Ref: #environment21144 Ref: #environment20385
Node: FILES22567 Node: FILES21770
Ref: #files22666 Ref: #files21869
Node: BUGS22926 Node: BUGS22117
Ref: #bugs23003 Ref: #bugs22194
 
End Tag Table End Tag Table

View File

@ -566,4 +566,4 @@ SEE ALSO
hledger-ui-1.29.99 March 2023 HLEDGER-UI(1) hledger-ui-1.29.99 April 2023 HLEDGER-UI(1)

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals" m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{March 2023}})m4_dnl m4_define({{_monthyear_}}, {{April 2023}})m4_dnl

View File

@ -1,5 +1,5 @@
.TH "HLEDGER-WEB" "1" "March 2023" "hledger-web-1.29.99 " "hledger User Manuals" .TH "HLEDGER-WEB" "1" "April 2023" "hledger-web-1.29.99 " "hledger User Manuals"

View File

@ -13,12 +13,12 @@ hledger-web(1)
hledger-web - robust, friendly plain text accounting (Web version) hledger-web - robust, friendly plain text accounting (Web version)
hledger-web [OPTIONS] # run temporarily & browse 'hledger-web [OPTIONS] # run temporarily & browse'
hledger-web --serve [OPTIONS] # run without stopping 'hledger-web --serve [OPTIONS] # run without stopping'
hledger-web --serve-api [OPTIONS] # run JSON server only 'hledger-web --serve-api [OPTIONS] # run JSON server only'
hledger web -- [OPTIONS] [QUERYARGS] # start from hledger 'hledger web -- [OPTIONS] [QUERYARGS]' # start from hledger
This manual is for hledgers web interface, version 1.29.99. See This manual is for hledger's web interface, version 1.29.99. See
also the hledger manual for common concepts and file formats. also the hledger manual for common concepts and file formats.
hledger is a robust, user-friendly, cross-platform set of programs hledger is a robust, user-friendly, cross-platform set of programs
@ -41,21 +41,21 @@ numbered backup of the main journal file (only) on every edit.
Like hledger, it reads data from one or more files in journal, Like hledger, it reads data from one or more files in journal,
timeclock, timedot, or CSV format. The default file is timeclock, timedot, or CSV format. The default file is
.hledger.journal in your home directory; this can be overridden with '.hledger.journal' in your home directory; this can be overridden with
one or more -f FILE options, or the LEDGER_FILE environment one or more '-f FILE' options, or the 'LEDGER_FILE' environment
variable. For more about this see hledger(1). variable. For more about this see hledger(1).
hledger-web can be run in three modes: hledger-web can be run in three modes:
Transient mode (the default): your default web browser will be * Transient mode (the default): your default web browser will be
opened to show the app if possible, and the app exits automatically opened to show the app if possible, and the app exits automatically
after two minutes of inactivity (no requests received and no open after two minutes of inactivity (no requests received and no open
browser windows viewing it). browser windows viewing it).
• With --serve: the app runs without stopping, and without opening * With '--serve': the app runs without stopping, and without opening
a browser. a browser.
• With --serve-api: only the JSON API is served. * With '--serve-api': only the JSON API is served.
In all cases hledger-web runs as a foreground process, logging In all cases hledger-web runs as a foreground process, logging
requests to stdout. requests to stdout.
@ -82,180 +82,180 @@ Command-line options and arguments may be used to set an initial filter
on the data. These filter options are not shown in the web UI, but it on the data. These filter options are not shown in the web UI, but it
will be applied in addition to any search query entered there. will be applied in addition to any search query entered there.
Note: if invoking hledger-web as a hledger subcommand, write -- Note: if invoking hledger-web as a hledger subcommand, write '--'
before options, as shown in the synopsis above. before options, as shown in the synopsis above.
--serve '--serve'
serve and log requests, dont browse or auto-exit after timeout serve and log requests, don't browse or auto-exit after timeout
--serve-api '--serve-api'
like serve, but serve only the JSON web API, without the like -serve, but serve only the JSON web API, without the
server-side web UI server-side web UI
--host=IPADDR '--host=IPADDR'
listen on this IP address (default: 127.0.0.1) listen on this IP address (default: 127.0.0.1)
--port=PORT '--port=PORT'
listen on this TCP port (default: 5000) listen on this TCP port (default: 5000)
--socket=SOCKETFILE '--socket=SOCKETFILE'
use a unix domain socket file to listen for requests instead of a use a unix domain socket file to listen for requests instead of a
TCP socket. Implies --serve. It can only be used if the TCP socket. Implies '--serve'. It can only be used if the
operating system can provide this type of socket. operating system can provide this type of socket.
--base-url=URL '--base-url=URL'
set the base url (default: http://IPADDR:PORT). Note: affects url set the base url (default: http://IPADDR:PORT). Note: affects url
generation but not route parsing. Can be useful if running behind generation but not route parsing. Can be useful if running behind
a reverse web proxy that does path rewriting. a reverse web proxy that does path rewriting.
--file-url=URL '--file-url=URL'
set the static files url (default: BASEURL/static). hledger-web set the static files url (default: BASEURL/static). hledger-web
normally serves static files itself, but if you wanted to serve normally serves static files itself, but if you wanted to serve
them from another server for efficiency, you would set the url with them from another server for efficiency, you would set the url with
this. this.
--capabilities=CAP[,CAP..] '--capabilities=CAP[,CAP..]'
enable the view, add, and/or manage capabilities (default: enable the view, add, and/or manage capabilities (default:
view,add) view,add)
--capabilities-header=HTTPHEADER '--capabilities-header=HTTPHEADER'
read capabilities to enable from a HTTP header, like read capabilities to enable from a HTTP header, like
X-Sandstorm-Permissions (default: disabled) X-Sandstorm-Permissions (default: disabled)
--test '--test'
run hledger-webs tests and exit. hspec test runner args may run hledger-web's tests and exit. hspec test runner args may
follow a , eg: hledger-web test help follow a -, eg: hledger-web -test - -help
hledger input options: hledger input options:
-f FILE --file=FILE '-f FILE --file=FILE'
use a different input file. For stdin, use - (default: use a different input file. For stdin, use - (default:
$LEDGER_FILE or $HOME/.hledger.journal) '$LEDGER_FILE' or '$HOME/.hledger.journal')
--rules-file=RULESFILE '--rules-file=RULESFILE'
Conversion rules file to use when reading CSV (default: FILE.rules) Conversion rules file to use when reading CSV (default: FILE.rules)
--separator=CHAR '--separator=CHAR'
Field separator to expect when reading CSV (default: ,) Field separator to expect when reading CSV (default: ',')
--alias=OLD=NEW '--alias=OLD=NEW'
rename accounts named OLD to NEW rename accounts named OLD to NEW
--anon '--anon'
anonymize accounts and payees anonymize accounts and payees
--pivot FIELDNAME '--pivot FIELDNAME'
use some other field or tag for the account name use some other field or tag for the account name
-I --ignore-assertions '-I --ignore-assertions'
disable balance assertion checks (note: does not disable balance disable balance assertion checks (note: does not disable balance
assignments) assignments)
-s --strict '-s --strict'
do extra error checking (check that all posted accounts are do extra error checking (check that all posted accounts are
declared) declared)
hledger reporting options: hledger reporting options:
-b --begin=DATE '-b --begin=DATE'
include postings/txns on or after this date (will be adjusted to include postings/txns on or after this date (will be adjusted to
preceding subperiod start when using a report interval) preceding subperiod start when using a report interval)
-e --end=DATE '-e --end=DATE'
include postings/txns before this date (will be adjusted to include postings/txns before this date (will be adjusted to
following subperiod end when using a report interval) following subperiod end when using a report interval)
-D --daily '-D --daily'
multiperiod/multicolumn report by day multiperiod/multicolumn report by day
-W --weekly '-W --weekly'
multiperiod/multicolumn report by week multiperiod/multicolumn report by week
-M --monthly '-M --monthly'
multiperiod/multicolumn report by month multiperiod/multicolumn report by month
-Q --quarterly '-Q --quarterly'
multiperiod/multicolumn report by quarter multiperiod/multicolumn report by quarter
-Y --yearly '-Y --yearly'
multiperiod/multicolumn report by year multiperiod/multicolumn report by year
-p --period=PERIODEXP '-p --period=PERIODEXP'
set start date, end date, and/or reporting interval all at once set start date, end date, and/or reporting interval all at once
using period expressions syntax using period expressions syntax
--date2 '--date2'
match the secondary date instead (see command help for other match the secondary date instead (see command help for other
effects) effects)
--today=DATE '--today=DATE'
override todays date (affects relative smart dates, for override today's date (affects relative smart dates, for
tests/examples) tests/examples)
-U --unmarked '-U --unmarked'
include only unmarked postings/txns (can combine with -P or -C) include only unmarked postings/txns (can combine with -P or -C)
-P --pending '-P --pending'
include only pending postings/txns include only pending postings/txns
-C --cleared '-C --cleared'
include only cleared postings/txns include only cleared postings/txns
-R --real '-R --real'
include only non-virtual postings include only non-virtual postings
-NUM --depth=NUM '-NUM --depth=NUM'
hide/aggregate accounts or postings more than NUM levels deep hide/aggregate accounts or postings more than NUM levels deep
-E --empty '-E --empty'
show items with zero amount, normally hidden (and vice-versa in show items with zero amount, normally hidden (and vice-versa in
hledger-ui/hledger-web) hledger-ui/hledger-web)
-B --cost '-B --cost'
convert amounts to their cost/selling amount at transaction time convert amounts to their cost/selling amount at transaction time
-V --market '-V --market'
convert amounts to their market value in default valuation convert amounts to their market value in default valuation
commodities commodities
-X --exchange=COMM '-X --exchange=COMM'
convert amounts to their market value in commodity COMM convert amounts to their market value in commodity COMM
--value '--value'
convert amounts to cost or market value, more flexibly than convert amounts to cost or market value, more flexibly than
-B/-V/-X -B/-V/-X
--infer-market-prices '--infer-market-prices'
use transaction prices (recorded with @ or @@) as additional market use transaction prices (recorded with @ or @@) as additional market
prices, as if they were P directives prices, as if they were P directives
--auto '--auto'
apply automated posting rules to modify transactions. apply automated posting rules to modify transactions.
--forecast '--forecast'
generate future transactions from periodic transaction rules, for generate future transactions from periodic transaction rules, for
the next 6 months or till report end date. In hledger-ui, also the next 6 months or till report end date. In hledger-ui, also
make ordinary future transactions visible. make ordinary future transactions visible.
--commodity-style '--commodity-style'
Override the commodity style in the output for the specified Override the commodity style in the output for the specified
commodity. For example EUR1.000,00. commodity. For example 'EUR1.000,00'.
--color=WHEN (or --colour=WHEN) '--color=WHEN (or --colour=WHEN)'
Should color-supporting commands use ANSI color codes in text Should color-supporting commands use ANSI color codes in text
output. auto (default): whenever stdout seems to be a output. 'auto' (default): whenever stdout seems to be a
color-supporting terminal. always or yes: always, useful eg color-supporting terminal. 'always' or 'yes': always, useful eg
when piping output into less -R. never or no: never. A when piping output into 'less -R'. 'never' or 'no': never. A
NO_COLOR environment variable overrides this. NO_COLOR environment variable overrides this.
--pretty[=WHEN] '--pretty[=WHEN]'
Show prettier output, e.g. using unicode box-drawing characters. Show prettier output, e.g. using unicode box-drawing characters.
Accepts yes (the default) or no (y, n, always, never Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', 'never'
also work). If you provide an argument you must use =, e.g. also work). If you provide an argument you must use '=', e.g.
pretty=yes. '-pretty=yes'.
When a reporting option appears more than once in the command line, When a reporting option appears more than once in the command line,
the last one takes precedence. the last one takes precedence.
@ -264,53 +264,53 @@ the last one takes precedence.
hledger help options: hledger help options:
-h --help '-h --help'
show general or COMMAND help show general or COMMAND help
--man '--man'
show general or COMMAND user manual with man show general or COMMAND user manual with man
--info '--info'
show general or COMMAND user manual with info show general or COMMAND user manual with info
--version '--version'
show general or ADDONCMD version show general or ADDONCMD version
--debug[=N] '--debug[=N]'
show debug output (levels 1-9, default: 1) show debug output (levels 1-9, default: 1)
A @FILE argument will be expanded to the contents of FILE, which A @FILE argument will be expanded to the contents of FILE, which
should contain one command line option/argument per line. (To prevent should contain one command line option/argument per line. (To prevent
this, insert a -- argument before.) this, insert a '--' argument before.)
By default the server listens on IP address 127.0.0.1, accessible By default the server listens on IP address 127.0.0.1, accessible
only to local requests. You can use --host to change this, eg --host only to local requests. You can use '--host' to change this, eg '--host
0.0.0.0 to listen on all configured addresses. 0.0.0.0' to listen on all configured addresses.
Similarly, use --port to set a TCP port other than 5000, eg if you Similarly, use '--port' to set a TCP port other than 5000, eg if you
are running multiple hledger-web instances. are running multiple hledger-web instances.
Both of these options are ignored when --socket is used. In this Both of these options are ignored when '--socket' is used. In this
case, it creates an AF_UNIX socket file at the supplied path and uses case, it creates an 'AF_UNIX' socket file at the supplied path and uses
that for communication. This is an alternative way of running multiple that for communication. This is an alternative way of running multiple
hledger-web instances behind a reverse proxy that handles authentication hledger-web instances behind a reverse proxy that handles authentication
for different users. The path can be derived in a predictable way, eg for different users. The path can be derived in a predictable way, eg
by using the username within the path. As an example, nginx as by using the username within the path. As an example, 'nginx' as
reverse proxy can use the variable $remote_user to derive a path from reverse proxy can use the variable '$remote_user' to derive a path from
the username used in a HTTP basic authentication. The following the username used in a HTTP basic authentication. The following
proxy_pass directive allows access to all hledger-web instances that 'proxy_pass' directive allows access to all 'hledger-web' instances that
created a socket in /tmp/hledger/: created a socket in '/tmp/hledger/':
proxy_pass http://unix:/tmp/hledger/${remote_user}.socket; proxy_pass http://unix:/tmp/hledger/${remote_user}.socket;
You can use --base-url to change the protocol, hostname, port and You can use '--base-url' to change the protocol, hostname, port and
path that appear in hyperlinks, useful eg for integrating hledger-web path that appear in hyperlinks, useful eg for integrating hledger-web
within a larger website. The default is http://HOST:PORT/ using the within a larger website. The default is 'http://HOST:PORT/' using the
servers configured host address and TCP port (or http://HOST if PORT server's configured host address and TCP port (or 'http://HOST' if PORT
is 80). is 80).
With --file-url you can set a different base url for static files, With '--file-url' you can set a different base url for static files,
eg for better caching or cookie-less serving on high performance eg for better caching or cookie-less serving on high performance
websites. websites.
@ -325,28 +325,28 @@ journal and to add new transactions, but not to change existing data.
You can restrict who can reach it by You can restrict who can reach it by
• setting the IP address it listens on (see --host above). By * setting the IP address it listens on (see '--host' above). By
default it listens on 127.0.0.1, accessible to all users on the default it listens on 127.0.0.1, accessible to all users on the
local machine. local machine.
putting it behind an authenticating proxy, using eg apache or nginx * putting it behind an authenticating proxy, using eg apache or nginx
custom firewall rules * custom firewall rules
You can restrict what the users who reach it can do, by You can restrict what the users who reach it can do, by
• using the --capabilities=CAP[,CAP..] flag when you start it, * using the '--capabilities=CAP[,CAP..]' flag when you start it,
enabling one or more of the following capabilities. The default enabling one or more of the following capabilities. The default
value is view,add: value is 'view,add':
view - allows viewing the journal file and all included * 'view' - allows viewing the journal file and all included
files files
add - allows adding new transactions to the main journal * 'add' - allows adding new transactions to the main journal
file file
manage - allows editing, uploading or downloading the main * 'manage' - allows editing, uploading or downloading the main
or included files or included files
• using the --capabilities-header=HTTPHEADER flag to specify a HTTP * using the '--capabilities-header=HTTPHEADER' flag to specify a HTTP
header from which it will read capabilities to enable. hledger-web header from which it will read capabilities to enable. hledger-web
on Sandstorm uses the X-Sandstorm-Permissions header to integrate on Sandstorm uses the X-Sandstorm-Permissions header to integrate
with Sandstorms permissions. This is disabled by default. with Sandstorm's permissions. This is disabled by default.
 
File: hledger-web.info, Node: EDITING UPLOADING DOWNLOADING, Next: RELOADING, Prev: PERMISSIONS, Up: Top File: hledger-web.info, Node: EDITING UPLOADING DOWNLOADING, Next: RELOADING, Prev: PERMISSIONS, Up: Top
@ -354,7 +354,7 @@ File: hledger-web.info, Node: EDITING UPLOADING DOWNLOADING, Next: RELOADING,
3 EDITING, UPLOADING, DOWNLOADING 3 EDITING, UPLOADING, DOWNLOADING
********************************* *********************************
If you enable the manage capability mentioned above, youll see a new If you enable the 'manage' capability mentioned above, you'll see a new
"spanner" button to the right of the search form. Clicking this will "spanner" button to the right of the search form. Clicking this will
let you edit, upload, or download the journal file or any files it let you edit, upload, or download the journal file or any files it
includes. includes.
@ -365,7 +365,7 @@ visitor) can alter or wipe the data files.
Normally whenever a file is changed in this way, hledger-web saves a Normally whenever a file is changed in this way, hledger-web saves a
numbered backup (assuming file permissions allow it, the disk is not numbered backup (assuming file permissions allow it, the disk is not
full, etc.) hledger-web is not aware of version control systems, full, etc.) hledger-web is not aware of version control systems,
currently; if you use one, youll have to arrange to commit the changes currently; if you use one, you'll have to arrange to commit the changes
yourself (eg with a cron job or a file watcher like entr). yourself (eg with a cron job or a file watcher like entr).
Changes which would leave the journal file(s) unparseable or Changes which would leave the journal file(s) unparseable or
@ -395,7 +395,7 @@ File: hledger-web.info, Node: JSON API, Next: DEBUG OUTPUT, Prev: RELOADING,
In addition to the web UI, hledger-web also serves a JSON API that can In addition to the web UI, hledger-web also serves a JSON API that can
be used to get data or add new transactions. If you want the JSON API be used to get data or add new transactions. If you want the JSON API
only, you can use the --serve-api flag. Eg: only, you can use the '--serve-api' flag. Eg:
$ hledger-web -f examples/sample.journal --serve-api $ hledger-web -f examples/sample.journal --serve-api
... ...
@ -411,7 +411,7 @@ $ hledger-web -f examples/sample.journal --serve-api
/accounttransactions/ACCOUNTNAME /accounttransactions/ACCOUNTNAME
Eg, all account names in the journal (similar to the accounts Eg, all account names in the journal (similar to the accounts
command). (hledger-webs JSON does not include newlines, here we use command). (hledger-web's JSON does not include newlines, here we use
python to prettify it): python to prettify it):
$ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool
@ -452,7 +452,7 @@ $ curl -s http://127.0.0.1:5000/transactions | python -m json.tool
"aprice": null, "aprice": null,
... ...
Most of the JSON corresponds to hledgers data types; for details of Most of the JSON corresponds to hledger's data types; for details of
what the fields mean, see the Hledger.Data.Json haddock docs and click what the fields mean, see the Hledger.Data.Json haddock docs and click
on the various data types, eg Transaction. And for a higher level on the various data types, eg Transaction. And for a higher level
understanding, see the journal docs. understanding, see the journal docs.
@ -460,25 +460,25 @@ understanding, see the journal docs.
In some cases there is outer JSON corresponding to a "Report" type. In some cases there is outer JSON corresponding to a "Report" type.
To understand that, go to the Hledger.Web.Handler.MiscR haddock and look To understand that, go to the Hledger.Web.Handler.MiscR haddock and look
at the source for the appropriate handler to see what it returns. Eg at the source for the appropriate handler to see what it returns. Eg
for /accounttransactions its getAccounttransactionsR, returning a for '/accounttransactions' it's getAccounttransactionsR, returning a
"accountTransactionsReport ...". Looking up the haddock for that we "'accountTransactionsReport ...'". Looking up the haddock for that we
can see that /accounttransactions returns an AccountTransactionsReport, can see that /accounttransactions returns an AccountTransactionsReport,
which consists of a report title and a list of which consists of a report title and a list of
AccountTransactionsReportItem (etc). AccountTransactionsReportItem (etc).
You can add a new transaction to the journal with a PUT request to You can add a new transaction to the journal with a PUT request to
/add, if hledger-web was started with the add capability (enabled by '/add', if hledger-web was started with the 'add' capability (enabled by
default). The payload must be the full, exact JSON representation of a default). The payload must be the full, exact JSON representation of a
hledger transaction (partial data wont do). You can get sample JSON hledger transaction (partial data won't do). You can get sample JSON
from hledger-webs /transactions or /accounttransactions, or you can from hledger-web's '/transactions' or '/accounttransactions', or you can
export it with hledger-lib, eg like so: export it with hledger-lib, eg like so:
.../hledger$ stack ghci hledger-lib .../hledger$ stack ghci hledger-lib
>>> writeJsonFile "txn.json" (head $ jtxns samplejournal) >>> writeJsonFile "txn.json" (head $ jtxns samplejournal)
>>> :q >>> :q
Heres how it looks as of hledger-1.17 (remember, this JSON Here's how it looks as of hledger-1.17 (remember, this JSON
corresponds to hledgers Transaction and related data types): corresponds to hledger's Transaction and related data types):
{ {
"tcomment": "", "tcomment": "",
@ -566,7 +566,7 @@ corresponds to hledgers Transaction and related data types):
"tstatus": "Unmarked" "tstatus": "Unmarked"
} }
And heres how to test adding it with curl. This should add a new And here's how to test adding it with curl. This should add a new
entry to your journal: entry to your journal:
$ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json
@ -587,13 +587,13 @@ File: hledger-web.info, Node: Debug output, Up: DEBUG OUTPUT
6.1 Debug output 6.1 Debug output
================ ================
You can add --debug[=N] to the command line to log debug output. N You can add '--debug[=N]' to the command line to log debug output. N
ranges from 1 (least output, the default) to 9 (maximum output). ranges from 1 (least output, the default) to 9 (maximum output).
Typically you would start with 1 and increase until you are seeing Typically you would start with 1 and increase until you are seeing
enough. Debug output goes to stderr, interleaved with the requests enough. Debug output goes to stderr, interleaved with the requests
logged on stdout. To capture debug output in a log file instead, you logged on stdout. To capture debug output in a log file instead, you
can usually redirect stderr, eg: can usually redirect stderr, eg:
hledger-web --debug=3 2>hledger-web.log. 'hledger-web --debug=3 2>hledger-web.log'.
 
File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: DEBUG OUTPUT, Up: Top File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: DEBUG OUTPUT, Up: Top
@ -601,33 +601,33 @@ File: hledger-web.info, Node: ENVIRONMENT, Next: FILES, Prev: DEBUG OUTPUT,
7 ENVIRONMENT 7 ENVIRONMENT
************* *************
*LEDGER_FILE* The journal file path when not specified with -f. *LEDGER_FILE* The journal file path when not specified with '-f'.
On unix computers, the default value is: ~/.hledger.journal. On unix computers, the default value is: '~/.hledger.journal'.
A more typical value is something like ~/finance/YYYY.journal, A more typical value is something like '~/finance/YYYY.journal',
where ~/finance is a version-controlled finance directory and YYYY is where '~/finance' is a version-controlled finance directory and YYYY is
the current year. Or, ~/finance/current.journal, where the current year. Or, '~/finance/current.journal', where
current.journal is a symbolic link to YYYY.journal. current.journal is a symbolic link to YYYY.journal.
The usual way to set this permanently is to add a command to one of The usual way to set this permanently is to add a command to one of
your shells startup files (eg ~/.profile): your shell's startup files (eg '~/.profile'):
export LEDGER_FILE=~/finance/current.journal` export LEDGER_FILE=~/finance/current.journal`
On some Mac computers, there is a more thorough way to set On some Mac computers, there is a more thorough way to set
environment variables, that will also affect applications started from environment variables, that will also affect applications started from
the GUI (eg, Emacs started from a dock icon): In the GUI (eg, Emacs started from a dock icon): In
~/.MacOSX/environment.plist, add an entry like: '~/.MacOSX/environment.plist', add an entry like:
{ {
"LEDGER_FILE" : "~/finance/current.journal" "LEDGER_FILE" : "~/finance/current.journal"
} }
For this to take effect you might need to killall Dock, or reboot. For this to take effect you might need to 'killall Dock', or reboot.
On Windows computers, the default value is probably On Windows computers, the default value is probably
C:\Users\YOURNAME\.hledger.journal. You can change this by running a 'C:\Users\YOURNAME\.hledger.journal'. You can change this by running a
command like this in a powershell window (let us know if you need to be command like this in a powershell window (let us know if you need to be
an Administrator, and if this persists across a reboot): an Administrator, and if this persists across a reboot):
@ -643,9 +643,9 @@ File: hledger-web.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top
******* *******
Reads data from one or more files in journal, timeclock, timedot, or CSV Reads data from one or more files in journal, timeclock, timedot, or CSV
format. The default file is .hledger.journal in your home directory; format. The default file is '.hledger.journal' in your home directory;
this can be overridden with one or more -f FILE options, or the this can be overridden with one or more '-f FILE' options, or the
LEDGER_FILE environment variable. 'LEDGER_FILE' environment variable.
 
File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top
@ -653,7 +653,7 @@ File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top
9 BUGS 9 BUGS
****** ******
-f- doesnt work (hledger-web cant read from stdin). '-f-' doesn't work (hledger-web can't read from stdin).
Query arguments and some hledger options are ignored. Query arguments and some hledger options are ignored.
@ -664,26 +664,26 @@ File: hledger-web.info, Node: BUGS, Prev: FILES, Up: Top
 
Tag Table: Tag Table:
Node: Top225 Node: Top225
Node: OPTIONS2727 Node: OPTIONS2683
Ref: #options2832 Ref: #options2788
Node: PERMISSIONS10626 Node: PERMISSIONS10225
Ref: #permissions10765 Ref: #permissions10364
Node: EDITING UPLOADING DOWNLOADING12023 Node: EDITING UPLOADING DOWNLOADING11576
Ref: #editing-uploading-downloading12204 Ref: #editing-uploading-downloading11757
Node: RELOADING13046 Node: RELOADING12591
Ref: #reloading13180 Ref: #reloading12725
Node: JSON API13613 Node: JSON API13158
Ref: #json-api13728 Ref: #json-api13273
Node: DEBUG OUTPUT19260 Node: DEBUG OUTPUT18761
Ref: #debug-output19385 Ref: #debug-output18886
Node: Debug output19412 Node: Debug output18913
Ref: #debug-output-119513 Ref: #debug-output-119014
Node: ENVIRONMENT19938 Node: ENVIRONMENT19431
Ref: #environment20058 Ref: #environment19551
Node: FILES21407 Node: FILES20862
Ref: #files21507 Ref: #files20962
Node: BUGS21767 Node: BUGS21210
Ref: #bugs21845 Ref: #bugs21288
 
End Tag Table End Tag Table

View File

@ -608,4 +608,4 @@ SEE ALSO
hledger-web-1.29.99 March 2023 HLEDGER-WEB(1) hledger-web-1.29.99 April 2023 HLEDGER-WEB(1)

View File

@ -1,2 +1,2 @@
m4_dnl Date to show in man pages. Updated by "Shake manuals" m4_dnl Date to show in man pages. Updated by "Shake manuals"
m4_define({{_monthyear_}}, {{March 2023}})m4_dnl m4_define({{_monthyear_}}, {{April 2023}})m4_dnl

View File

@ -1,6 +1,6 @@
.\"t .\"t
.TH "HLEDGER" "1" "March 2023" "hledger-1.29.99 " "hledger User Manuals" .TH "HLEDGER" "1" "April 2023" "hledger-1.29.99 " "hledger User Manuals"
@ -1038,7 +1038,19 @@ otherwise, please let us know.
.IP \[bu] 2 .IP \[bu] 2
This is not yet much used; real-world feedback is welcome. This is not yet much used; real-world feedback is welcome.
.IP \[bu] 2 .IP \[bu] 2
SQL output is expected to work with sqlite, MySQL and PostgreSQL SQL output is expected to work at least with SQLite, MySQL and Postgres.
.IP \[bu] 2
For SQLite, it will be more useful if you modify the generated
\f[V]id\f[R] field to be a PRIMARY KEY.
Eg:
.RS 2
.IP
.nf
\f[C]
$ hledger print -O sql | sed \[aq]s/id serial/id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL/g\[aq] | ...
\f[R]
.fi
.RE
.IP \[bu] 2 .IP \[bu] 2
SQL output is structured with the expectations that statements will be SQL output is structured with the expectations that statements will be
executed in the empty database. executed in the empty database.
@ -1091,6 +1103,32 @@ if the \f[V]--pretty\f[R] option is given a value of \f[V]yes\f[R] or
characters will (or will not) be used; characters will (or will not) be used;
.IP \[bu] 2 .IP \[bu] 2
otherwise, unicode characters will not be used. otherwise, unicode characters will not be used.
.SS Paging
.PP
When showing long output in the terminal, hledger will try to use the
pager specified by the \f[V]PAGER\f[R] environment variable, or
\f[V]less\f[R], or \f[V]more\f[R].
(A pager is a helper program that shows one page at a time rather than
scrolling everything off screen).
Currently it does this only for help output, not for reports;
specifically,
.IP \[bu] 2
when listing commands, with \f[V]hledger\f[R]
.IP \[bu] 2
when showing help with \f[V]hledger [CMD] --help\f[R],
.IP \[bu] 2
when viewing manuals with \f[V]hledger help\f[R] or
\f[V]hledger --man\f[R].
.PP
Note the pager is expected to handle ANSI codes, which hledger uses eg
for bold emphasis.
For the common pager \f[V]less\f[R] (and its \f[V]more\f[R]
compatibility mode), we add \f[V]R\f[R] to the \f[V]LESS\f[R] and
\f[V]MORE\f[R] environment variables to make this work.
If you use a different pager, you might need to configure it similarly,
to avoid seeing junk on screen (let us know).
Otherwise, you can set the \f[V]NO_COLOR\f[R] environment variable to 1
to disable all ANSI output (see Colour).
.SS Debug output .SS Debug output
.PP .PP
We intend hledger to be relatively easy to troubleshoot, introspect and We intend hledger to be relatively easy to troubleshoot, introspect and
@ -6067,41 +6105,25 @@ More complex intervals can be specified using \f[V]-p/--period\f[R],
described below. described below.
.SS Date adjustment .SS Date adjustment
.PP .PP
With a report interval (other than daily), report start / end dates When there is a report interval (other than daily), report start/end
which have not been specified explicitly and in full (eg not dates which have been inferred, eg from the journal, are automatically
\f[V]-b 2023-01-01\f[R], but \f[V]-b 2023-01\f[R] or \f[V]-b 2023\f[R] adjusted to natural period boundaries.
or unspecified) are considered flexible: This is convenient for producing simple periodic reports.
More precisely:
.IP \[bu] 2 .IP \[bu] 2
A flexible start date will be automatically adjusted earlier if needed an inferred start date will be adjusted earlier if needed to fall on a
to fall on a natural interval boundary. natural period boundary
.IP \[bu] 2 .IP \[bu] 2
Similarly, a flexible end date will be adjusted later if needed to make an inferred end date will be adjusted later if needed to make the last
the last period a whole interval (the same length as the others). period the same length as the others.
.PP .PP
This is convenient for producing clean periodic reports (this is By contrast, start/end dates which have been specified explicitly, with
traditional hledger behaviour). \f[V]-b\f[R], \f[V]-e\f[R], \f[V]-p\f[R] or \f[V]date:\f[R], will not be
By contrast, fully-specified exact dates will not be adjusted (this is adjusted (since hledger 1.29).
new in hledger 1.29). This makes it possible to specify non-standard report periods, but it
.PP also means that if you are specifying a start date, you should pick one
An example: with a journal whose first date is 2023-01-10 and last date that\[aq]s on a period boundary if you want to see simple report period
is 2023-03-20: headings.
.IP \[bu] 2
\f[V]hledger bal -M -b 2023/1/15 -e 2023/3/10\f[R]
.PD 0
.P
.PD
The report periods will begin on the 15th day of each month, starting
from 2023-01-15, and the last period\[aq]s last day will be 2023-03-09.
(Exact start and end dates, neither is adjusted.)
.IP \[bu] 2
\f[V]hledger bal -M -b 2023-01 -e 2023-04\f[R] or
\f[V]hledger bal -M\f[R]
.PD 0
.P
.PD
The report periods will begin on the 1st of each month, starting from
2023-01-01, and the last period\[aq]s last day will be 2023-03-31.
(Flexible start and end dates, both are adjusted.)
.SS Period expressions .SS Period expressions
.PP .PP
The \f[V]-p/--period\f[R] option specifies a period expression, which is The \f[V]-p/--period\f[R] option specifies a period expression, which is
@ -9935,51 +9957,73 @@ use the manual-review-and-mark-cleared phase as a reminder to check the
latest assertions against real-world balances. latest assertions against real-world balances.
.SS close .SS close
.PP .PP
\f[V]close [--retain | --migrate | --open] [QUERY]\f[R] (equity)
.PP .PP
By default: prints a transaction that zeroes out (\[dq]closes\[dq]) all Generate transactions which transfer account balances to and/or from
accounts, transferring their balances to an equity account. another account (typically equity).
Query arguments can be added to override the accounts selection. This can be useful for migrating balances to a new journal file, or for
Three other modes are supported: merging earnings into equity at end of accounting period.
.PP .PP
\f[V]--retain\f[R]: prints a transaction closing revenue and expense By default, it prints a transaction that zeroes out ALE accounts (asset,
balances. liability, equity accounts; this requires account types to be
This is traditionally done by businesses at the end of each accounting configured); or if ACCTQUERY is provided, the accounts matched by that.
period; it is less necessary in personal and computer-based accounting,
but it can help balance the accounting equation A=L+E.
.PP .PP
\f[V]--migrate\f[R]: prints a transaction to close asset, liability and \f[I](experimental)\f[R]
most equity balances, and another transaction to re-open them.
This can be useful when starting a new file (for performance or data
protection).
Adding the closing transaction to the old file allows old and new files
to be combined.
.PP .PP
\f[V]--open\f[R]: as above, but prints just the opening transaction. This command has four main modes, corresponding to the most common use
This can be useful for starting a new file, leaving the old file cases:
unchanged. .IP "1." 3
Similar to Ledger\[aq]s equity command. With \f[V]--close\f[R] (default), it prints a \[dq]closing balances\[dq]
transaction that zeroes out ALE (asset, liability, equity) accounts by
default (this requires account types to be inferred or declared); or,
the accounts matched by the provided ACCTQUERY arguments.
.IP "2." 3
With \f[V]--open\f[R], it prints an opposite \[dq]opening balances\[dq]
transaction that restores those balances from zero.
This is similar to Ledger\[aq]s equity command.
.IP "3." 3
With \f[V]--migrate\f[R], it prints both the closing and opening
transactions.
This is the preferred way to migrate balances to a new file: run
\f[V]hledger close --migrate\f[R], add the closing transaction at the
end of the old file, and add the opening transaction at the start of the
new file.
The matching closing/opening transactions cancel each other out,
preserving correct balances during multi-file reporting.
.IP "4." 3
With \f[V]--retain\f[R], it prints a \[dq]retain earnings\[dq]
transaction that transfers RX (revenue and expense) balances to
\f[V]equity:retained earnings\f[R].
Businesses traditionally do this at the end of each accounting period;
it is less necessary with computer-based accounting, but it could still
be useful if you want to see the accounting equation (A=L+E) satisfied.
.PP .PP
You can change the equity account name with \f[V]--close-acct ACCT\f[R]. In all modes, the defaults can be overridden:
It defaults to \f[V]equity:retained earnings\f[R] with .IP \[bu] 2
\f[V]--retain\f[R], or \f[V]equity:opening/closing balances\f[R] the transaction descriptions can be changed with
otherwise. \f[V]--close-desc=DESC\f[R] and \f[V]--open-desc=DESC\f[R]
.IP \[bu] 2
the account to transfer to/from can be changed with
\f[V]--close-acct=ACCT\f[R] and \f[V]--open-acct=ACCT\f[R]
.IP \[bu] 2
the accounts to be closed/opened can be changed with \f[V]ACCTQUERY\f[R]
(account query arguments).
.PP .PP
You can change the transaction description(s) with By default just one destination/source posting will be used, with its
\f[V]--close-desc \[aq]DESC\[aq]\f[R] and amount left implicit.
\f[V]--open-desc \[aq]DESC\[aq]\f[R]. With \f[V]--x/--explicit\f[R], the amount will be shown explicitly, and
It defaults to \f[V]retain earnings\f[R] with \f[V]--retain\f[R], or
\f[V]closing balances\f[R] and \f[V]opening balances\f[R] otherwise.
.PP
Just one posting to the equity account will be used by default, with an
implicit amount.
.PP
With \f[V]--x/--explicit\f[R] the amount will be shown explicitly, and
if it involves multiple commodities, a separate posting will be if it involves multiple commodities, a separate posting will be
generated for each commodity. generated for each of them (similar to \f[V]print -x\f[R]).
.PP .PP
With \f[V]--interleaved\f[R], each equity posting is shown next to the With \f[V]--show-costs\f[R], any amount costs are shown, with separate
corresponding source/destination posting. postings for each cost.
This is currently the best way to view investment lots.
If you have many currency conversion or investment transactions, it can
generate very large journal entries.
.PP
With \f[V]--interleaved\f[R], each individual transfer is shown with
source and destination postings next to each other.
This could be useful for troubleshooting.
.PP .PP
The default closing date is yesterday, or the journal\[aq]s end date, The default closing date is yesterday, or the journal\[aq]s end date,
whichever is later. whichever is later.
@ -9988,14 +10032,6 @@ date does not matter.)
The last day of the report period will be the closing date; eg The last day of the report period will be the closing date; eg
\f[V]-e 2022\f[R] means \[dq]close on 2022-12-31\[dq]. \f[V]-e 2022\f[R] means \[dq]close on 2022-12-31\[dq].
The opening date is always the day after the closing date. The opening date is always the day after the closing date.
.SS close and costs
.PP
With \f[V]--show-costs\f[R], any amount costs are shown, with separate
postings for each cost.
(This currently the best way to view investment assets, showing lots and
cost bases.)
If you have many currency conversion or investment transactions, it can
generate very large journal entries.
.SS close and balance assertions .SS close and balance assertions
.PP .PP
Balance assertions will be generated, verifying that the accounts have Balance assertions will be generated, verifying that the accounts have
@ -10049,9 +10085,9 @@ $ hledger close --retain -f 2022.journal -p 2022 >> 2022.journal
\f[R] \f[R]
.fi .fi
.PP .PP
Now 2022\[aq]s income statement will show only zeroes. Note 2022\[aq]s income statement will now show only zeroes, because
To see it again, exclude the retain transaction. revenues and expenses have been moved entirely to equity.
Eg: To see them again, you could exclude the retain transaction:
.IP .IP
.nf .nf
\f[C] \f[C]
@ -10075,8 +10111,8 @@ Now 2022\[aq]s balance sheet will show only zeroes, indicating a
balanced accounting equation. balanced accounting equation.
(Unless you are using \[at]/\[at]\[at] notation - in that case, try (Unless you are using \[at]/\[at]\[at] notation - in that case, try
adding --infer-equity.) adding --infer-equity.)
To see it again, exclude the closing transaction. To see the end-of-year balances again, you could exclude the closing
Eg: transaction:
.IP .IP
.nf .nf
\f[C] \f[C]
@ -10086,13 +10122,16 @@ $ hledger -f 2022.journal bs not:desc:\[aq]closing balances\[aq]
.SS Example: excluding closing/opening transactions .SS Example: excluding closing/opening transactions
.PP .PP
When combining many files for multi-year reports, the closing/opening When combining many files for multi-year reports, the closing/opening
transactions cause some noise in reports like \f[V]print\f[R] and transactions cause some noise in transaction-oriented reports like
\f[V]register\f[R]. \f[V]print\f[R] and \f[V]register\f[R].
You can exclude them as shown above, but \f[V]not:desc:...\f[R] could be You can exclude them as shown above, but \f[V]not:desc:...\f[R] is not
fragile, and also you will need to avoid excluding the very first ideal as it depends on consistent descriptions; also you will want to
opening transaction, which can be awkward. avoid excluding the very first opening transaction, which could be
Here is a way to do it, using tags: add \f[V]clopen:\f[R] tags to all awkward.
opening/closing balances transactions except the first, like this: Here is one alternative, using tags:
.PP
Add \f[V]clopen:\f[R] tags to all opening/closing balances transactions
except the first, like this:
.IP .IP
.nf .nf
\f[C] \f[C]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff