;doc: regen manuals

Wrapping and hyphenation has changed again, which I thought would
be more stable now with same tool versions on laptop and server.
Who knows.
This commit is contained in:
Simon Michael 2019-09-13 08:26:49 -07:00
parent edaf92db5e
commit af21ae6eb6
17 changed files with 867 additions and 886 deletions

View File

@ -358,7 +358,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -24,9 +24,9 @@ DESCRIPTION
When reading a CSV file named FILE.csv, hledger looks for a conversion When reading a CSV file named FILE.csv, hledger looks for a conversion
rules file named FILE.csv.rules in the same directory. You can over- rules file named FILE.csv.rules in the same directory. You can over-
ride this with the --rules-file option. If the rules file does not ride this with the --rules-file option. If the rules file does not ex-
exist, hledger will auto-create one with some example rules, which ist, hledger will auto-create one with some example rules, which you'll
you'll need to adjust. need to adjust.
At minimum, the rules file must identify the date and amount fields. At minimum, the rules file must identify the date and amount fields.
It's often necessary to specify the date format, and the number of It's often necessary to specify the date format, and the number of
@ -192,8 +192,8 @@ CSV TIPS
you might need newest-first, see above). you might need newest-first, see above).
CSV accounts CSV accounts
Each journal entry will have two postings, to account1 and account2 Each journal entry will have two postings, to account1 and account2 re-
respectively. It's not yet possible to generate entries with more than spectively. It's not yet possible to generate entries with more than
two postings. It's conventional and recommended to use account1 for two postings. It's conventional and recommended to use account1 for
the account whose CSV we are reading. the account whose CSV we are reading.
@ -229,9 +229,9 @@ CSV TIPS
CSV balance assertions/assignments CSV balance assertions/assignments
If the CSV includes a running balance, you can assign that to one of If the CSV includes a running balance, you can assign that to one of
the pseudo fields balance (or balance1) or balance2. This will gener- the pseudo fields balance (or balance1) or balance2. This will gener-
ate a balance assertion (or if the amount is left empty, a balance ate a balance assertion (or if the amount is left empty, a balance as-
assignment), on the first or second posting, whenever the running bal- signment), on the first or second posting, whenever the running balance
ance field is non-empty. (TODO: #1000) field is non-empty. (TODO: #1000)
Reading multiple CSV files Reading multiple CSV files
You can read multiple CSV files at once using multiple -f arguments on You can read multiple CSV files at once using multiple -f arguments on
@ -263,7 +263,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -1871,7 +1871,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -7,9 +7,9 @@ NAME
Journal - hledger's default file format, representing a General Journal Journal - hledger's default file format, representing a General Journal
DESCRIPTION DESCRIPTION
hledger's usual data source is a plain text file containing journal hledger's usual data source is a plain text file containing journal en-
entries in hledger journal format. This file represents a standard tries in hledger journal format. This file represents a standard ac-
accounting general journal. I use file names ending in .journal, but counting general journal. I use file names ending in .journal, but
that's not required. The journal file contains a number of transaction that's not required. The journal file contains a number of transaction
entries, each describing a transfer of money (or any commodity) between entries, each describing a transfer of money (or any commodity) between
two or more named accounts, in a simple format readable by both hledger two or more named accounts, in a simple format readable by both hledger
@ -23,8 +23,8 @@ DESCRIPTION
You can use hledger without learning any more about this file; just use You can use hledger without learning any more about this file; just use
the add or web commands to create and update it. Many users, though, the add or web commands to create and update it. Many users, though,
also edit the journal file directly with a text editor, perhaps also edit the journal file directly with a text editor, perhaps as-
assisted by the helper modes for emacs or vim. sisted by the helper modes for emacs or vim.
Here's an example: Here's an example:
@ -58,9 +58,9 @@ DESCRIPTION
FILE FORMAT FILE FORMAT
Transactions Transactions
Transactions are movements of some quantity of commodities between Transactions are movements of some quantity of commodities between
named accounts. Each transaction is represented by a journal entry named accounts. Each transaction is represented by a journal entry be-
beginning with a simple date in column 0. This can be followed by any ginning with a simple date in column 0. This can be followed by any of
of the following, separated by spaces: the following, separated by spaces:
o (optional) a status character (empty, !, or *) o (optional) a status character (empty, !, or *)
@ -104,16 +104,16 @@ FILE FORMAT
Simple dates Simple dates
Within a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D) Within a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D)
Leading zeros are optional. The year may be omitted, in which case it Leading zeros are optional. The year may be omitted, in which case it
will be inferred from the context - the current transaction, the will be inferred from the context - the current transaction, the de-
default year set with a default year directive, or the current date fault year set with a default year directive, or the current date when
when the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31, the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31,
2010.1.31. 2010.1.31.
Secondary dates Secondary dates
Real-life transactions sometimes involve more than one date - eg the Real-life transactions sometimes involve more than one date - eg the
date you write a cheque, and the date it clears in your bank. When you date you write a cheque, and the date it clears in your bank. When you
want to model this, eg for more accurate balances, you can specify want to model this, eg for more accurate balances, you can specify in-
individual posting dates, which I recommend. Or, you can use the sec- dividual posting dates, which I recommend. Or, you can use the sec-
ondary dates (aka auxiliary/effective dates) feature, supported for ondary dates (aka auxiliary/effective dates) feature, supported for
compatibility with Ledger. compatibility with Ledger.
@ -142,15 +142,15 @@ FILE FORMAT
Secondary dates require some effort; you must use them consistently in Secondary dates require some effort; you must use them consistently in
your journal entries and remember whether to use or not use the --date2 your journal entries and remember whether to use or not use the --date2
flag for your reports. They are included in hledger for Ledger compat- flag for your reports. They are included in hledger for Ledger compat-
ibility, but posting dates are a more powerful and less confusing ibility, but posting dates are a more powerful and less confusing al-
alternative. ternative.
Posting dates Posting dates
You can give individual postings a different date from their parent You can give individual postings a different date from their parent
transaction, by adding a posting comment containing a tag (see below) transaction, by adding a posting comment containing a tag (see below)
like date:DATE. This is probably the best way to control posting dates like date:DATE. This is probably the best way to control posting dates
precisely. Eg in this example the expense should appear in May precisely. Eg in this example the expense should appear in May re-
reports, and the deduction from checking should be reported on 6/1 for ports, and the deduction from checking should be reported on 6/1 for
easy bank reconciliation: easy bank reconciliation:
2015/5/30 2015/5/30
@ -177,9 +177,9 @@ FILE FORMAT
Status Status
Transactions, or individual postings within a transaction, can have a Transactions, or individual postings within a transaction, can have a
status mark, which is a single character before the transaction status mark, which is a single character before the transaction de-
description or posting account name, separated from it by a space, scription or posting account name, separated from it by a space, indi-
indicating one of three statuses: cating one of three statuses:
mark status mark status
------------------ ------------------
@ -192,8 +192,8 @@ FILE FORMAT
status:* queries; or the U, P, C keys in hledger-ui. status:* queries; or the U, P, C keys in hledger-ui.
Note, in Ledger and in older versions of hledger, the "unmarked" state Note, in Ledger and in older versions of hledger, the "unmarked" state
is called "uncleared". As of hledger 1.3 we have renamed it to is called "uncleared". As of hledger 1.3 we have renamed it to un-
unmarked for clarity. marked for clarity.
To replicate Ledger and old hledger's behaviour of also matching pend- To replicate Ledger and old hledger's behaviour of also matching pend-
ing, combine -U and -P. ing, combine -U and -P.
@ -215,8 +215,8 @@ FILE FORMAT
rect rect
With this scheme, you would use -PC to see the current balance at your With this scheme, you would use -PC to see the current balance at your
bank, -U to see things which will probably hit your bank soon (like bank, -U to see things which will probably hit your bank soon (like un-
uncashed checks), and no flags to see the most up-to-date state of your cashed checks), and no flags to see the most up-to-date state of your
finances. finances.
Description Description
@ -229,9 +229,9 @@ FILE FORMAT
Payee and note Payee and note
You can optionally include a | (pipe) character in descriptions to sub- You can optionally include a | (pipe) character in descriptions to sub-
divide the description into separate fields for payee/payer name on the divide the description into separate fields for payee/payer name on the
left (up to the first |) and an additional note field on the right left (up to the first |) and an additional note field on the right (af-
(after the first |). This may be worthwhile if you need to do more ter the first |). This may be worthwhile if you need to do more pre-
precise querying and pivoting by payee or by note. cise querying and pivoting by payee or by note.
Account names Account names
Account names typically have several parts separated by a full colon, Account names typically have several parts separated by a full colon,
@ -580,11 +580,11 @@ FILE FORMAT
nodes to be ignored, allowing emacs users to fold and navigate their nodes to be ignored, allowing emacs users to fold and navigate their
journals with org-mode or orgstruct-mode.) journals with org-mode or orgstruct-mode.)
You can attach comments to a transaction by writing them after the You can attach comments to a transaction by writing them after the de-
description and/or indented on the following lines (before the post- scription and/or indented on the following lines (before the postings).
ings). Similarly, you can attach comments to an individual posting by Similarly, you can attach comments to an individual posting by writing
writing them after the amount and/or indented on the following lines. them after the amount and/or indented on the following lines. Transac-
Transaction and posting comments must begin with a semicolon (;). tion and posting comments must begin with a semicolon (;).
Some examples: Some examples:
@ -660,33 +660,33 @@ FILE FORMAT
here is a table summarising the directives and their effects, with here is a table summarising the directives and their effects, with
links to more detailed docs. links to more detailed docs.
direc- end subdi- purpose can affect (as of direc- end di- subdi- purpose can affect (as of
tive directive rec- 2018/06) tive rective rec- 2018/06)
tives tives
------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------
account any document account names, all entries in all account any document account names, de- all entries in all
text declare account types & dis- files, before or text clare account types & dis- files, before or
play order after play order after
alias end rewrite account names following alias end rewrite account names following in-
aliases inline/included aliases line/included en-
entries until end tries until end of
of current file or current file or end
end directive directive
apply end apply prepend a common parent to following apply end apply prepend a common parent to following in-
account account account names inline/included account account account names line/included en-
entries until end tries until end of
of current file or current file or end
end directive directive
comment end com- ignore part of journal following comment end com- ignore part of journal following in-
ment inline/included ment line/included en-
entries until end tries until end of
of current file or current file or end
end directive directive
commod- format declare a commodity and its number notation: commod- format declare a commodity and its number notation:
ity number notation & display following entries ity number notation & display following entries
style in that commodity style in that commodity
@ -709,13 +709,13 @@ FILE FORMAT
include include entries/directives what the included include include entries/directives what the included
from another file directives affect from another file directives affect
P declare a market price for a amounts of that P declare a market price for a amounts of that
commodity commodity in commodity commodity in re-
reports, when -V is ports, when -V is
used used
Y declare a year for yearless following Y declare a year for yearless following in-
dates inline/included dates line/included en-
entries until end tries until end of
of current file current file
And some definitions: And some definitions:
@ -731,8 +731,8 @@ FILE FORMAT
scope are affected by a directive scope are affected by a directive
As you can see, directives vary in which journal entries and files they As you can see, directives vary in which journal entries and files they
affect, and whether they are focussed on input (parsing) or output affect, and whether they are focussed on input (parsing) or output (re-
(reports). Some directives have multiple effects. ports). Some directives have multiple effects.
If you have a journal made up of multiple files, or pass multiple -f If you have a journal made up of multiple files, or pass multiple -f
options on the command line, note that directives which affect input options on the command line, note that directives which affect input
@ -756,8 +756,8 @@ FILE FORMAT
file. The include file path may contain common glob patterns (e.g. file. The include file path may contain common glob patterns (e.g.
*). *).
The include directive can only be used in journal files. It can The include directive can only be used in journal files. It can in-
include journal, timeclock or timedot files, but not CSV files. clude journal, timeclock or timedot files, but not CSV files.
Default year Default year
You can set a default year to be used for subsequent dates which don't You can set a default year to be used for subsequent dates which don't
@ -813,8 +813,8 @@ FILE FORMAT
Normally the display format is inferred from journal entries, but this Normally the display format is inferred from journal entries, but this
can be unpredictable; declaring it with a commodity directive overrides can be unpredictable; declaring it with a commodity directive overrides
this and removes ambiguity. Towards this end, amounts in commodity this and removes ambiguity. Towards this end, amounts in commodity di-
directives must always be written with a decimal point (a period or rectives must always be written with a decimal point (a period or
comma, followed by 0 or more decimal digits). comma, followed by 0 or more decimal digits).
Commodity directives do not affect how amounts are parsed; the parser Commodity directives do not affect how amounts are parsed; the parser
@ -839,8 +839,8 @@ FILE FORMAT
a decimal point. a decimal point.
Market prices Market prices
The P directive declares a market price, which is an exchange rate The P directive declares a market price, which is an exchange rate be-
between two commodities on a certain date. (In Ledger, they are called tween two commodities on a certain date. (In Ledger, they are called
"historical prices".) These are often obtained from a stock exchange, "historical prices".) These are often obtained from a stock exchange,
cryptocurrency exchange, or the foreign exchange market. cryptocurrency exchange, or the foreign exchange market.
@ -865,8 +865,8 @@ FILE FORMAT
commodity using these prices. commodity using these prices.
Declaring accounts Declaring accounts
account directives can be used to pre-declare accounts. Though not account directives can be used to pre-declare accounts. Though not re-
required, they can provide several benefits: quired, they can provide several benefits:
o They can document your intended chart of accounts, providing a refer- o They can document your intended chart of accounts, providing a refer-
ence. ence.
@ -925,8 +925,8 @@ FILE FORMAT
detected automatically. detected automatically.
Account types declared with tags Account types declared with tags
More generally, you can declare an account's type with an account More generally, you can declare an account's type with an account di-
directive, by writing a type: tag in a comment, followed by one of the rective, by writing a type: tag in a comment, followed by one of the
words Asset, Liability, Equity, Revenue, Expense, or one of the letters words Asset, Liability, Equity, Revenue, Expense, or one of the letters
ALERX (case insensitive): ALERX (case insensitive):
@ -1025,9 +1025,9 @@ FILE FORMAT
Or, you can use the --alias 'OLD=NEW' option on the command line. This Or, you can use the --alias 'OLD=NEW' option on the command line. This
affects all entries. It's useful for trying out aliases interactively. affects all entries. It's useful for trying out aliases interactively.
OLD and NEW are case sensitive full account names. hledger will OLD and NEW are case sensitive full account names. hledger will re-
replace any occurrence of the old account name with the new one. Sub- place any occurrence of the old account name with the new one. Subac-
accounts are also affected. Eg: counts are also affected. Eg:
alias checking = assets:bank:wells fargo:checking alias checking = assets:bank:wells fargo:checking
; rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" ; rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a"
@ -1092,9 +1092,9 @@ FILE FORMAT
end aliases end aliases
Default parent account Default parent account
You can specify a parent account which will be prepended to all You can specify a parent account which will be prepended to all ac-
accounts within a section of the journal. Use the apply account and counts within a section of the journal. Use the apply account and end
end apply account directives like so: apply account directives like so:
apply account home apply account home
@ -1128,8 +1128,8 @@ FILE FORMAT
account. account.
Periodic transactions Periodic transactions
Periodic transaction rules describe transactions that recur. They Periodic transaction rules describe transactions that recur. They al-
allow hledger to generate temporary future transactions to help with low hledger to generate temporary future transactions to help with
forecasting, so you don't have to write out each one in the journal, forecasting, so you don't have to write out each one in the journal,
and it's easy to try out different forecasts. Secondly, they are also and it's easy to try out different forecasts. Secondly, they are also
used to define the budgets shown in budget reports. used to define the budgets shown in budget reports.
@ -1150,8 +1150,8 @@ FILE FORMAT
4. Forecasted transactions will end 6 months from today, by default. 4. Forecasted transactions will end 6 months from today, by default.
See below for the exact start/end rules. See below for the exact start/end rules.
5. period expressions can be tricky. Their documentation needs 5. period expressions can be tricky. Their documentation needs im-
improvement, but is worth studying. provement, but is worth studying.
6. Some period expressions with a repeating interval must begin on a 6. Some period expressions with a repeating interval must begin on a
natural boundary of that interval. Eg in weekly from DATE, DATE natural boundary of that interval. Eg in weekly from DATE, DATE
@ -1201,12 +1201,12 @@ FILE FORMAT
o Do write two spaces between your period expression and your transac- o Do write two spaces between your period expression and your transac-
tion description, if any. tion description, if any.
o Don't accidentally write two spaces in the middle of your period o Don't accidentally write two spaces in the middle of your period ex-
expression. pression.
Forecasting with periodic transactions Forecasting with periodic transactions
With the --forecast flag, each periodic transaction rule generates With the --forecast flag, each periodic transaction rule generates fu-
future transactions recurring at the specified interval. These are not ture transactions recurring at the specified interval. These are not
saved in the journal, but appear in all reports. They will look like saved in the journal, but appear in all reports. They will look like
normal transactions, but with an extra tag: normal transactions, but with an extra tag:
@ -1390,7 +1390,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -80,7 +80,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -65,7 +65,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -142,7 +142,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -28,8 +28,8 @@ FILE FORMAT
Quantities can be written as: Quantities can be written as:
o a sequence of dots (.) representing quarter hours. Spaces may o a sequence of dots (.) representing quarter hours. Spaces may op-
optionally be used for grouping and readability. Eg: .... .. tionally be used for grouping and readability. Eg: .... ..
o an integral or decimal number, representing hours. Eg: 1.5 o an integral or decimal number, representing hours. Eg: 1.5
@ -111,7 +111,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -5,7 +5,7 @@
.SH NAME .SH NAME
.PP .PP
hledger-ui - curses-style interface for the hledger accounting tool hledger-ui - terminal interface for the hledger accounting tool
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[C]hledger-ui [OPTIONS] [QUERYARGS]\f[R] \f[C]hledger-ui [OPTIONS] [QUERYARGS]\f[R]
@ -20,9 +20,9 @@ other commodity, using double-entry accounting and a simple, editable
file format. file format.
hledger is inspired by and largely compatible with ledger(1). hledger is inspired by and largely compatible with ledger(1).
.PP .PP
hledger-ui is hledger\[aq]s curses-style interface, providing an hledger-ui is hledger\[aq]s terminal interface, providing an efficient
efficient full-window text UI for viewing accounts and transactions, and full-window text UI for viewing accounts and transactions, and some
some limited data entry capability. limited data entry capability.
It is easier than hledger\[aq]s command-line interface, and sometimes It is easier than hledger\[aq]s command-line interface, and sometimes
quicker and more convenient than the web interface. quicker and more convenient than the web interface.
.PP .PP
@ -245,7 +245,7 @@ updated file.
This allows some basic data entry. This allows some basic data entry.
.PP .PP
\f[C]A\f[R] is like \f[C]a\f[R], but runs the hledger-iadd tool, which \f[C]A\f[R] is like \f[C]a\f[R], but runs the hledger-iadd tool, which
provides a curses-style interface. provides a terminal interface.
This key will be available if \f[C]hledger-iadd\f[R] is installed in This key will be available if \f[C]hledger-iadd\f[R] is installed in
$PATH. $PATH.
.PP .PP
@ -440,7 +440,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -6,7 +6,7 @@ File: hledger-ui.info, Node: Top, Next: OPTIONS, Up: (dir)
hledger-ui(1) hledger-ui 1.15 hledger-ui(1) hledger-ui 1.15
***************************** *****************************
hledger-ui is hledger's curses-style 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 hledger's 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
@ -239,7 +239,7 @@ temporarily can be useful for troubleshooting.
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
curses-style 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
@ -399,19 +399,19 @@ to cancel the reload attempt.)
 
Tag Table: Tag Table:
Node: Top71 Node: Top71
Node: OPTIONS1101 Node: OPTIONS1097
Ref: #options1198 Ref: #options1194
Node: KEYS4589 Node: KEYS4585
Ref: #keys4684 Ref: #keys4680
Node: SCREENS7940 Node: SCREENS7932
Ref: #screens8025 Ref: #screens8017
Node: Accounts screen8115 Node: Accounts screen8107
Ref: #accounts-screen8243 Ref: #accounts-screen8235
Node: Register screen10459 Node: Register screen10451
Ref: #register-screen10614 Ref: #register-screen10606
Node: Transaction screen12610 Node: Transaction screen12602
Ref: #transaction-screen12768 Ref: #transaction-screen12760
Node: Error screen13638 Node: Error screen13630
Ref: #error-screen13760 Ref: #error-screen13752
 
End Tag Table End Tag Table

View File

@ -4,7 +4,7 @@ hledger-ui(1) hledger User Manuals hledger-ui(1)
NAME NAME
hledger-ui - curses-style interface for the hledger accounting tool hledger-ui - terminal interface for the hledger accounting tool
SYNOPSIS SYNOPSIS
hledger-ui [OPTIONS] [QUERYARGS] hledger-ui [OPTIONS] [QUERYARGS]
@ -16,7 +16,7 @@ DESCRIPTION
file format. hledger is inspired by and largely compatible with file format. hledger is inspired by and largely compatible with
ledger(1). ledger(1).
hledger-ui is hledger's curses-style 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 hledger's command- limited data entry capability. It is easier than hledger's command-
line interface, and sometimes quicker and more convenient than the web line interface, and sometimes quicker and more convenient than the web
@ -117,8 +117,8 @@ OPTIONS
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 ef-
effects) fects)
-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)
@ -204,8 +204,8 @@ KEYS
BACKSPACE or DELETE removes all filters, showing all transactions. BACKSPACE or DELETE removes all filters, showing all transactions.
As mentioned above, hledger-ui shows auto-generated periodic transac- As mentioned above, hledger-ui shows auto-generated periodic transac-
tions, and hides future transactions (auto-generated or not) by tions, and hides future transactions (auto-generated or not) by de-
default. F toggles showing and hiding these future transactions. This fault. F toggles showing and hiding these future transactions. This
is similar to using a query like date:-tomorrow, but more convenient. is similar to using a query like date:-tomorrow, but more convenient.
(experimental) (experimental)
@ -226,9 +226,9 @@ KEYS
a runs command-line hledger's 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 curses- A is like a, but runs the hledger-iadd tool, which provides a terminal
style interface. This key will be available if hledger-iadd is interface. This key will be available if hledger-iadd is installed in
installed in $PATH. $PATH.
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a "" E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a ""
-nw) on the journal file. With some editors (emacs, vi), the cursor -nw) on the journal file. With some editors (emacs, vi), the cursor
@ -250,15 +250,14 @@ SCREENS
Account names are shown as a flat list by default. Press T to toggle Account names are shown as a flat list by default. Press T to toggle
tree mode. In flat mode, account balances are exclusive of subac- tree mode. In flat mode, account balances are exclusive of subac-
counts, except where subaccounts are hidden by a depth limit (see counts, except where subaccounts are hidden by a depth limit (see be-
below). In tree mode, all account balances are inclusive of subac- low). In tree mode, all account balances are inclusive of subaccounts.
counts.
To see less detail, press a number key, 1 to 9, to set a depth limit. To see less detail, press a number key, 1 to 9, to set a depth limit.
Or use - to decrease and +/= to increase the depth limit. 0 shows even Or use - to decrease and +/= to increase the depth limit. 0 shows even
less detail, collapsing all accounts to a single total. To remove the less detail, collapsing all accounts to a single total. To remove the
depth limit, set it higher than the maximum account depth, or press depth limit, set it higher than the maximum account depth, or press ES-
ESCAPE. CAPE.
H toggles between showing historical balances or period balances. His- H toggles between showing historical balances or period balances. His-
torical balances (the default) are ending balances at the end of the torical balances (the default) are ending balances at the end of the
@ -266,15 +265,15 @@ SCREENS
(filtered by the filter query if any), including transactions before (filtered by the filter query if any), including transactions before
the start of the report period. In other words, historical balances the start of the report period. In other words, historical balances
are what you would see on a bank statement for that account (unless are what you would see on a bank statement for that account (unless
disturbed by a filter query). Period balances ignore transactions disturbed by a filter query). Period balances ignore transactions be-
before the report start date, so they show the change in balance during fore the report start date, so they show the change in balance during
the report period. They are more useful eg when viewing a time log. the report period. They are more useful eg when viewing a time log.
U toggles filtering by unmarked status, including or excluding unmarked U toggles filtering by unmarked status, including or excluding unmarked
postings in the balances. Similarly, P toggles pending postings, and C postings in the balances. Similarly, P toggles pending postings, and C
toggles cleared postings. (By default, balances include all postings; toggles cleared postings. (By default, balances include all postings;
if you activate one or two status filters, only those postings are if you activate one or two status filters, only those postings are in-
included; and if you activate all three, the filter is removed.) cluded; and if you activate all three, the filter is removed.)
R toggles real mode, in which virtual postings are ignored. R toggles real mode, in which virtual postings are ignored.
@ -329,16 +328,16 @@ SCREENS
similar to hledger's print command and journal format (hledger_jour- similar to hledger's print command and journal format (hledger_jour-
nal(5)). nal(5)).
The transaction's date(s) and any cleared flag, transaction code, The transaction's date(s) and any cleared flag, transaction code, de-
description, comments, along with all of its account postings are scription, comments, along with all of its account postings are shown.
shown. Simple transactions have two postings, but there can be more Simple transactions have two postings, but there can be more (or in
(or in certain cases, fewer). certain cases, fewer).
up and down will step through all transactions listed in the previous up and down will step through all transactions listed in the previous
account register screen. In the title bar, the numbers in parentheses account register screen. In the title bar, the numbers in parentheses
show your position within that account register. They will vary show your position within that account register. They will vary de-
depending on which account register you came from (remember most trans- pending on which account register you came from (remember most transac-
actions appear in multiple account registers). The #N number preceding tions appear in multiple account registers). The #N number preceding
them is the transaction's position within the complete unfiltered jour- them is the transaction's position within the complete unfiltered jour-
nal, which is a more stable id (at least until the next reload). nal, which is a more stable id (at least until the next reload).
@ -396,7 +395,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -289,9 +289,8 @@ that both machine clocks are roughly in step.)
.PP .PP
In addition to the web UI, hledger-web provides some API routes that In addition to the web UI, hledger-web provides some API routes that
serve JSON in response to GET requests. serve JSON in response to GET requests.
Currently these are same ones provided by the hledger-api tool, but (And when started with \f[C]--serve-api\f[R], it provides only these
hledger-web will likely receive more attention than hledger-api in routes.):
future:
.IP .IP
.nf .nf
\f[C] \f[C]
@ -377,7 +376,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -298,9 +298,8 @@ File: hledger-web.info, Node: JSON API, Prev: RELOADING, Up: Top
********** **********
In addition to the web UI, hledger-web provides some API routes that In addition to the web UI, hledger-web provides some API routes that
serve JSON in response to GET requests. Currently these are same ones serve JSON in response to GET requests. (And when started with
provided by the hledger-api tool, but hledger-web will likely receive '--serve-api', it provides only these routes.):
more attention than hledger-api in future:
/accountnames /accountnames
/transactions /transactions

View File

@ -19,9 +19,9 @@ DESCRIPTION
hledger-web is hledger's web interface. It starts a simple web appli- hledger-web is hledger's web interface. It starts a simple web appli-
cation for browsing and adding transactions, and optionally opens it in cation for browsing and adding transactions, and optionally opens it in
a web browser window if possible. It provides a more user-friendly UI a web browser window if possible. It provides a more user-friendly UI
than the hledger CLI or hledger-ui interface, showing more at once than the hledger CLI or hledger-ui interface, showing more at once (ac-
(accounts, the current account register, balance charts) and allowing counts, the current account register, balance charts) and allowing his-
history-aware data entry, interactive searching, and bookmarking. tory-aware data entry, interactive searching, and bookmarking.
hledger-web also lets you share a ledger with multiple users, or even hledger-web also lets you share a ledger with multiple users, or even
the public web. There is no access control, so if you need that you the public web. There is no access control, so if you need that you
@ -127,8 +127,8 @@ OPTIONS
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 ef-
effects) fects)
-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)
@ -214,8 +214,8 @@ PERMISSIONS
You can restrict who can reach it by You can restrict who can reach it by
o setting the IP address it listens on (see --host above). By default o 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 local it listens on 127.0.0.1, accessible to all users on the local ma-
machine. chine.
o putting it behind an authenticating proxy, using eg apache or nginx o putting it behind an authenticating proxy, using eg apache or nginx
@ -231,8 +231,8 @@ PERMISSIONS
o add - allows adding new transactions to the main journal file o add - allows adding new transactions to the main journal file
o manage - allows editing, uploading or downloading the main or o manage - allows editing, uploading or downloading the main or in-
included files cluded files
o using the --capabilities-header=HTTPHEADER flag to specify a HTTP o 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
@ -242,8 +242,8 @@ PERMISSIONS
EDITING, UPLOADING, DOWNLOADING EDITING, UPLOADING, DOWNLOADING
If you enable the manage capability mentioned above, you'll 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 in-
includes. cludes.
Note, unlike any other hledger command, in this mode you (or any visi- Note, unlike any other hledger command, in this mode you (or any visi-
tor) can alter or wipe the data files. tor) can alter or wipe the data files.
@ -262,17 +262,16 @@ RELOADING
hledger-web detects changes made to the files by other means (eg if you hledger-web detects changes made to the files by other means (eg if you
edit it directly, outside of hledger-web), and it will show the new edit it directly, outside of hledger-web), and it will show the new
data when you reload the page or navigate to a new page. If a change data when you reload the page or navigate to a new page. If a change
makes a file unparseable, hledger-web will display an error message makes a file unparseable, hledger-web will display an error message un-
until the file has been fixed. til the file has been fixed.
(Note: if you are viewing files mounted from another machine, make sure (Note: if you are viewing files mounted from another machine, make sure
that both machine clocks are roughly in step.) that both machine clocks are roughly in step.)
JSON API JSON API
In addition to the web UI, hledger-web provides some API routes that In addition to the web UI, hledger-web provides some API routes that
serve JSON in response to GET requests. Currently these are same ones serve JSON in response to GET requests. (And when started with
provided by the hledger-api tool, but hledger-web will likely receive --serve-api, it provides only these routes.):
more attention than hledger-api in future:
/accountnames /accountnames
/transactions /transactions
@ -345,7 +344,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -30,8 +30,8 @@ hledger is inspired by and largely compatible with ledger(1).
Tested on unix, mac, windows, hledger aims to be a reliable, practical Tested on unix, mac, windows, hledger aims to be a reliable, practical
tool for daily use. tool for daily use.
.PP .PP
This is hledger\[cq]s command-line interface (there are also curses and This is hledger\[cq]s command-line interface (there are also terminal
web interfaces). and web interfaces).
Its basic function is to read a plain text file describing financial Its basic function is to read a plain text file describing financial
transactions (in accounting terms, a general journal) and print useful transactions (in accounting terms, a general journal) and print useful
reports on standard output, or export them as CSV. reports on standard output, or export them as CSV.
@ -2820,7 +2820,7 @@ Examples:
\f[C] \f[C]
$ hledger help $ hledger help
Please choose a manual by typing \[dq]hledger help MANUAL\[dq] (a substring is ok). Please choose a manual by typing \[dq]hledger help MANUAL\[dq] (a substring is ok).
Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot Manuals: hledger hledger-ui hledger-web journal csv timeclock timedot
\f[R] \f[R]
.fi .fi
.IP .IP
@ -2852,6 +2852,8 @@ import
Read new transactions added to each FILE since last run, and add them to Read new transactions added to each FILE since last run, and add them to
the main journal file. the main journal file.
Or with --dry-run, just print the transactions that would be added. Or with --dry-run, just print the transactions that would be added.
Or with --catchup, just mark all of the FILEs\[aq] transactions as
imported, without actually importing any.
.PP .PP
The input files are specified as arguments - no need to write -f before The input files are specified as arguments - no need to write -f before
each one. each one.
@ -3602,12 +3604,9 @@ Here are some hledger add-ons available:
.SS Official add-ons .SS Official add-ons
.PP .PP
These are maintained and released along with hledger. These are maintained and released along with hledger.
.SS api
.PP
hledger-api serves hledger data as a JSON web API.
.SS ui .SS ui
.PP .PP
hledger-ui provides an efficient curses-style interface. hledger-ui provides an efficient terminal interface.
.SS web .SS web
.PP .PP
hledger-web provides a simple web interface. hledger-web provides a simple web interface.
@ -3621,7 +3620,7 @@ hledger-diff shows differences in an account\[aq]s transactions between
one journal file and another. one journal file and another.
.SS iadd .SS iadd
.PP .PP
hledger-iadd is a curses-style, more interactive replacement for the add hledger-iadd is a more interactive, terminal UI replacement for the add
command. command.
.SS interest .SS interest
.PP .PP
@ -3784,7 +3783,7 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
.br .br
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.

View File

@ -6,13 +6,13 @@ File: hledger.info, Node: Top, Next: EXAMPLES, Up: (dir)
hledger(1) hledger 1.15.2 hledger(1) hledger 1.15.2
************************* *************************
This is hledger's command-line interface (there are also curses and web This is hledger's command-line interface (there are also terminal and
interfaces). Its basic function is to read a plain text file describing web interfaces). Its basic function is to read a plain text file
financial transactions (in accounting terms, a general journal) and describing financial transactions (in accounting terms, a general
print useful reports on standard output, or export them as CSV. hledger journal) and print useful reports on standard output, or export them as
can also read some other file formats such as CSV files, translating CSV. hledger can also read some other file formats such as CSV files,
them to journal format. Additionally, hledger lists other hledger-* translating them to journal format. Additionally, hledger lists other
executables found in the user's $PATH and can invoke them as hledger-* executables found in the user's $PATH and can invoke them as
subcommands. subcommands.
hledger reads data from one or more files in hledger journal, hledger reads data from one or more files in hledger journal,
@ -2320,7 +2320,7 @@ particular viewer with the '--info', '--man', '--pager', '--cat' flags.
$ hledger help $ hledger help
Please choose a manual by typing "hledger help MANUAL" (a substring is ok). Please choose a manual by typing "hledger help MANUAL" (a substring is ok).
Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot Manuals: hledger hledger-ui hledger-web journal csv timeclock timedot
$ hledger help h --man $ hledger help h --man
@ -2347,7 +2347,8 @@ File: hledger.info, Node: import, Next: incomestatement, Prev: help, Up: COM
import import
Read new transactions added to each FILE since last run, and add them to Read new transactions added to each FILE since last run, and add them to
the main journal file. Or with -dry-run, just print the transactions the main journal file. Or with -dry-run, just print the transactions
that would be added. that would be added. Or with -catchup, just mark all of the FILEs'
transactions as imported, without actually importing any.
The input files are specified as arguments - no need to write -f The input files are specified as arguments - no need to write -f
before each one. So eg to add new transactions from all CSV files to before each one. So eg to add new transactions from all CSV files to
@ -3036,30 +3037,21 @@ These are maintained and released along with hledger.
* Menu: * Menu:
* api::
* ui:: * ui::
* web:: * web::
 
File: hledger.info, Node: api, Next: ui, Up: Official add-ons File: hledger.info, Node: ui, Next: web, Up: Official add-ons
5.1.1 api 5.1.1 ui
---------
hledger-api serves hledger data as a JSON web API.

File: hledger.info, Node: ui, Next: web, Prev: api, Up: Official add-ons
5.1.2 ui
-------- --------
hledger-ui provides an efficient curses-style interface. hledger-ui provides an efficient terminal interface.
 
File: hledger.info, Node: web, Prev: ui, Up: Official add-ons File: hledger.info, Node: web, Prev: ui, Up: Official add-ons
5.1.3 web 5.1.2 web
--------- ---------
hledger-web provides a simple web interface. hledger-web provides a simple web interface.
@ -3092,7 +3084,7 @@ File: hledger.info, Node: iadd, Next: interest, Prev: , Up: Third party add-
5.2.2 iadd 5.2.2 iadd
---------- ----------
hledger-iadd is a curses-style, more interactive replacement for the add hledger-iadd is a more interactive, terminal UI replacement for the add
command. command.
 
@ -3159,179 +3151,177 @@ hledger-check.hs checks more powerful account balance assertions.
 
Tag Table: Tag Table:
Node: Top68 Node: Top68
Node: EXAMPLES1889 Node: EXAMPLES1891
Ref: #examples1989 Ref: #examples1991
Node: OPTIONS3635 Node: OPTIONS3637
Ref: #options3737 Ref: #options3739
Node: General options4136 Node: General options4138
Ref: #general-options4261 Ref: #general-options4263
Node: Command options6915 Node: Command options6917
Ref: #command-options7066 Ref: #command-options7068
Node: Command arguments7464 Node: Command arguments7466
Ref: #command-arguments7618 Ref: #command-arguments7620
Node: Argument files7739 Node: Argument files7741
Ref: #argument-files7915 Ref: #argument-files7917
Node: Special characters in arguments and queries8181 Node: Special characters in arguments and queries8183
Ref: #special-characters-in-arguments-and-queries8415 Ref: #special-characters-in-arguments-and-queries8417
Node: More escaping8866 Node: More escaping8868
Ref: #more-escaping9028 Ref: #more-escaping9030
Node: Even more escaping9324 Node: Even more escaping9326
Ref: #even-more-escaping9518 Ref: #even-more-escaping9520
Node: Less escaping10189 Node: Less escaping10191
Ref: #less-escaping10351 Ref: #less-escaping10353
Node: Command line tips10596 Node: Command line tips10598
Ref: #command-line-tips10782 Ref: #command-line-tips10784
Node: Unicode characters11159 Node: Unicode characters11161
Ref: #unicode-characters11315 Ref: #unicode-characters11317
Node: Input files12727 Node: Input files12729
Ref: #input-files12863 Ref: #input-files12865
Node: Smart dates14792 Node: Smart dates14794
Ref: #smart-dates14933 Ref: #smart-dates14935
Node: Report start & end date16339 Node: Report start & end date16341
Ref: #report-start-end-date16511 Ref: #report-start-end-date16513
Node: Report intervals17935 Node: Report intervals17937
Ref: #report-intervals18100 Ref: #report-intervals18102
Node: Period expressions18490 Node: Period expressions18492
Ref: #period-expressions18650 Ref: #period-expressions18652
Node: Depth limiting22607 Node: Depth limiting22609
Ref: #depth-limiting22751 Ref: #depth-limiting22753
Node: Pivoting23093 Node: Pivoting23095
Ref: #pivoting23216 Ref: #pivoting23218
Node: Valuation24892 Node: Valuation24894
Ref: #valuation25021 Ref: #valuation25023
Node: -B Cost25201 Node: -B Cost25203
Ref: #b-cost25312 Ref: #b-cost25314
Node: -V Market value25510 Node: -V Market value25512
Ref: #v-market-value25684 Ref: #v-market-value25686
Node: -X Market value in specified commodity27116 Node: -X Market value in specified commodity27118
Ref: #x-market-value-in-specified-commodity27355 Ref: #x-market-value-in-specified-commodity27357
Node: --value Flexible valuation27531 Node: --value Flexible valuation27533
Ref: #value-flexible-valuation27757 Ref: #value-flexible-valuation27759
Node: Effect of --value on reports31947 Node: Effect of --value on reports31949
Ref: #effect-of---value-on-reports32163 Ref: #effect-of---value-on-reports32165
Node: Combining -B -V -X --value37094 Node: Combining -B -V -X --value37096
Ref: #combining--b--v--x---value37277 Ref: #combining--b--v--x---value37279
Node: Output destination37313 Node: Output destination37315
Ref: #output-destination37465 Ref: #output-destination37467
Node: Output format37748 Node: Output format37750
Ref: #output-format37900 Ref: #output-format37902
Node: Regular expressions38285 Node: Regular expressions38287
Ref: #regular-expressions38422 Ref: #regular-expressions38424
Node: QUERIES39783 Node: QUERIES39785
Ref: #queries39885 Ref: #queries39887
Node: COMMANDS43847 Node: COMMANDS43849
Ref: #commands43959 Ref: #commands43961
Node: accounts45023 Node: accounts45025
Ref: #accounts45121 Ref: #accounts45123
Node: activity45820 Node: activity45822
Ref: #activity45930 Ref: #activity45932
Node: add46313 Node: add46315
Ref: #add46412 Ref: #add46414
Node: balance49157 Node: balance49159
Ref: #balance49268 Ref: #balance49270
Node: Classic balance report50710 Node: Classic balance report50712
Ref: #classic-balance-report50883 Ref: #classic-balance-report50885
Node: Customising the classic balance report52252 Node: Customising the classic balance report52254
Ref: #customising-the-classic-balance-report52480 Ref: #customising-the-classic-balance-report52482
Node: Colour support54556 Node: Colour support54558
Ref: #colour-support54723 Ref: #colour-support54725
Node: Flat mode54896 Node: Flat mode54898
Ref: #flat-mode55044 Ref: #flat-mode55046
Node: Depth limited balance reports55457 Node: Depth limited balance reports55459
Ref: #depth-limited-balance-reports55657 Ref: #depth-limited-balance-reports55659
Node: Multicolumn balance report56113 Node: Multicolumn balance report56115
Ref: #multicolumn-balance-report56311 Ref: #multicolumn-balance-report56313
Node: Budget report61625 Node: Budget report61627
Ref: #budget-report61768 Ref: #budget-report61770
Node: Nested budgets66970 Node: Nested budgets66972
Ref: #nested-budgets67082 Ref: #nested-budgets67084
Ref: #output-format-170562 Ref: #output-format-170564
Node: balancesheet70640 Node: balancesheet70642
Ref: #balancesheet70776 Ref: #balancesheet70778
Node: balancesheetequity72091 Node: balancesheetequity72093
Ref: #balancesheetequity72240 Ref: #balancesheetequity72242
Node: cashflow72801 Node: cashflow72803
Ref: #cashflow72929 Ref: #cashflow72931
Node: check-dates73957 Node: check-dates73959
Ref: #check-dates74084 Ref: #check-dates74086
Node: check-dupes74363 Node: check-dupes74365
Ref: #check-dupes74487 Ref: #check-dupes74489
Node: close74780 Node: close74782
Ref: #close74894 Ref: #close74896
Node: commodities78481 Node: commodities78483
Ref: #commodities78608 Ref: #commodities78610
Node: descriptions78690 Node: descriptions78692
Ref: #descriptions78818 Ref: #descriptions78820
Node: diff78999 Node: diff79001
Ref: #diff79105 Ref: #diff79107
Node: files80152 Node: files80154
Ref: #files80252 Ref: #files80254
Node: help80399 Node: help80401
Ref: #help80499 Ref: #help80501
Node: import81592 Node: import81582
Ref: #import81706 Ref: #import81696
Node: Importing balance assignments82494 Node: Importing balance assignments82589
Ref: #importing-balance-assignments82642 Ref: #importing-balance-assignments82737
Node: incomestatement83291 Node: incomestatement83386
Ref: #incomestatement83424 Ref: #incomestatement83519
Node: notes84760 Node: notes84855
Ref: #notes84873 Ref: #notes84968
Node: payees84999 Node: payees85094
Ref: #payees85105 Ref: #payees85200
Node: prices85263 Node: prices85358
Ref: #prices85369 Ref: #prices85464
Node: print85648 Node: print85743
Ref: #print85758 Ref: #print85853
Node: print-unique90251 Node: print-unique90346
Ref: #print-unique90377 Ref: #print-unique90472
Node: register90662 Node: register90757
Ref: #register90789 Ref: #register90884
Node: Custom register output94961 Node: Custom register output95056
Ref: #custom-register-output95090 Ref: #custom-register-output95185
Node: register-match96352 Node: register-match96447
Ref: #register-match96486 Ref: #register-match96581
Node: rewrite96837 Node: rewrite96932
Ref: #rewrite96952 Ref: #rewrite97047
Node: Re-write rules in a file98807 Node: Re-write rules in a file98902
Ref: #re-write-rules-in-a-file98941 Ref: #re-write-rules-in-a-file99036
Node: Diff output format100151 Node: Diff output format100246
Ref: #diff-output-format100320 Ref: #diff-output-format100415
Node: rewrite vs print --auto101412 Node: rewrite vs print --auto101507
Ref: #rewrite-vs.-print---auto101591 Ref: #rewrite-vs.-print---auto101686
Node: roi102147 Node: roi102242
Ref: #roi102245 Ref: #roi102340
Node: stats103257 Node: stats103352
Ref: #stats103356 Ref: #stats103451
Node: tags104144 Node: tags104239
Ref: #tags104242 Ref: #tags104337
Node: test104536 Node: test104631
Ref: #test104620 Ref: #test104715
Node: ADD-ON COMMANDS105381 Node: ADD-ON COMMANDS105476
Ref: #add-on-commands105491 Ref: #add-on-commands105586
Node: Official add-ons106779 Node: Official add-ons106874
Ref: #official-add-ons106919 Ref: #official-add-ons107014
Node: api107007 Node: ui107094
Ref: #api107096 Ref: #ui107181
Node: ui107148 Node: web107235
Ref: #ui107247 Ref: #web107324
Node: web107305 Node: Third party add-ons107370
Ref: #web107394 Ref: #third-party-add-ons107545
Node: Third party add-ons107440 Ref: #diff-1107704
Ref: #third-party-add-ons107615 Node: iadd107803
Ref: #diff-1107774 Ref: #iadd107913
Node: iadd107873 Node: interest107995
Ref: #iadd107983 Ref: #interest108116
Node: interest108066 Node: irr108211
Ref: #interest108187 Ref: #irr108309
Node: irr108282 Node: Experimental add-ons108440
Ref: #irr108380 Ref: #experimental-add-ons108592
Node: Experimental add-ons108511 Node: autosync108840
Ref: #experimental-add-ons108663 Ref: #autosync108951
Node: autosync108911 Node: chart109190
Ref: #autosync109022 Ref: #chart109309
Node: chart109261 Node: check109380
Ref: #chart109380 Ref: #check109482
Node: check109451
Ref: #check109553
 
End Tag Table End Tag Table

View File

@ -19,12 +19,12 @@ DESCRIPTION
Tested on unix, mac, windows, hledger aims to be a reliable, practical Tested on unix, mac, windows, hledger aims to be a reliable, practical
tool for daily use. tool for daily use.
This is hledger's command-line interface (there are also curses and web This is hledger's command-line interface (there are also terminal and
interfaces). Its basic function is to read a plain text file describ- web interfaces). Its basic function is to read a plain text file de-
ing financial transactions (in accounting terms, a general journal) and scribing financial transactions (in accounting terms, a general jour-
print useful reports on standard output, or export them as CSV. nal) and print useful reports on standard output, or export them as
hledger can also read some other file formats such as CSV files, trans- CSV. hledger can also read some other file formats such as CSV files,
lating them to journal format. Additionally, hledger lists other translating them to journal format. Additionally, hledger lists other
hledger-* executables found in the user's $PATH and can invoke them as hledger-* executables found in the user's $PATH and can invoke them as
subcommands. subcommands.
@ -176,8 +176,8 @@ OPTIONS
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 ef-
effects) fects)
-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)
@ -218,14 +218,14 @@ OPTIONS
Some reporting options can also be written as query arguments. Some reporting options can also be written as query arguments.
Command options Command options
To see options for a particular command, including command-specific To see options for a particular command, including command-specific op-
options, run: hledger COMMAND -h. tions, run: hledger COMMAND -h.
Command-specific options must be written after the command name, eg: Command-specific options must be written after the command name, eg:
hledger print -x. hledger print -x.
Additionally, if the command is an addon, you may need to put its Additionally, if the command is an addon, you may need to put its op-
options after a double-hyphen, eg: hledger ui -- --watch. Or, you can tions after a double-hyphen, eg: hledger ui -- --watch. Or, you can
run the addon executable directly: hledger-ui --watch. run the addon executable directly: hledger-ui --watch.
Command arguments Command arguments
@ -320,8 +320,8 @@ OPTIONS
This requires a well-configured environment. Here are some tips: This requires a well-configured environment. Here are some tips:
o A system locale must be configured, and it must be one that can o A system locale must be configured, and it must be one that can de-
decode the characters being used. In bash, you can set a locale like code the characters being used. In bash, you can set a locale like
this: export LANG=en_US.UTF-8. There are some more details in Trou- this: export LANG=en_US.UTF-8. There are some more details in Trou-
bleshooting. This step is essential - without it, hledger will quit bleshooting. This step is essential - without it, hledger will quit
on encountering a non-ascii character (as with all GHC-compiled pro- on encountering a non-ascii character (as with all GHC-compiled pro-
@ -421,8 +421,8 @@ OPTIONS
201812 6 digit YYYYMM with valid 201812 6 digit YYYYMM with valid
year and month year and month
Counterexamples - malformed digit sequences might give surprising Counterexamples - malformed digit sequences might give surprising re-
results: sults:
201813 6 digits with an invalid 201813 6 digits with an invalid
month is parsed as start month is parsed as start
@ -472,9 +472,9 @@ OPTIONS
ber 1st of the current ber 1st of the current
year (11/30 will be the year (11/30 will be the
last date included) last date included)
-b thismonth all transactions on or -b thismonth all transactions on or af-
after the 1st of the cur- ter the 1st of the current
rent month month
-p thismonth all transactions in the -p thismonth all transactions in the
current month current month
date:2016/3/17- the above written as date:2016/3/17- the above written as
@ -488,8 +488,8 @@ OPTIONS
ance and activity will divide their reports into multiple subperiods. ance and activity will divide their reports into multiple subperiods.
The basic intervals can be selected with one of -D/--daily, The basic intervals can be selected with one of -D/--daily,
-W/--weekly, -M/--monthly, -Q/--quarterly, or -Y/--yearly. More com- -W/--weekly, -M/--monthly, -Q/--quarterly, or -Y/--yearly. More com-
plex intervals may be specified with a period expression. Report plex intervals may be specified with a period expression. Report in-
intervals can not be specified with a query. tervals can not be specified with a query.
Period expressions Period expressions
The -p/--period option accepts period expressions, a shorthand way of The -p/--period option accepts period expressions, a shorthand way of
@ -539,11 +539,11 @@ OPTIONS
-p "2009/1/1" just that day; equivalent -p "2009/1/1" just that day; equivalent
to "2009/1/1 to 2009/1/2" to "2009/1/1 to 2009/1/2"
The argument of -p can also begin with, or be, a report interval The argument of -p can also begin with, or be, a report interval ex-
expression. The basic report intervals are daily, weekly, monthly, pression. The basic report intervals are daily, weekly, monthly, quar-
quarterly, or yearly, which have the same effect as the -D,-W,-M,-Q, or terly, or yearly, which have the same effect as the -D,-W,-M,-Q, or -Y
-Y flags. Between report interval and start/end dates (if any), the flags. Between report interval and start/end dates (if any), the word
word in is optional. Examples: in is optional. Examples:
-p "weekly from 2009/1/1 to 2009/4/1" -p "weekly from 2009/1/1 to 2009/4/1"
-p "monthly in 2008" -p "monthly in 2008"
@ -551,8 +551,8 @@ OPTIONS
Note that weekly, monthly, quarterly and yearly intervals will always Note that weekly, monthly, quarterly and yearly intervals will always
start on the first day on week, month, quarter or year accordingly, and start on the first day on week, month, quarter or year accordingly, and
will end on the last day of same period, even if associated period will end on the last day of same period, even if associated period ex-
expression specifies different explicit start and end date. pression specifies different explicit start and end date.
For example: For example:
@ -568,8 +568,8 @@ OPTIONS
-p "yearly from 2009-12-29" - starts on -p "yearly from 2009-12-29" - starts on
2009/01/01, first day of 2009 2009/01/01, first day of 2009
The following more complex report intervals are also supported: The following more complex report intervals are also supported: bi-
biweekly, bimonthly, every day|week|month|quarter|year, every N weekly, bimonthly, every day|week|month|quarter|year, every N
days|weeks|months|quarters|years. days|weeks|months|quarters|years.
All of these will start on the first day of the requested period and All of these will start on the first day of the requested period and
@ -582,8 +582,8 @@ OPTIONS
2008/03/01, ... 2008/03/01, ...
-p "every 2 weeks" -- starts on closest -p "every 2 weeks" -- starts on closest
preceeding Monday preceeding Monday
-p "every 5 month from 2009/03" -- -p "every 5 month from 2009/03" -- pe-
periods will have boundaries on riods will have boundaries on
2009/03/01, 2009/08/01, ... 2009/03/01, 2009/08/01, ...
If you want intervals that start on arbitrary day of your choosing and If you want intervals that start on arbitrary day of your choosing and
@ -622,9 +622,9 @@ OPTIONS
Depth limiting Depth limiting
With the --depth N option (short form: -N), commands like account, bal- With the --depth N option (short form: -N), commands like account, bal-
ance and register will show only the uppermost accounts in the account ance and register will show only the uppermost accounts in the account
tree, down to level N. Use this when you want a summary with less tree, down to level N. Use this when you want a summary with less de-
detail. This flag has the same effect as a depth: query argument (so tail. This flag has the same effect as a depth: query argument (so -2,
-2, --depth=2 or depth:2 are basically equivalent). --depth=2 or depth:2 are basically equivalent).
Pivoting Pivoting
Normally hledger sums amounts, and organizes them in a hierarchy, based Normally hledger sums amounts, and organizes them in a hierarchy, based
@ -662,8 +662,8 @@ OPTIONS
-------------------- --------------------
0 0
One way to show only amounts with a member: value (using a query, One way to show only amounts with a member: value (using a query, de-
described below): scribed below):
$ hledger balance --pivot member tag:member=. $ hledger balance --pivot member tag:member=.
-2 EUR John Doe -2 EUR John Doe
@ -691,8 +691,8 @@ OPTIONS
is today (equivalent to --value=now); for multiperiod reports, it is is today (equivalent to --value=now); for multiperiod reports, it is
the last day of each subperiod (equivalent to --value=end). the last day of each subperiod (equivalent to --value=end).
The default valuation commodity is the one referenced in the latest The default valuation commodity is the one referenced in the latest ap-
applicable market price dated on or before the valuation date. If most plicable market price dated on or before the valuation date. If most
of your P declarations lead to a single home currency, this will usu- of your P declarations lead to a single home currency, this will usu-
ally be what you want. (To specify the commodity, see -X below.) ally be what you want. (To specify the commodity, see -X below.)
@ -782,8 +782,8 @@ OPTIONS
o reverse prices (declared prices from valuation to source commodity, o reverse prices (declared prices from valuation to source commodity,
inverted) inverted)
o indirect prices (prices calculated from the shortest chain of o indirect prices (prices calculated from the shortest chain of de-
declared or reverse prices from source to valuation commodity) clared or reverse prices from source to valuation commodity)
in that order. in that order.
@ -862,8 +862,8 @@ OPTIONS
2000/03/01 2000/03/01
(a) 1 B (a) 1 B
You may need to explicitly set a commodity's display style, when You may need to explicitly set a commodity's display style, when re-
reverse prices are used. Eg this output might be surprising: verse prices are used. Eg this output might be surprising:
P 2000-01-01 A 2B P 2000-01-01 A 2B
@ -897,8 +897,8 @@ OPTIONS
Effect of --value on reports Effect of --value on reports
Here is a reference for how --value currently affects each part of Here is a reference for how --value currently affects each part of
hledger's reports. It's work in progress, but may be useful for trou- hledger's reports. It's work in progress, but may be useful for trou-
bleshooting or reporting bugs. See also the definitions and notes bleshooting or reporting bugs. See also the definitions and notes be-
below. If you find problems, please report them, ideally with a repro- low. If you find problems, please report them, ideally with a repro-
ducible example. Related: #329, #1083. ducible example. Related: #329, #1083.
Report type -B, -V, -X --value=end --value=DATE, Report type -B, -V, -X --value=end --value=DATE,
@ -908,8 +908,8 @@ OPTIONS
posting cost value at report value at report value at posting cost value at report value at report value at
amounts end or today or journal end DATE/today amounts end or today or journal end DATE/today
balance asser- unchanged unchanged unchanged unchanged balance asser- unchanged unchanged unchanged unchanged
tions / tions / as-
assignments signments
register register
starting bal- cost value at day value at day value at starting bal- cost value at day value at day value at
@ -924,8 +924,8 @@ OPTIONS
ing amounts cost ends ends DATE/today ing amounts cost ends ends DATE/today
(with report (with report
interval) interval)
running sum/average of sum/average of sum/average of sum/average running to- sum/average of sum/average of sum/average of sum/average
total/average displayed val- displayed val- displayed val- of displayed tal/average displayed val- displayed val- displayed val- of displayed
ues ues ues values ues ues ues values
balance (bs, balance (bs,
@ -939,25 +939,24 @@ OPTIONS
val) postings postings sums of post- val) postings postings sums of post-
ings ings
starting bal- sums of costs sums of post- sums of post- sums of post- starting bal- sums of costs sums of post- sums of post- sums of post-
ances (with of postings ings before ings before ings before ances (with of postings ings before re- ings before re- ings before
report inter- before report report start report start report start report inter- before report port start port start report start
val and -H) start val and -H) start
budget amounts like balances like balances like balances like balances budget amounts like balances like balances like balances like balances
with --budget with --budget
grand total sum of dis- sum of dis- sum of dis- sum of dis- grand total sum of dis- sum of dis- sum of dis- sum of dis-
(no report played values played values played values played values (no report in- played values played values played values played values
interval) terval)
row sums/averages sums/averages sums/averages sums/averages row totals/av- sums/averages sums/averages sums/averages sums/averages
totals/aver- of displayed of displayed of displayed of displayed erages (with of displayed of displayed of displayed of displayed
ages (with values values values values report inter- values values values values
report inter-
val) val)
column totals sums of dis- sums of dis- sums of dis- sums of dis- column totals sums of dis- sums of dis- sums of dis- sums of dis-
played values played values played values played values played values played values played values played values
grand sum/average of sum/average of sum/average of sum/average grand to- sum/average of sum/average of sum/average of sum/average
total/average column totals column totals column totals of column tal/average column totals column totals column totals of column to-
totals tals
Additional notes Additional notes
@ -1033,8 +1032,8 @@ OPTIONS
o also support GNU word boundaries (\<, \>, \b, \B) o also support GNU word boundaries (\<, \>, \b, \B)
o and parenthesised capturing groups and numeric backreferences in o and parenthesised capturing groups and numeric backreferences in re-
replacement strings placement strings
o do not support mode modifiers like (?s) o do not support mode modifiers like (?s)
@ -1151,8 +1150,8 @@ QUERIES
only: only:
inacct:ACCTNAME inacct:ACCTNAME
tells hledger-web to show the transaction register for this tells hledger-web to show the transaction register for this ac-
account. Can be filtered further with acct etc. count. Can be filtered further with acct etc.
Some of these can also be expressed as command-line options (eg depth:2 Some of these can also be expressed as command-line options (eg depth:2
is equivalent to --depth 2). Generally you can mix options and query is equivalent to --depth 2). Generally you can mix options and query
@ -1167,14 +1166,14 @@ COMMANDS
scripts named hledger-NAME in your PATH, these will also be listed as scripts named hledger-NAME in your PATH, these will also be listed as
subcommands. subcommands.
Run a subcommand by writing its name as first argument (eg hledger Run a subcommand by writing its name as first argument (eg hledger in-
incomestatement). You can also write one of the standard short aliases comestatement). You can also write one of the standard short aliases
displayed in parentheses in the command list (hledger b), or any any displayed in parentheses in the command list (hledger b), or any any
unambiguous prefix of a command name (hledger inc). unambiguous prefix of a command name (hledger inc).
Here are all the builtin commands in alphabetical order. See also Here are all the builtin commands in alphabetical order. See also
hledger for a more organised command list, and hledger CMD -h for hledger for a more organised command list, and hledger CMD -h for de-
detailed command help. tailed command help.
accounts accounts
accounts, a accounts, a
@ -1235,8 +1234,8 @@ COMMANDS
Features: Features:
o add tries to provide useful defaults, using the most similar (by o add tries to provide useful defaults, using the most similar (by de-
description) recent transaction (filtered by the query, if any) as a scription) recent transaction (filtered by the query, if any) as a
template. template.
o You can also set the initial defaults with command line arguments. o You can also set the initial defaults with command line arguments.
@ -1335,8 +1334,8 @@ COMMANDS
-------------------- --------------------
0 0
By default, accounts are displayed hierarchically, with subaccounts By default, accounts are displayed hierarchically, with subaccounts in-
indented below their parent. At each level of the tree, accounts are dented below their parent. At each level of the tree, accounts are
sorted by account code if any, then by account name. Or with sorted by account code if any, then by account name. Or with
-S/--sort-amount, by their balance amount. -S/--sort-amount, by their balance amount.
@ -1405,9 +1404,9 @@ COMMANDS
o %, - render on one line, comma-separated o %, - render on one line, comma-separated
There are some quirks. Eg in one-line mode, %(depth_spacer) has no There are some quirks. Eg in one-line mode, %(depth_spacer) has no ef-
effect, instead %(account) has indentation built in. Experimentation fect, instead %(account) has indentation built in. Experimentation may
may be needed to get pleasing results. be needed to get pleasing results.
Some example formats: Some example formats:
@ -1459,8 +1458,8 @@ COMMANDS
Multicolumn or tabular balance reports are a very useful hledger fea- Multicolumn or tabular balance reports are a very useful hledger fea-
ture, and usually the preferred style. They share many of the above ture, and usually the preferred style. They share many of the above
features, but they show the report as a table, with columns represent- features, but they show the report as a table, with columns represent-
ing time periods. This mode is activated by providing a reporting ing time periods. This mode is activated by providing a reporting in-
interval. terval.
There are three types of multicolumn balance report, showing different There are three types of multicolumn balance report, showing different
information: information:
@ -1481,8 +1480,8 @@ COMMANDS
-------------------++--------------------------------- -------------------++---------------------------------
|| $-1 $1 0 0 || $-1 $1 0 0
2. With --cumulative: each column shows the ending balance for that 2. With --cumulative: each column shows the ending balance for that pe-
period, accumulating the changes across periods, starting from 0 at riod, accumulating the changes across periods, starting from 0 at
the report start date: the report start date:
$ hledger balance --quarterly income expenses -E --cumulative $ hledger balance --quarterly income expenses -E --cumulative
@ -1527,12 +1526,12 @@ COMMANDS
ods will be "full" and comparable to the others. ods will be "full" and comparable to the others.
The -E/--empty flag does two things in multicolumn balance reports: The -E/--empty flag does two things in multicolumn balance reports:
first, the report will show all columns within the specified report first, the report will show all columns within the specified report pe-
period (without -E, leading and trailing columns with all zeroes are riod (without -E, leading and trailing columns with all zeroes are not
not shown). Second, all accounts which existed at the report start shown). Second, all accounts which existed at the report start date
date will be considered, not just the ones with activity during the will be considered, not just the ones with activity during the report
report period (use -E to include low-activity accounts which would oth- period (use -E to include low-activity accounts which would otherwise
erwise would be omitted). would be omitted).
The -T/--row-total flag adds an additional column showing the total for The -T/--row-total flag adds an additional column showing the total for
each row. each row.
@ -1570,12 +1569,12 @@ COMMANDS
Budget report Budget report
With --budget, extra columns are displayed showing budget goals for With --budget, extra columns are displayed showing budget goals for
each account and period, if any. Budget goals are defined by periodic each account and period, if any. Budget goals are defined by periodic
transactions. This is very useful for comparing planned and actual transactions. This is very useful for comparing planned and actual in-
income, expenses, time usage, etc. --budget is most often combined come, expenses, time usage, etc. --budget is most often combined with
with a report interval. a report interval.
For example, you can take average monthly expenses in the common For example, you can take average monthly expenses in the common ex-
expense categories to construct a minimal monthly budget: pense categories to construct a minimal monthly budget:
;; Budget ;; Budget
~ monthly ~ monthly
@ -1700,10 +1699,10 @@ COMMANDS
budget for personal expenses is an additional $1000, which implicity budget for personal expenses is an additional $1000, which implicity
means that budget for both expenses:personal and expenses is $1100. means that budget for both expenses:personal and expenses is $1100.
Transactions in expenses:personal:electronics will be counted both Transactions in expenses:personal:electronics will be counted both to-
towards its $100 budget and $1100 of expenses:personal , and transac- wards its $100 budget and $1100 of expenses:personal , and transactions
tions in any other subaccount of expenses:personal would be counted in any other subaccount of expenses:personal would be counted towards
towards only towards the budget of expenses:personal. only towards the budget of expenses:personal.
For example, let's consider these transactions: For example, let's consider these transactions:
@ -1764,8 +1763,8 @@ COMMANDS
|| 0 [ 0] || 0 [ 0]
Output format Output format
The balance command supports output destination and output format The balance command supports output destination and output format se-
selection. lection.
balancesheet balancesheet
balancesheet, bs balancesheet, bs
@ -1925,12 +1924,12 @@ COMMANDS
INGDATE. Eg, to close/open on the 2018/2019 boundary, use -e 2019. INGDATE. Eg, to close/open on the 2018/2019 boundary, use -e 2019.
You can also use -p or date:PERIOD (any starting date is ignored). You can also use -p or date:PERIOD (any starting date is ignored).
Both transactions will include balance assertions for the Both transactions will include balance assertions for the closed/re-
closed/reopened accounts. You probably shouldn't use status or real- opened accounts. You probably shouldn't use status or realness filters
ness filters (like -C or -R or status:) with this command, or the gen- (like -C or -R or status:) with this command, or the generated balance
erated balance assertions will depend on these flags. Likewise, if you assertions will depend on these flags. Likewise, if you run this com-
run this command with --auto, the balance assertions will probably mand with --auto, the balance assertions will probably always require
always require --auto. --auto.
When account balances have cost information (transaction prices), the When account balances have cost information (transaction prices), the
closing/opening transactions will preserve it, so that eg balance -B closing/opening transactions will preserve it, so that eg balance -B
@ -2039,7 +2038,7 @@ COMMANDS
$ hledger help $ hledger help
Please choose a manual by typing "hledger help MANUAL" (a substring is ok). Please choose a manual by typing "hledger help MANUAL" (a substring is ok).
Manuals: hledger hledger-ui hledger-web hledger-api journal csv timeclock timedot Manuals: hledger hledger-ui hledger-web journal csv timeclock timedot
$ hledger help h --man $ hledger help h --man
@ -2061,7 +2060,8 @@ COMMANDS
import import
Read new transactions added to each FILE since last run, and add them Read new transactions added to each FILE since last run, and add them
to the main journal file. Or with --dry-run, just print the transac- to the main journal file. Or with --dry-run, just print the transac-
tions that would be added. tions that would be added. Or with --catchup, just mark all of the
FILEs' transactions as imported, without actually importing any.
The input files are specified as arguments - no need to write -f before The input files are specified as arguments - no need to write -f before
each one. So eg to add new transactions from all CSV files to the main each one. So eg to add new transactions from all CSV files to the main
@ -2096,8 +2096,8 @@ COMMANDS
expenses during a period. It assumes that these accounts are under a expenses during a period. It assumes that these accounts are under a
top-level revenue or income or expense account (case insensitive, plu- top-level revenue or income or expense account (case insensitive, plu-
ral forms also allowed). Note this report shows all account balances ral forms also allowed). Note this report shows all account balances
with normal positive sign (like conventional financial statements, with normal positive sign (like conventional financial statements, un-
unlike balance/print/register) (experimental). like balance/print/register) (experimental).
This command displays a simple income statement. It currently assumes This command displays a simple income statement. It currently assumes
that you have top-level accounts named income (or revenue) and expense that you have top-level accounts named income (or revenue) and expense
@ -2158,10 +2158,9 @@ COMMANDS
prices prices
prices prices
Print market price directives from the journal. With --costs, also Print market price directives from the journal. With --costs, also
print synthetic market prices based on transaction prices. With print synthetic market prices based on transaction prices. With --in-
--inverted-costs, also print inverse prices based on transaction verted-costs, also print inverse prices based on transaction prices.
prices. Prices (and postings providing prices) can be filtered by a Prices (and postings providing prices) can be filtered by a query.
query.
print print
print, txns, p print, txns, p
@ -2172,8 +2171,8 @@ COMMANDS
tions are sorted by secondary date instead. tions are sorted by secondary date instead.
print's output is always a valid hledger journal. print's output is always a valid hledger journal.
It preserves all transaction information, but it does not preserve It preserves all transaction information, but it does not preserve di-
directives or inter-transaction comments rectives or inter-transaction comments
$ hledger print $ hledger print
2008/01/01 income 2008/01/01 income
@ -2219,16 +2218,16 @@ COMMANDS
cial state file (.latest.FILE in the same directory), containing the cial state file (.latest.FILE in the same directory), containing the
latest transaction date(s) that were seen last time FILE was read. latest transaction date(s) that were seen last time FILE was read.
When this file is found, only transactions with newer dates (and new When this file is found, only transactions with newer dates (and new
transactions on the latest date) are printed. This is useful for transactions on the latest date) are printed. This is useful for ig-
ignoring already-seen entries in import data, such as downloaded CSV noring already-seen entries in import data, such as downloaded CSV
files. Eg: files. Eg:
$ hledger -f bank1.csv print --new $ hledger -f bank1.csv print --new
# shows transactions added since last print --new on this file # shows transactions added since last print --new on this file
This assumes that transactions added to FILE always have same or This assumes that transactions added to FILE always have same or in-
increasing dates, and that transactions on the same day do not get creasing dates, and that transactions on the same day do not get re-
reordered. See also the import command. ordered. See also the import command.
This command also supports output destination and output format selec- This command also supports output destination and output format selec-
tion. Here's an example of print's CSV output: tion. Here's an example of print's CSV output:
@ -2309,21 +2308,21 @@ COMMANDS
The --average/-A flag shows the running average posting amount instead The --average/-A flag shows the running average posting amount instead
of the running total (so, the final number displayed is the average for of the running total (so, the final number displayed is the average for
the whole report period). This flag implies --empty (see below). It the whole report period). This flag implies --empty (see below). It
is affected by --historical. It works best when showing just one is affected by --historical. It works best when showing just one ac-
account and one commodity. count and one commodity.
The --related/-r flag shows the other postings in the transactions of The --related/-r flag shows the other postings in the transactions of
the postings which would normally be shown. the postings which would normally be shown.
The --invert flag negates all amounts. For example, it can be used on The --invert flag negates all amounts. For example, it can be used on
an income account where amounts are normally displayed as negative num- an income account where amounts are normally displayed as negative num-
bers. It's also useful to show postings on the checking account bers. It's also useful to show postings on the checking account to-
together with the related account: gether with the related account:
$ hledger register --related --invert assets:checking $ hledger register --related --invert assets:checking
With a reporting interval, register shows summary postings, one per With a reporting interval, register shows summary postings, one per in-
interval, aggregating the postings to each account: terval, aggregating the postings to each account:
$ hledger register --monthly income $ hledger register --monthly income
2008/01 income:salary $-1 $-1 2008/01 income:salary $-1 $-1
@ -2346,8 +2345,8 @@ COMMANDS
2008/11 0 $-2 2008/11 0 $-2
2008/12 0 $-2 2008/12 0 $-2
Often, you'll want to see just one line per interval. The --depth Often, you'll want to see just one line per interval. The --depth op-
option helps with this, causing subaccounts to be aggregated: tion helps with this, causing subaccounts to be aggregated:
$ hledger register --monthly assets --depth 1h $ hledger register --monthly assets --depth 1h
2008/01 assets $1 $1 2008/01 assets $1 $1
@ -2355,8 +2354,8 @@ COMMANDS
2008/12 assets $-1 $-1 2008/12 assets $-1 $-1
Note when using report intervals, if you specify start/end dates these Note when using report intervals, if you specify start/end dates these
will be adjusted outward if necessary to contain a whole number of will be adjusted outward if necessary to contain a whole number of in-
intervals. This ensures that the first and last intervals are full tervals. This ensures that the first and last intervals are full
length and comparable to the others in the report. length and comparable to the others in the report.
Custom register output Custom register output
@ -2365,9 +2364,9 @@ COMMANDS
a bash shell variable) or by using the --width/-w option. a bash shell variable) or by using the --width/-w option.
The description and account columns normally share the space equally The description and account columns normally share the space equally
(about half of (width - 40) each). You can adjust this by adding a (about half of (width - 40) each). You can adjust this by adding a de-
description width as part of --width's argument, comma-separated: scription width as part of --width's argument, comma-separated: --width
--width W,D . Here's a diagram (won't display correctly in --help): W,D . Here's a diagram (won't display correctly in --help):
<--------------------------------- width (W) ----------------------------------> <--------------------------------- width (W) ---------------------------------->
date (10) description (D) account (W-41-D) amount (12) balance (12) date (10) description (D) account (W-41-D) amount (12) balance (12)
@ -2390,8 +2389,8 @@ COMMANDS
Print the one posting whose transaction description is closest to DESC, Print the one posting whose transaction description is closest to DESC,
in the style of the register command. If there are multiple equally in the style of the register command. If there are multiple equally
good matches, it shows the most recent. Query options (options, not good matches, it shows the most recent. Query options (options, not
arguments) can be used to restrict the search space. Helps ledger- arguments) can be used to restrict the search space. Helps ledger-au-
autosync detect already-seen transactions when importing. tosync detect already-seen transactions when importing.
rewrite rewrite
rewrite rewrite
@ -2431,10 +2430,10 @@ COMMANDS
Argument for --add-posting option is a usual posting of transaction Argument for --add-posting option is a usual posting of transaction
with an exception for amount specification. More precisely, you can with an exception for amount specification. More precisely, you can
use '*' (star symbol) before the amount to indicate that that this is a use '*' (star symbol) before the amount to indicate that that this is a
factor for an amount of original matched posting. If the amount factor for an amount of original matched posting. If the amount in-
includes a commodity name, the new posting amount will be in the new cludes a commodity name, the new posting amount will be in the new com-
commodity; otherwise, it will be in the matched posting amount's com- modity; otherwise, it will be in the matched posting amount's commod-
modity. ity.
Re-write rules in a file Re-write rules in a file
During the run this tool will execute so called "Automated Transac- During the run this tool will execute so called "Automated Transac-
@ -2532,9 +2531,9 @@ COMMANDS
originating from unrealized profit and loss account(s) are assumed to originating from unrealized profit and loss account(s) are assumed to
be your investments or withdrawals. be your investments or withdrawals.
At a minimum, you need to supply a query (which could be just an At a minimum, you need to supply a query (which could be just an ac-
account name) to select your investments with --inv, and another query count name) to select your investments with --inv, and another query to
to identify your profit and loss transactions with --pnl. identify your profit and loss transactions with --pnl.
It will compute and display the internalized rate of return (IRR) and It will compute and display the internalized rate of return (IRR) and
time-weighted rate of return (TWR) for your investments for the time time-weighted rate of return (TWR) for your investments for the time
@ -2572,8 +2571,8 @@ COMMANDS
List all the tag names used in the journal. With a TAGREGEX argument, List all the tag names used in the journal. With a TAGREGEX argument,
only tag names matching the regular expression (case insensitive) are only tag names matching the regular expression (case insensitive) are
shown. With QUERY arguments, only transactions matching the query are shown. With QUERY arguments, only transactions matching the query are
considered. With --values flag, the tags' unique values are listed considered. With --values flag, the tags' unique values are listed in-
instead. stead.
test test
test test
@ -2592,8 +2591,8 @@ COMMANDS
none of them). none of them).
This is mainly used by developers, but it's nice to be able to sanity- This is mainly used by developers, but it's nice to be able to sanity-
check your installed hledger executable at any time. All tests are check your installed hledger executable at any time. All tests are ex-
expected to pass - if you ever see otherwise, something has gone wrong, pected to pass - if you ever see otherwise, something has gone wrong,
please report a bug! please report a bug!
ADD-ON COMMANDS ADD-ON COMMANDS
@ -2626,11 +2625,8 @@ ADD-ON COMMANDS
Official add-ons Official add-ons
These are maintained and released along with hledger. These are maintained and released along with hledger.
api
hledger-api serves hledger data as a JSON web API.
ui ui
hledger-ui provides an efficient curses-style interface. hledger-ui provides an efficient terminal interface.
web web
hledger-web provides a simple web interface. hledger-web provides a simple web interface.
@ -2644,16 +2640,16 @@ ADD-ON COMMANDS
journal file and another. journal file and another.
iadd iadd
hledger-iadd is a curses-style, more interactive replacement for the hledger-iadd is a more interactive, terminal UI replacement for the add
add command. command.
interest interest
hledger-interest generates interest transactions for an account accord- hledger-interest generates interest transactions for an account accord-
ing to various schemes. ing to various schemes.
irr irr
hledger-irr calculates the internal rate of return of an investment hledger-irr calculates the internal rate of return of an investment ac-
account, but it's superseded now by the built-in roi command. count, but it's superseded now by the built-in roi command.
Experimental add-ons Experimental add-ons
These are available in source form in the hledger repo's bin/ direc- These are available in source form in the hledger repo's bin/ direc-
@ -2710,8 +2706,8 @@ LIMITATIONS
Ledger. Ledger.
TROUBLESHOOTING TROUBLESHOOTING
Here are some issues you might encounter when you run hledger (and Here are some issues you might encounter when you run hledger (and re-
remember you can also seek help from the IRC channel, mail list or bug member you can also seek help from the IRC channel, mail list or bug
tracker): tracker):
Successfully installed, but "No command 'hledger' found" Successfully installed, but "No command 'hledger' found"
@ -2778,7 +2774,7 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2016 Simon Michael. Copyright (C) 2007-2019 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.