;doc: regen manuals (on server)
Usually done on my laptop, but the toolchain on both machines should produce the same result these days.. [ci skip]
This commit is contained in:
parent
fb521e248b
commit
85d48a6b0e
@ -24,9 +24,9 @@ DESCRIPTION
|
||||
|
||||
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-
|
||||
ride this with the --rules-file option. If the rules file does not ex-
|
||||
ist, hledger will auto-create one with some example rules, which you'll
|
||||
need to adjust.
|
||||
ride this with the --rules-file option. If the rules file does not
|
||||
exist, hledger will auto-create one with some example rules, which
|
||||
you'll need to adjust.
|
||||
|
||||
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
|
||||
@ -192,8 +192,8 @@ CSV TIPS
|
||||
you might need newest-first, see above).
|
||||
|
||||
CSV accounts
|
||||
Each journal entry will have two postings, to account1 and account2 re-
|
||||
spectively. It's not yet possible to generate entries with more than
|
||||
Each journal entry will have two postings, to account1 and account2
|
||||
respectively. It's not yet possible to generate entries with more than
|
||||
two postings. It's conventional and recommended to use account1 for
|
||||
the account whose CSV we are reading.
|
||||
|
||||
@ -229,9 +229,9 @@ CSV TIPS
|
||||
CSV balance assertions/assignments
|
||||
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-
|
||||
ate a balance assertion (or if the amount is left empty, a balance as-
|
||||
signment), on the first or second posting, whenever the running balance
|
||||
field is non-empty. (TODO: #1000)
|
||||
ate a balance assertion (or if the amount is left empty, a balance
|
||||
assignment), on the first or second posting, whenever the running bal-
|
||||
ance field is non-empty. (TODO: #1000)
|
||||
|
||||
Reading multiple CSV files
|
||||
You can read multiple CSV files at once using multiple -f arguments on
|
||||
|
||||
@ -1579,11 +1579,45 @@ parent account.
|
||||
.SS Periodic transactions
|
||||
.PP
|
||||
Periodic transaction rules describe transactions that recur.
|
||||
They allow you to generate future transactions for forecasting, without
|
||||
having to write them out explicitly in the journal (with
|
||||
\f[C]--forecast\f[R]).
|
||||
Secondly, they also can be used to define budget goals (with
|
||||
\f[C]--budget\f[R]).
|
||||
They allow hledger to generate temporary future transactions to help
|
||||
with forecasting, so you don\[aq]t have to write out each one in the
|
||||
journal, and it\[aq]s easy to try out different forecasts.
|
||||
Secondly, they are also used to define the budgets shown in budget
|
||||
reports.
|
||||
.PP
|
||||
Periodic transactions can be a little tricky, so before you use them,
|
||||
read this whole section - or at least these tips:
|
||||
.IP "1." 3
|
||||
Two spaces accidentally added or omitted will cause you trouble - read
|
||||
about this below.
|
||||
.IP "2." 3
|
||||
For troubleshooting, show the generated transactions with
|
||||
\f[C]hledger print --forecast tag:generated\f[R] or
|
||||
\f[C]hledger register --forecast tag:generated\f[R].
|
||||
.IP "3." 3
|
||||
Forecasted transactions will begin only after the last non-forecasted
|
||||
transaction\[aq]s date.
|
||||
.IP "4." 3
|
||||
Forecasted transactions will end 6 months from today, by default.
|
||||
See below for the exact start/end rules.
|
||||
.IP "5." 3
|
||||
period expressions can be tricky.
|
||||
Their documentation needs improvement, but is worth studying.
|
||||
.IP "6." 3
|
||||
Some period expressions with a repeating interval must begin on a
|
||||
natural boundary of that interval.
|
||||
Eg in \f[C]weekly from DATE\f[R], DATE must be a monday.
|
||||
\f[C]\[ti] weekly from 2019/10/1\f[R] (a tuesday) will give an error.
|
||||
.IP "7." 3
|
||||
Other period expressions with an interval are automatically expanded to
|
||||
cover a whole number of that interval.
|
||||
(This is done to improve reports, but it also affects periodic
|
||||
transactions.
|
||||
Yes, it\[aq]s a bit inconsistent with the above.) Eg:
|
||||
\f[C]\[ti] every 10th day of month from 2020/01\f[R], which is
|
||||
equivalent to \f[C]\[ti] every 10th day of month from 2020/01/01\f[R],
|
||||
will be adjusted to start on 2019/12/10.
|
||||
.SS Periodic rule syntax
|
||||
.PP
|
||||
A periodic transaction rule looks like a normal journal entry, with the
|
||||
date replaced by a tilde (\f[C]\[ti]\f[R]) followed by a period
|
||||
@ -1607,7 +1641,7 @@ Partial or relative dates (M/D, D, tomorrow, last week) in the period
|
||||
expression can work (useful or not).
|
||||
They will be relative to today\[aq]s date, unless a Y default year
|
||||
directive is in effect, in which case they will be relative to Y/1/1.
|
||||
.SS Two spaces after the period expression
|
||||
.SS Two spaces between period expression and description!
|
||||
.PP
|
||||
If the period expression is followed by a transaction description, these
|
||||
must be separated by \f[B]two or more spaces\f[R].
|
||||
@ -1625,6 +1659,14 @@ example:
|
||||
income:acme inc
|
||||
\f[R]
|
||||
.fi
|
||||
.PP
|
||||
So,
|
||||
.IP \[bu] 2
|
||||
Do write two spaces between your period expression and your transaction
|
||||
description, if any.
|
||||
.IP \[bu] 2
|
||||
Don\[aq]t accidentally write two spaces in the middle of your period
|
||||
expression.
|
||||
.SS Forecasting with periodic transactions
|
||||
.PP
|
||||
With the \f[C]--forecast\f[R] flag, each periodic transaction rule
|
||||
@ -1686,8 +1728,8 @@ Eg the first example above declares a goal of spending $2000 on rent
|
||||
(and also, a goal of depositing $2000 into checking) every month.
|
||||
Goals and actual performance can then be compared in budget reports.
|
||||
.PP
|
||||
For more details, see: balance: Budget report and Cookbook: Budgeting
|
||||
and Forecasting.
|
||||
For more details, see: balance: Budget report and Budgeting and
|
||||
Forecasting.
|
||||
.PP
|
||||
.SS Auto postings / transaction modifiers
|
||||
.PP
|
||||
|
||||
@ -1412,12 +1412,52 @@ File: hledger_journal.info, Node: Periodic transactions, Next: Auto postings /
|
||||
==========================
|
||||
|
||||
Periodic transaction rules describe transactions that recur. They allow
|
||||
you to generate future transactions for forecasting, without having to
|
||||
write them out explicitly in the journal (with '--forecast'). Secondly,
|
||||
they also can be used to define budget goals (with '--budget').
|
||||
hledger to generate temporary future transactions to help with
|
||||
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 used
|
||||
to define the budgets shown in budget reports.
|
||||
|
||||
A periodic transaction rule looks like a normal journal entry, with
|
||||
the date replaced by a tilde ('~') followed by a period expression
|
||||
Periodic transactions can be a little tricky, so before you use them,
|
||||
read this whole section - or at least these tips:
|
||||
|
||||
1. Two spaces accidentally added or omitted will cause you trouble -
|
||||
read about this below.
|
||||
2. For troubleshooting, show the generated transactions with 'hledger
|
||||
print --forecast tag:generated' or 'hledger register --forecast
|
||||
tag:generated'.
|
||||
3. Forecasted transactions will begin only after the last
|
||||
non-forecasted transaction's date.
|
||||
4. Forecasted transactions will end 6 months from today, by default.
|
||||
See below for the exact start/end rules.
|
||||
5. period expressions can be tricky. Their documentation needs
|
||||
improvement, but is worth studying.
|
||||
6. Some period expressions with a repeating interval must begin on a
|
||||
natural boundary of that interval. Eg in 'weekly from DATE', DATE
|
||||
must be a monday. '~ weekly from 2019/10/1' (a tuesday) will give
|
||||
an error.
|
||||
7. Other period expressions with an interval are automatically
|
||||
expanded to cover a whole number of that interval. (This is done
|
||||
to improve reports, but it also affects periodic transactions.
|
||||
Yes, it's a bit inconsistent with the above.) Eg: '~ every 10th
|
||||
day of month from 2020/01', which is equivalent to '~ every 10th
|
||||
day of month from 2020/01/01', will be adjusted to start on
|
||||
2019/12/10.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Periodic rule syntax::
|
||||
* Two spaces between period expression and description!::
|
||||
* Forecasting with periodic transactions::
|
||||
* Budgeting with periodic transactions::
|
||||
|
||||
|
||||
File: hledger_journal.info, Node: Periodic rule syntax, Next: Two spaces between period expression and description!, Up: Periodic transactions
|
||||
|
||||
1.15.1 Periodic rule syntax
|
||||
---------------------------
|
||||
|
||||
A periodic transaction rule looks like a normal journal entry, with the
|
||||
date replaced by a tilde ('~') followed by a period expression
|
||||
(mnemonic: '~' looks like a recurring sine wave.):
|
||||
|
||||
~ monthly
|
||||
@ -1433,17 +1473,11 @@ expression can work (useful or not). They will be relative to today's
|
||||
date, unless a Y default year directive is in effect, in which case they
|
||||
will be relative to Y/1/1.
|
||||
|
||||
* Menu:
|
||||
|
||||
* Two spaces after the period expression::
|
||||
* Forecasting with periodic transactions::
|
||||
* Budgeting with periodic transactions::
|
||||
|
||||
|
||||
File: hledger_journal.info, Node: Two spaces after the period expression, Next: Forecasting with periodic transactions, Up: Periodic transactions
|
||||
File: hledger_journal.info, Node: Two spaces between period expression and description!, Next: Forecasting with periodic transactions, Prev: Periodic rule syntax, Up: Periodic transactions
|
||||
|
||||
1.15.1 Two spaces after the period expression
|
||||
---------------------------------------------
|
||||
1.15.2 Two spaces between period expression and description!
|
||||
------------------------------------------------------------
|
||||
|
||||
If the period expression is followed by a transaction description, these
|
||||
must be separated by *two or more spaces*. This helps hledger know
|
||||
@ -1457,10 +1491,17 @@ accidentally alter their meaning, as in this example:
|
||||
assets:bank:checking $1500
|
||||
income:acme inc
|
||||
|
||||
|
||||
File: hledger_journal.info, Node: Forecasting with periodic transactions, Next: Budgeting with periodic transactions, Prev: Two spaces after the period expression, Up: Periodic transactions
|
||||
So,
|
||||
|
||||
1.15.2 Forecasting with periodic transactions
|
||||
* Do write two spaces between your period expression and your
|
||||
transaction description, if any.
|
||||
* Don't accidentally write two spaces in the middle of your period
|
||||
expression.
|
||||
|
||||
|
||||
File: hledger_journal.info, Node: Forecasting with periodic transactions, Next: Budgeting with periodic transactions, Prev: Two spaces between period expression and description!, Up: Periodic transactions
|
||||
|
||||
1.15.3 Forecasting with periodic transactions
|
||||
---------------------------------------------
|
||||
|
||||
With the '--forecast' flag, each periodic transaction rule generates
|
||||
@ -1513,7 +1554,7 @@ disables forecast transactions on previous dates.)
|
||||
|
||||
File: hledger_journal.info, Node: Budgeting with periodic transactions, Prev: Forecasting with periodic transactions, Up: Periodic transactions
|
||||
|
||||
1.15.3 Budgeting with periodic transactions
|
||||
1.15.4 Budgeting with periodic transactions
|
||||
-------------------------------------------
|
||||
|
||||
With the '--budget' flag, currently supported by the balance command,
|
||||
@ -1523,8 +1564,8 @@ spending $2000 on rent (and also, a goal of depositing $2000 into
|
||||
checking) every month. Goals and actual performance can then be
|
||||
compared in budget reports.
|
||||
|
||||
For more details, see: balance: Budget report and Cookbook: Budgeting
|
||||
and Forecasting.
|
||||
For more details, see: balance: Budget report and Budgeting and
|
||||
Forecasting.
|
||||
|
||||
|
||||
File: hledger_journal.info, Node: Auto postings / transaction modifiers, Prev: Periodic transactions, Up: FILE FORMAT
|
||||
@ -1760,21 +1801,23 @@ Node: Default parent account50218
|
||||
Ref: #default-parent-account50384
|
||||
Node: Periodic transactions51268
|
||||
Ref: #periodic-transactions51466
|
||||
Node: Two spaces after the period expression52592
|
||||
Ref: #two-spaces-after-the-period-expression52837
|
||||
Node: Forecasting with periodic transactions53322
|
||||
Ref: #forecasting-with-periodic-transactions53612
|
||||
Node: Budgeting with periodic transactions55638
|
||||
Ref: #budgeting-with-periodic-transactions55877
|
||||
Node: Auto postings / transaction modifiers56336
|
||||
Ref: #auto-postings-transaction-modifiers56547
|
||||
Node: Auto postings and dates58776
|
||||
Ref: #auto-postings-and-dates59033
|
||||
Node: Auto postings and transaction balancing / inferred amounts / balance assertions59208
|
||||
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions59583
|
||||
Node: Auto posting tags59961
|
||||
Ref: #auto-posting-tags60200
|
||||
Node: EDITOR SUPPORT60865
|
||||
Ref: #editor-support60983
|
||||
Node: Periodic rule syntax53338
|
||||
Ref: #periodic-rule-syntax53544
|
||||
Node: Two spaces between period expression and description!54248
|
||||
Ref: #two-spaces-between-period-expression-and-description54567
|
||||
Node: Forecasting with periodic transactions55251
|
||||
Ref: #forecasting-with-periodic-transactions55556
|
||||
Node: Budgeting with periodic transactions57582
|
||||
Ref: #budgeting-with-periodic-transactions57821
|
||||
Node: Auto postings / transaction modifiers58270
|
||||
Ref: #auto-postings-transaction-modifiers58481
|
||||
Node: Auto postings and dates60710
|
||||
Ref: #auto-postings-and-dates60967
|
||||
Node: Auto postings and transaction balancing / inferred amounts / balance assertions61142
|
||||
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions61517
|
||||
Node: Auto posting tags61895
|
||||
Ref: #auto-posting-tags62134
|
||||
Node: EDITOR SUPPORT62799
|
||||
Ref: #editor-support62917
|
||||
|
||||
End Tag Table
|
||||
|
||||
@ -7,9 +7,9 @@ NAME
|
||||
Journal - hledger's default file format, representing a General Journal
|
||||
|
||||
DESCRIPTION
|
||||
hledger's usual data source is a plain text file containing journal en-
|
||||
tries in hledger journal format. This file represents a standard ac-
|
||||
counting general journal. I use file names ending in .journal, but
|
||||
hledger's usual data source is a plain text file containing journal
|
||||
entries in hledger journal format. This file represents a standard
|
||||
accounting general journal. I use file names ending in .journal, but
|
||||
that's not required. The journal file contains a number of transaction
|
||||
entries, each describing a transfer of money (or any commodity) between
|
||||
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
|
||||
the add or web commands to create and update it. Many users, though,
|
||||
also edit the journal file directly with a text editor, perhaps as-
|
||||
sisted by the helper modes for emacs or vim.
|
||||
also edit the journal file directly with a text editor, perhaps
|
||||
assisted by the helper modes for emacs or vim.
|
||||
|
||||
Here's an example:
|
||||
|
||||
@ -58,9 +58,9 @@ DESCRIPTION
|
||||
FILE FORMAT
|
||||
Transactions
|
||||
Transactions are movements of some quantity of commodities between
|
||||
named accounts. Each transaction is represented by a journal entry be-
|
||||
ginning with a simple date in column 0. This can be followed by any of
|
||||
the following, separated by spaces:
|
||||
named accounts. Each transaction is represented by a journal entry
|
||||
beginning with a simple date in column 0. This can be followed by any
|
||||
of the following, separated by spaces:
|
||||
|
||||
o (optional) a status character (empty, !, or *)
|
||||
|
||||
@ -104,16 +104,16 @@ FILE FORMAT
|
||||
Simple dates
|
||||
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
|
||||
will be inferred from the context - the current transaction, the de-
|
||||
fault year set with a default year directive, or the current date when
|
||||
the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31,
|
||||
will be inferred from the context - the current transaction, the
|
||||
default year set with a default year directive, or the current date
|
||||
when the command is run. Some examples: 2010/01/31, 1/31, 2010-01-31,
|
||||
2010.1.31.
|
||||
|
||||
Secondary dates
|
||||
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
|
||||
want to model this, eg for more accurate balances, you can specify in-
|
||||
dividual posting dates, which I recommend. Or, you can use the sec-
|
||||
want to model this, eg for more accurate balances, you can specify
|
||||
individual posting dates, which I recommend. Or, you can use the sec-
|
||||
ondary dates (aka auxiliary/effective dates) feature, supported for
|
||||
compatibility with Ledger.
|
||||
|
||||
@ -142,15 +142,15 @@ FILE FORMAT
|
||||
Secondary dates require some effort; you must use them consistently in
|
||||
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-
|
||||
ibility, but posting dates are a more powerful and less confusing al-
|
||||
ternative.
|
||||
ibility, but posting dates are a more powerful and less confusing
|
||||
alternative.
|
||||
|
||||
Posting dates
|
||||
You can give individual postings a different date from their parent
|
||||
transaction, by adding a posting comment containing a tag (see below)
|
||||
like date:DATE. This is probably the best way to control posting dates
|
||||
precisely. Eg in this example the expense should appear in May re-
|
||||
ports, and the deduction from checking should be reported on 6/1 for
|
||||
precisely. Eg in this example the expense should appear in May
|
||||
reports, and the deduction from checking should be reported on 6/1 for
|
||||
easy bank reconciliation:
|
||||
|
||||
2015/5/30
|
||||
@ -177,9 +177,9 @@ FILE FORMAT
|
||||
|
||||
Status
|
||||
Transactions, or individual postings within a transaction, can have a
|
||||
status mark, which is a single character before the transaction de-
|
||||
scription or posting account name, separated from it by a space, indi-
|
||||
cating one of three statuses:
|
||||
status mark, which is a single character before the transaction
|
||||
description or posting account name, separated from it by a space,
|
||||
indicating one of three statuses:
|
||||
|
||||
mark status
|
||||
------------------
|
||||
@ -192,8 +192,8 @@ FILE FORMAT
|
||||
status:* queries; or the U, P, C keys in hledger-ui.
|
||||
|
||||
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 un-
|
||||
marked for clarity.
|
||||
is called "uncleared". As of hledger 1.3 we have renamed it to
|
||||
unmarked for clarity.
|
||||
|
||||
To replicate Ledger and old hledger's behaviour of also matching pend-
|
||||
ing, combine -U and -P.
|
||||
@ -215,8 +215,8 @@ FILE FORMAT
|
||||
rect
|
||||
|
||||
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 un-
|
||||
cashed checks), and no flags to see the most up-to-date state of your
|
||||
bank, -U to see things which will probably hit your bank soon (like
|
||||
uncashed checks), and no flags to see the most up-to-date state of your
|
||||
finances.
|
||||
|
||||
Description
|
||||
@ -229,9 +229,9 @@ FILE FORMAT
|
||||
Payee and note
|
||||
You can optionally include a | (pipe) character in descriptions to sub-
|
||||
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 (af-
|
||||
ter the first |). This may be worthwhile if you need to do more pre-
|
||||
cise querying and pivoting by payee or by note.
|
||||
left (up to the first |) and an additional note field on the right
|
||||
(after the first |). This may be worthwhile if you need to do more
|
||||
precise querying and pivoting by payee or by note.
|
||||
|
||||
Account names
|
||||
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
|
||||
journals with org-mode or orgstruct-mode.)
|
||||
|
||||
You can attach comments to a transaction by writing them after the de-
|
||||
scription and/or indented on the following lines (before the postings).
|
||||
Similarly, you can attach comments to an individual posting by writing
|
||||
them after the amount and/or indented on the following lines. Transac-
|
||||
tion and posting comments must begin with a semicolon (;).
|
||||
You can attach comments to a transaction by writing them after the
|
||||
description and/or indented on the following lines (before the post-
|
||||
ings). Similarly, you can attach comments to an individual posting by
|
||||
writing them after the amount and/or indented on the following lines.
|
||||
Transaction and posting comments must begin with a semicolon (;).
|
||||
|
||||
Some examples:
|
||||
|
||||
@ -660,33 +660,33 @@ FILE FORMAT
|
||||
here is a table summarising the directives and their effects, with
|
||||
links to more detailed docs.
|
||||
|
||||
direc- end di- subdi- purpose can affect (as of
|
||||
tive rective rec- 2018/06)
|
||||
direc- end subdi- purpose can affect (as of
|
||||
tive directive rec- 2018/06)
|
||||
tives
|
||||
------------------------------------------------------------------------------------
|
||||
account any document account names, de- all entries in all
|
||||
text clare account types & dis- files, before or
|
||||
account any document account names, all entries in all
|
||||
text declare account types & dis- files, before or
|
||||
play order after
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
alias end rewrite account names following in-
|
||||
aliases line/included en-
|
||||
tries until end of
|
||||
current file or end
|
||||
directive
|
||||
apply end apply prepend a common parent to following in-
|
||||
account account account names line/included en-
|
||||
tries until end of
|
||||
current file or end
|
||||
directive
|
||||
comment end com- ignore part of journal following in-
|
||||
ment line/included en-
|
||||
tries until end of
|
||||
current file or end
|
||||
directive
|
||||
alias end rewrite account names following
|
||||
aliases inline/included
|
||||
entries until end
|
||||
of current file or
|
||||
end directive
|
||||
apply end apply prepend a common parent to following
|
||||
account account account names inline/included
|
||||
entries until end
|
||||
of current file or
|
||||
end directive
|
||||
comment end com- ignore part of journal following
|
||||
ment inline/included
|
||||
entries until end
|
||||
of current file or
|
||||
end directive
|
||||
commod- format declare a commodity and its number notation:
|
||||
ity number notation & display following entries
|
||||
style in that commodity
|
||||
@ -709,13 +709,13 @@ FILE FORMAT
|
||||
include include entries/directives what the included
|
||||
from another file directives affect
|
||||
P declare a market price for a amounts of that
|
||||
commodity commodity in re-
|
||||
ports, when -V is
|
||||
commodity commodity in
|
||||
reports, when -V is
|
||||
used
|
||||
Y declare a year for yearless following in-
|
||||
dates line/included en-
|
||||
tries until end of
|
||||
current file
|
||||
Y declare a year for yearless following
|
||||
dates inline/included
|
||||
entries until end
|
||||
of current file
|
||||
|
||||
And some definitions:
|
||||
|
||||
@ -731,8 +731,8 @@ FILE FORMAT
|
||||
scope are affected by a directive
|
||||
|
||||
As you can see, directives vary in which journal entries and files they
|
||||
affect, and whether they are focussed on input (parsing) or output (re-
|
||||
ports). Some directives have multiple effects.
|
||||
affect, and whether they are focussed on input (parsing) or output
|
||||
(reports). Some directives have multiple effects.
|
||||
|
||||
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
|
||||
@ -756,8 +756,8 @@ FILE FORMAT
|
||||
file. The include file path may contain common glob patterns (e.g.
|
||||
*).
|
||||
|
||||
The include directive can only be used in journal files. It can in-
|
||||
clude journal, timeclock or timedot files, but not CSV files.
|
||||
The include directive can only be used in journal files. It can
|
||||
include journal, timeclock or timedot files, but not CSV files.
|
||||
|
||||
Default year
|
||||
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
|
||||
can be unpredictable; declaring it with a commodity directive overrides
|
||||
this and removes ambiguity. Towards this end, amounts in commodity di-
|
||||
rectives must always be written with a decimal point (a period or
|
||||
this and removes ambiguity. Towards this end, amounts in commodity
|
||||
directives must always be written with a decimal point (a period or
|
||||
comma, followed by 0 or more decimal digits).
|
||||
|
||||
Commodity directives do not affect how amounts are parsed; the parser
|
||||
@ -839,8 +839,8 @@ FILE FORMAT
|
||||
a decimal point.
|
||||
|
||||
Market prices
|
||||
The P directive declares a market price, which is an exchange rate be-
|
||||
tween two commodities on a certain date. (In Ledger, they are called
|
||||
The P directive declares a market price, which is an exchange rate
|
||||
between two commodities on a certain date. (In Ledger, they are called
|
||||
"historical prices".) These are often obtained from a stock exchange,
|
||||
cryptocurrency exchange, or the foreign exchange market.
|
||||
|
||||
@ -865,8 +865,8 @@ FILE FORMAT
|
||||
commodity using these prices.
|
||||
|
||||
Declaring accounts
|
||||
account directives can be used to pre-declare accounts. Though not re-
|
||||
quired, they can provide several benefits:
|
||||
account directives can be used to pre-declare accounts. Though not
|
||||
required, they can provide several benefits:
|
||||
|
||||
o They can document your intended chart of accounts, providing a refer-
|
||||
ence.
|
||||
@ -925,8 +925,8 @@ FILE FORMAT
|
||||
detected automatically.
|
||||
|
||||
Account types declared with tags
|
||||
More generally, you can declare an account's type with an account di-
|
||||
rective, by writing a type: tag in a comment, followed by one of the
|
||||
More generally, you can declare an account's type with an account
|
||||
directive, by writing a type: tag in a comment, followed by one of the
|
||||
words Asset, Liability, Equity, Revenue, Expense, or one of the letters
|
||||
ALERX (case insensitive):
|
||||
|
||||
@ -1025,9 +1025,9 @@ FILE FORMAT
|
||||
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.
|
||||
|
||||
OLD and NEW are case sensitive full account names. hledger will re-
|
||||
place any occurrence of the old account name with the new one. Subac-
|
||||
counts are also affected. Eg:
|
||||
OLD and NEW are case sensitive full account names. hledger will
|
||||
replace any occurrence of the old account name with the new one. Sub-
|
||||
accounts are also affected. Eg:
|
||||
|
||||
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"
|
||||
@ -1092,9 +1092,9 @@ FILE FORMAT
|
||||
end aliases
|
||||
|
||||
Default parent account
|
||||
You can specify a parent account which will be prepended to all ac-
|
||||
counts within a section of the journal. Use the apply account and end
|
||||
apply account directives like so:
|
||||
You can specify a parent account which will be prepended to all
|
||||
accounts within a section of the journal. Use the apply account and
|
||||
end apply account directives like so:
|
||||
|
||||
apply account home
|
||||
|
||||
@ -1128,11 +1128,44 @@ FILE FORMAT
|
||||
account.
|
||||
|
||||
Periodic transactions
|
||||
Periodic transaction rules describe transactions that recur. They al-
|
||||
low you to generate future transactions for forecasting, without having
|
||||
to write them out explicitly in the journal (with --forecast). Sec-
|
||||
ondly, they also can be used to define budget goals (with --budget).
|
||||
Periodic transaction rules describe transactions that recur. They
|
||||
allow hledger to generate temporary future transactions to help with
|
||||
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
|
||||
used to define the budgets shown in budget reports.
|
||||
|
||||
Periodic transactions can be a little tricky, so before you use them,
|
||||
read this whole section - or at least these tips:
|
||||
|
||||
1. Two spaces accidentally added or omitted will cause you trouble -
|
||||
read about this below.
|
||||
|
||||
2. For troubleshooting, show the generated transactions with hledger
|
||||
print --forecast tag:generated or hledger register --forecast
|
||||
tag:generated.
|
||||
|
||||
3. Forecasted transactions will begin only after the last non-fore-
|
||||
casted transaction's date.
|
||||
|
||||
4. Forecasted transactions will end 6 months from today, by default.
|
||||
See below for the exact start/end rules.
|
||||
|
||||
5. period expressions can be tricky. Their documentation needs
|
||||
improvement, but is worth studying.
|
||||
|
||||
6. Some period expressions with a repeating interval must begin on a
|
||||
natural boundary of that interval. Eg in weekly from DATE, DATE
|
||||
must be a monday. ~ weekly from 2019/10/1 (a tuesday) will give an
|
||||
error.
|
||||
|
||||
7. Other period expressions with an interval are automatically expanded
|
||||
to cover a whole number of that interval. (This is done to improve
|
||||
reports, but it also affects periodic transactions. Yes, it's a bit
|
||||
inconsistent with the above.) Eg: ~ every 10th day of month from
|
||||
2020/01, which is equivalent to ~ every 10th day of month from
|
||||
2020/01/01, will be adjusted to start on 2019/12/10.
|
||||
|
||||
Periodic rule syntax
|
||||
A periodic transaction rule looks like a normal journal entry, with the
|
||||
date replaced by a tilde (~) followed by a period expression (mnemonic:
|
||||
~ looks like a recurring sine wave.):
|
||||
@ -1150,7 +1183,7 @@ FILE FORMAT
|
||||
date, unless a Y default year directive is in effect, in which case
|
||||
they will be relative to Y/1/1.
|
||||
|
||||
Two spaces after the period expression
|
||||
Two spaces between period expression and description!
|
||||
If the period expression is followed by a transaction description,
|
||||
these must be separated by two or more spaces. This helps hledger know
|
||||
where the period expression ends, so that descriptions can not acciden-
|
||||
@ -1163,9 +1196,17 @@ FILE FORMAT
|
||||
assets:bank:checking $1500
|
||||
income:acme inc
|
||||
|
||||
So,
|
||||
|
||||
o Do write two spaces between your period expression and your transac-
|
||||
tion description, if any.
|
||||
|
||||
o Don't accidentally write two spaces in the middle of your period
|
||||
expression.
|
||||
|
||||
Forecasting with periodic transactions
|
||||
With the --forecast flag, each periodic transaction rule generates fu-
|
||||
ture transactions recurring at the specified interval. These are not
|
||||
With the --forecast flag, each periodic transaction rule generates
|
||||
future transactions recurring at the specified interval. These are not
|
||||
saved in the journal, but appear in all reports. They will look like
|
||||
normal transactions, but with an extra tag:
|
||||
|
||||
@ -1220,8 +1261,8 @@ FILE FORMAT
|
||||
checking) every month. Goals and actual performance can then be com-
|
||||
pared in budget reports.
|
||||
|
||||
For more details, see: balance: Budget report and Cookbook: Budgeting
|
||||
and Forecasting.
|
||||
For more details, see: balance: Budget report and Budgeting and Fore-
|
||||
casting.
|
||||
|
||||
Auto postings / transaction modifiers
|
||||
Transaction modifier rules, AKA auto posting rules, describe changes to
|
||||
|
||||
@ -28,8 +28,8 @@ FILE FORMAT
|
||||
|
||||
Quantities can be written as:
|
||||
|
||||
o a sequence of dots (.) representing quarter hours. Spaces may op-
|
||||
tionally be used for grouping and readability. Eg: .... ..
|
||||
o a sequence of dots (.) representing quarter hours. Spaces may
|
||||
optionally be used for grouping and readability. Eg: .... ..
|
||||
|
||||
o an integral or decimal number, representing hours. Eg: 1.5
|
||||
|
||||
|
||||
@ -117,8 +117,8 @@ OPTIONS
|
||||
using period expressions syntax
|
||||
|
||||
--date2
|
||||
match the secondary date instead (see command help for other ef-
|
||||
fects)
|
||||
match the secondary date instead (see command help for other
|
||||
effects)
|
||||
|
||||
-U --unmarked
|
||||
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.
|
||||
|
||||
As mentioned above, hledger-ui shows auto-generated periodic transac-
|
||||
tions, and hides future transactions (auto-generated or not) by de-
|
||||
fault. F toggles showing and hiding these future transactions. This
|
||||
tions, and hides future transactions (auto-generated or not) by
|
||||
default. F toggles showing and hiding these future transactions. This
|
||||
is similar to using a query like date:-tomorrow, but more convenient.
|
||||
(experimental)
|
||||
|
||||
@ -227,8 +227,8 @@ KEYS
|
||||
file. This allows some basic data entry.
|
||||
|
||||
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 in-
|
||||
stalled in $PATH.
|
||||
style interface. This key will be available if hledger-iadd is
|
||||
installed in $PATH.
|
||||
|
||||
E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a ""
|
||||
-nw) on the journal file. With some editors (emacs, vi), the cursor
|
||||
@ -250,14 +250,15 @@ SCREENS
|
||||
|
||||
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-
|
||||
counts, except where subaccounts are hidden by a depth limit (see be-
|
||||
low). In tree mode, all account balances are inclusive of subaccounts.
|
||||
counts, except where subaccounts are hidden by a depth limit (see
|
||||
below). In tree mode, all account balances are inclusive of subac-
|
||||
counts.
|
||||
|
||||
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
|
||||
less detail, collapsing all accounts to a single total. To remove the
|
||||
depth limit, set it higher than the maximum account depth, or press ES-
|
||||
CAPE.
|
||||
depth limit, set it higher than the maximum account depth, or press
|
||||
ESCAPE.
|
||||
|
||||
H toggles between showing historical balances or period balances. His-
|
||||
torical balances (the default) are ending balances at the end of the
|
||||
@ -265,15 +266,15 @@ SCREENS
|
||||
(filtered by the filter query if any), including transactions before
|
||||
the start of the report period. In other words, historical balances
|
||||
are what you would see on a bank statement for that account (unless
|
||||
disturbed by a filter query). Period balances ignore transactions be-
|
||||
fore the report start date, so they show the change in balance during
|
||||
disturbed by a filter query). Period balances ignore transactions
|
||||
before 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.
|
||||
|
||||
U toggles filtering by unmarked status, including or excluding unmarked
|
||||
postings in the balances. Similarly, P toggles pending postings, and C
|
||||
toggles cleared postings. (By default, balances include all postings;
|
||||
if you activate one or two status filters, only those postings are in-
|
||||
cluded; and if you activate all three, the filter is removed.)
|
||||
if you activate one or two status filters, only those postings are
|
||||
included; and if you activate all three, the filter is removed.)
|
||||
|
||||
R toggles real mode, in which virtual postings are ignored.
|
||||
|
||||
@ -328,16 +329,16 @@ SCREENS
|
||||
similar to hledger's print command and journal format (hledger_jour-
|
||||
nal(5)).
|
||||
|
||||
The transaction's date(s) and any cleared flag, transaction code, de-
|
||||
scription, comments, along with all of its account postings are shown.
|
||||
Simple transactions have two postings, but there can be more (or in
|
||||
certain cases, fewer).
|
||||
The transaction's date(s) and any cleared flag, transaction code,
|
||||
description, comments, along with all of its account postings are
|
||||
shown. Simple transactions have two postings, but there can be more
|
||||
(or in certain cases, fewer).
|
||||
|
||||
up and down will step through all transactions listed in the previous
|
||||
account register screen. In the title bar, the numbers in parentheses
|
||||
show your position within that account register. They will vary de-
|
||||
pending on which account register you came from (remember most transac-
|
||||
tions appear in multiple account registers). The #N number preceding
|
||||
show your position within that account register. They will vary
|
||||
depending on which account register you came from (remember most trans-
|
||||
actions appear in multiple account registers). The #N number preceding
|
||||
them is the transaction's position within the complete unfiltered jour-
|
||||
nal, which is a more stable id (at least until the next reload).
|
||||
|
||||
|
||||
@ -19,9 +19,9 @@ DESCRIPTION
|
||||
hledger-web is hledger's web interface. It starts a simple web appli-
|
||||
cation for browsing and adding transactions, and optionally opens it in
|
||||
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 (ac-
|
||||
counts, the current account register, balance charts) and allowing his-
|
||||
tory-aware data entry, interactive searching, and bookmarking.
|
||||
than the hledger CLI or hledger-ui interface, showing more at once
|
||||
(accounts, the current account register, balance charts) and allowing
|
||||
history-aware data entry, interactive searching, and bookmarking.
|
||||
|
||||
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
|
||||
@ -127,8 +127,8 @@ OPTIONS
|
||||
using period expressions syntax
|
||||
|
||||
--date2
|
||||
match the secondary date instead (see command help for other ef-
|
||||
fects)
|
||||
match the secondary date instead (see command help for other
|
||||
effects)
|
||||
|
||||
-U --unmarked
|
||||
include only unmarked postings/txns (can combine with -P or -C)
|
||||
@ -214,8 +214,8 @@ PERMISSIONS
|
||||
You can restrict who can reach it by
|
||||
|
||||
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 ma-
|
||||
chine.
|
||||
it listens on 127.0.0.1, accessible to all users on the local
|
||||
machine.
|
||||
|
||||
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 manage - allows editing, uploading or downloading the main or in-
|
||||
cluded files
|
||||
o manage - allows editing, uploading or downloading the main or
|
||||
included files
|
||||
|
||||
o using the --capabilities-header=HTTPHEADER flag to specify a HTTP
|
||||
header from which it will read capabilities to enable. hledger-web
|
||||
@ -242,8 +242,8 @@ PERMISSIONS
|
||||
EDITING, UPLOADING, DOWNLOADING
|
||||
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
|
||||
let you edit, upload, or download the journal file or any files it in-
|
||||
cludes.
|
||||
let you edit, upload, or download the journal file or any files it
|
||||
includes.
|
||||
|
||||
Note, unlike any other hledger command, in this mode you (or any visi-
|
||||
tor) can alter or wipe the data files.
|
||||
@ -262,8 +262,8 @@ RELOADING
|
||||
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
|
||||
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 un-
|
||||
til the file has been fixed.
|
||||
makes a file unparseable, hledger-web will display an error message
|
||||
until the file has been fixed.
|
||||
|
||||
(Note: if you are viewing files mounted from another machine, make sure
|
||||
that both machine clocks are roughly in step.)
|
||||
|
||||
@ -3634,7 +3634,7 @@ account, but it\[aq]s superseded now by the built-in roi command.
|
||||
.SS Experimental add-ons
|
||||
.PP
|
||||
These are available in source form in the hledger repo\[aq]s bin/
|
||||
directory; installing them is pretty easy.
|
||||
directory.
|
||||
They may be less mature and documented than built-in commands.
|
||||
Reading and tweaking these is a good way to start making your own!
|
||||
.SS autosync
|
||||
|
||||
@ -3119,10 +3119,9 @@ File: hledger.info, Node: Experimental add-ons, Prev: Third party add-ons, Up
|
||||
5.3 Experimental add-ons
|
||||
========================
|
||||
|
||||
These are available in source form in the hledger repo's bin/ directory;
|
||||
installing them is pretty easy. They may be less mature and documented
|
||||
than built-in commands. Reading and tweaking these is a good way to
|
||||
start making your own!
|
||||
These are available in source form in the hledger repo's bin/ directory.
|
||||
They may be less mature and documented than built-in commands. Reading
|
||||
and tweaking these is a good way to start making your own!
|
||||
|
||||
* Menu:
|
||||
|
||||
@ -3328,11 +3327,11 @@ Node: irr108282
|
||||
Ref: #irr108380
|
||||
Node: Experimental add-ons108511
|
||||
Ref: #experimental-add-ons108663
|
||||
Node: autosync108944
|
||||
Ref: #autosync109055
|
||||
Node: chart109294
|
||||
Ref: #chart109413
|
||||
Node: check109484
|
||||
Ref: #check109586
|
||||
Node: autosync108911
|
||||
Ref: #autosync109022
|
||||
Node: chart109261
|
||||
Ref: #chart109380
|
||||
Node: check109451
|
||||
Ref: #check109553
|
||||
|
||||
End Tag Table
|
||||
|
||||
@ -176,8 +176,8 @@ OPTIONS
|
||||
using period expressions syntax
|
||||
|
||||
--date2
|
||||
match the secondary date instead (see command help for other ef-
|
||||
fects)
|
||||
match the secondary date instead (see command help for other
|
||||
effects)
|
||||
|
||||
-U --unmarked
|
||||
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.
|
||||
|
||||
Command options
|
||||
To see options for a particular command, including command-specific op-
|
||||
tions, run: hledger COMMAND -h.
|
||||
To see options for a particular command, including command-specific
|
||||
options, run: hledger COMMAND -h.
|
||||
|
||||
Command-specific options must be written after the command name, eg:
|
||||
hledger print -x.
|
||||
|
||||
Additionally, if the command is an addon, you may need to put its op-
|
||||
tions after a double-hyphen, eg: hledger ui -- --watch. Or, you can
|
||||
Additionally, if the command is an addon, you may need to put its
|
||||
options after a double-hyphen, eg: hledger ui -- --watch. Or, you can
|
||||
run the addon executable directly: hledger-ui --watch.
|
||||
|
||||
Command arguments
|
||||
@ -320,8 +320,8 @@ OPTIONS
|
||||
|
||||
This requires a well-configured environment. Here are some tips:
|
||||
|
||||
o A system locale must be configured, and it must be one that can de-
|
||||
code the characters being used. In bash, you can set a locale like
|
||||
o A system locale must be configured, and it must be one that can
|
||||
decode 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-
|
||||
bleshooting. This step is essential - without it, hledger will quit
|
||||
on encountering a non-ascii character (as with all GHC-compiled pro-
|
||||
@ -421,8 +421,8 @@ OPTIONS
|
||||
201812 6 digit YYYYMM with valid
|
||||
year and month
|
||||
|
||||
Counterexamples - malformed digit sequences might give surprising re-
|
||||
sults:
|
||||
Counterexamples - malformed digit sequences might give surprising
|
||||
results:
|
||||
|
||||
201813 6 digits with an invalid
|
||||
month is parsed as start
|
||||
@ -472,9 +472,9 @@ OPTIONS
|
||||
ber 1st of the current
|
||||
year (11/30 will be the
|
||||
last date included)
|
||||
-b thismonth all transactions on or af-
|
||||
ter the 1st of the current
|
||||
month
|
||||
-b thismonth all transactions on or
|
||||
after the 1st of the cur-
|
||||
rent month
|
||||
-p thismonth all transactions in the
|
||||
current month
|
||||
date:2016/3/17- the above written as
|
||||
@ -488,8 +488,8 @@ OPTIONS
|
||||
ance and activity will divide their reports into multiple subperiods.
|
||||
The basic intervals can be selected with one of -D/--daily,
|
||||
-W/--weekly, -M/--monthly, -Q/--quarterly, or -Y/--yearly. More com-
|
||||
plex intervals may be specified with a period expression. Report in-
|
||||
tervals can not be specified with a query.
|
||||
plex intervals may be specified with a period expression. Report
|
||||
intervals can not be specified with a query.
|
||||
|
||||
Period expressions
|
||||
The -p/--period option accepts period expressions, a shorthand way of
|
||||
@ -539,11 +539,11 @@ OPTIONS
|
||||
-p "2009/1/1" just that day; equivalent
|
||||
to "2009/1/1 to 2009/1/2"
|
||||
|
||||
The argument of -p can also begin with, or be, a report interval ex-
|
||||
pression. The basic report intervals are daily, weekly, monthly, quar-
|
||||
terly, or yearly, which have the same effect as the -D,-W,-M,-Q, or -Y
|
||||
flags. Between report interval and start/end dates (if any), the word
|
||||
in is optional. Examples:
|
||||
The argument of -p can also begin with, or be, a report interval
|
||||
expression. The basic report intervals are daily, weekly, monthly,
|
||||
quarterly, or yearly, which have the same effect as the -D,-W,-M,-Q, or
|
||||
-Y flags. Between report interval and start/end dates (if any), the
|
||||
word in is optional. Examples:
|
||||
|
||||
-p "weekly from 2009/1/1 to 2009/4/1"
|
||||
-p "monthly in 2008"
|
||||
@ -551,8 +551,8 @@ OPTIONS
|
||||
|
||||
Note that weekly, monthly, quarterly and yearly intervals will always
|
||||
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 ex-
|
||||
pression specifies different explicit start and end date.
|
||||
will end on the last day of same period, even if associated period
|
||||
expression specifies different explicit start and end date.
|
||||
|
||||
For example:
|
||||
|
||||
@ -568,8 +568,8 @@ OPTIONS
|
||||
-p "yearly from 2009-12-29" - starts on
|
||||
2009/01/01, first day of 2009
|
||||
|
||||
The following more complex report intervals are also supported: bi-
|
||||
weekly, bimonthly, every day|week|month|quarter|year, every N
|
||||
The following more complex report intervals are also supported:
|
||||
biweekly, bimonthly, every day|week|month|quarter|year, every N
|
||||
days|weeks|months|quarters|years.
|
||||
|
||||
All of these will start on the first day of the requested period and
|
||||
@ -582,8 +582,8 @@ OPTIONS
|
||||
2008/03/01, ...
|
||||
-p "every 2 weeks" -- starts on closest
|
||||
preceeding Monday
|
||||
-p "every 5 month from 2009/03" -- pe-
|
||||
riods will have boundaries on
|
||||
-p "every 5 month from 2009/03" --
|
||||
periods will have boundaries on
|
||||
2009/03/01, 2009/08/01, ...
|
||||
|
||||
If you want intervals that start on arbitrary day of your choosing and
|
||||
@ -622,9 +622,9 @@ OPTIONS
|
||||
Depth limiting
|
||||
With the --depth N option (short form: -N), commands like account, bal-
|
||||
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 de-
|
||||
tail. This flag has the same effect as a depth: query argument (so -2,
|
||||
--depth=2 or depth:2 are basically equivalent).
|
||||
tree, down to level N. Use this when you want a summary with less
|
||||
detail. This flag has the same effect as a depth: query argument (so
|
||||
-2, --depth=2 or depth:2 are basically equivalent).
|
||||
|
||||
Pivoting
|
||||
Normally hledger sums amounts, and organizes them in a hierarchy, based
|
||||
@ -662,8 +662,8 @@ OPTIONS
|
||||
--------------------
|
||||
0
|
||||
|
||||
One way to show only amounts with a member: value (using a query, de-
|
||||
scribed below):
|
||||
One way to show only amounts with a member: value (using a query,
|
||||
described below):
|
||||
|
||||
$ hledger balance --pivot member tag:member=.
|
||||
-2 EUR John Doe
|
||||
@ -691,8 +691,8 @@ OPTIONS
|
||||
is today (equivalent to --value=now); for multiperiod reports, it is
|
||||
the last day of each subperiod (equivalent to --value=end).
|
||||
|
||||
The default valuation commodity is the one referenced in the latest ap-
|
||||
plicable market price dated on or before the valuation date. If most
|
||||
The default valuation commodity is the one referenced in the latest
|
||||
applicable market price dated on or before the valuation date. If most
|
||||
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.)
|
||||
|
||||
@ -782,8 +782,8 @@ OPTIONS
|
||||
o reverse prices (declared prices from valuation to source commodity,
|
||||
inverted)
|
||||
|
||||
o indirect prices (prices calculated from the shortest chain of de-
|
||||
clared or reverse prices from source to valuation commodity)
|
||||
o indirect prices (prices calculated from the shortest chain of
|
||||
declared or reverse prices from source to valuation commodity)
|
||||
|
||||
in that order.
|
||||
|
||||
@ -862,8 +862,8 @@ OPTIONS
|
||||
2000/03/01
|
||||
(a) 1 B
|
||||
|
||||
You may need to explicitly set a commodity's display style, when re-
|
||||
verse prices are used. Eg this output might be surprising:
|
||||
You may need to explicitly set a commodity's display style, when
|
||||
reverse prices are used. Eg this output might be surprising:
|
||||
|
||||
P 2000-01-01 A 2B
|
||||
|
||||
@ -897,8 +897,8 @@ OPTIONS
|
||||
Effect of --value on reports
|
||||
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-
|
||||
bleshooting or reporting bugs. See also the definitions and notes be-
|
||||
low. If you find problems, please report them, ideally with a repro-
|
||||
bleshooting or reporting bugs. See also the definitions and notes
|
||||
below. If you find problems, please report them, ideally with a repro-
|
||||
ducible example. Related: #329, #1083.
|
||||
|
||||
Report type -B, -V, -X --value=end --value=DATE,
|
||||
@ -908,8 +908,8 @@ OPTIONS
|
||||
posting cost value at report value at report value at
|
||||
amounts end or today or journal end DATE/today
|
||||
balance asser- unchanged unchanged unchanged unchanged
|
||||
tions / as-
|
||||
signments
|
||||
tions /
|
||||
assignments
|
||||
|
||||
register
|
||||
starting bal- cost value at day value at day value at
|
||||
@ -924,8 +924,8 @@ OPTIONS
|
||||
ing amounts cost ends ends DATE/today
|
||||
(with report
|
||||
interval)
|
||||
running to- sum/average of sum/average of sum/average of sum/average
|
||||
tal/average displayed val- displayed val- displayed val- of displayed
|
||||
running sum/average of sum/average of sum/average of sum/average
|
||||
total/average displayed val- displayed val- displayed val- of displayed
|
||||
ues ues ues values
|
||||
|
||||
balance (bs,
|
||||
@ -939,24 +939,25 @@ OPTIONS
|
||||
val) postings postings sums of post-
|
||||
ings
|
||||
starting bal- sums of costs sums of post- sums of post- sums of post-
|
||||
ances (with of postings ings before re- ings before re- ings before
|
||||
report inter- before report port start port start report start
|
||||
ances (with of postings ings before ings before ings before
|
||||
report inter- before report report start report start report start
|
||||
val and -H) start
|
||||
budget amounts like balances like balances like balances like balances
|
||||
with --budget
|
||||
grand total sum of dis- sum of dis- sum of dis- sum of dis-
|
||||
(no report in- played values played values played values played values
|
||||
terval)
|
||||
(no report played values played values played values played values
|
||||
interval)
|
||||
|
||||
row totals/av- sums/averages sums/averages sums/averages sums/averages
|
||||
erages (with of displayed of displayed of displayed of displayed
|
||||
report inter- values values values values
|
||||
row sums/averages sums/averages sums/averages sums/averages
|
||||
totals/aver- of displayed of displayed of displayed of displayed
|
||||
ages (with values values values values
|
||||
report inter-
|
||||
val)
|
||||
column totals sums of dis- sums of dis- sums of dis- sums of dis-
|
||||
played values played values played values played values
|
||||
grand to- sum/average of sum/average of sum/average of sum/average
|
||||
tal/average column totals column totals column totals of column to-
|
||||
tals
|
||||
grand sum/average of sum/average of sum/average of sum/average
|
||||
total/average column totals column totals column totals of column
|
||||
totals
|
||||
|
||||
|
||||
Additional notes
|
||||
@ -1032,8 +1033,8 @@ OPTIONS
|
||||
|
||||
o also support GNU word boundaries (\<, \>, \b, \B)
|
||||
|
||||
o and parenthesised capturing groups and numeric backreferences in re-
|
||||
placement strings
|
||||
o and parenthesised capturing groups and numeric backreferences in
|
||||
replacement strings
|
||||
|
||||
o do not support mode modifiers like (?s)
|
||||
|
||||
@ -1150,8 +1151,8 @@ QUERIES
|
||||
only:
|
||||
|
||||
inacct:ACCTNAME
|
||||
tells hledger-web to show the transaction register for this ac-
|
||||
count. Can be filtered further with acct etc.
|
||||
tells hledger-web to show the transaction register for this
|
||||
account. Can be filtered further with acct etc.
|
||||
|
||||
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
|
||||
@ -1166,14 +1167,14 @@ COMMANDS
|
||||
scripts named hledger-NAME in your PATH, these will also be listed as
|
||||
subcommands.
|
||||
|
||||
Run a subcommand by writing its name as first argument (eg hledger in-
|
||||
comestatement). You can also write one of the standard short aliases
|
||||
Run a subcommand by writing its name as first argument (eg hledger
|
||||
incomestatement). You can also write one of the standard short aliases
|
||||
displayed in parentheses in the command list (hledger b), or any any
|
||||
unambiguous prefix of a command name (hledger inc).
|
||||
|
||||
Here are all the builtin commands in alphabetical order. See also
|
||||
hledger for a more organised command list, and hledger CMD -h for de-
|
||||
tailed command help.
|
||||
hledger for a more organised command list, and hledger CMD -h for
|
||||
detailed command help.
|
||||
|
||||
accounts
|
||||
accounts, a
|
||||
@ -1234,8 +1235,8 @@ COMMANDS
|
||||
|
||||
Features:
|
||||
|
||||
o add tries to provide useful defaults, using the most similar (by de-
|
||||
scription) recent transaction (filtered by the query, if any) as a
|
||||
o add tries to provide useful defaults, using the most similar (by
|
||||
description) recent transaction (filtered by the query, if any) as a
|
||||
template.
|
||||
|
||||
o You can also set the initial defaults with command line arguments.
|
||||
@ -1334,8 +1335,8 @@ COMMANDS
|
||||
--------------------
|
||||
0
|
||||
|
||||
By default, accounts are displayed hierarchically, with subaccounts in-
|
||||
dented below their parent. At each level of the tree, accounts are
|
||||
By default, accounts are displayed hierarchically, with subaccounts
|
||||
indented below their parent. At each level of the tree, accounts are
|
||||
sorted by account code if any, then by account name. Or with
|
||||
-S/--sort-amount, by their balance amount.
|
||||
|
||||
@ -1404,9 +1405,9 @@ COMMANDS
|
||||
|
||||
o %, - render on one line, comma-separated
|
||||
|
||||
There are some quirks. Eg in one-line mode, %(depth_spacer) has no ef-
|
||||
fect, instead %(account) has indentation built in. Experimentation may
|
||||
be needed to get pleasing results.
|
||||
There are some quirks. Eg in one-line mode, %(depth_spacer) has no
|
||||
effect, instead %(account) has indentation built in. Experimentation
|
||||
may be needed to get pleasing results.
|
||||
|
||||
Some example formats:
|
||||
|
||||
@ -1458,8 +1459,8 @@ COMMANDS
|
||||
Multicolumn or tabular balance reports are a very useful hledger fea-
|
||||
ture, and usually the preferred style. They share many of the above
|
||||
features, but they show the report as a table, with columns represent-
|
||||
ing time periods. This mode is activated by providing a reporting in-
|
||||
terval.
|
||||
ing time periods. This mode is activated by providing a reporting
|
||||
interval.
|
||||
|
||||
There are three types of multicolumn balance report, showing different
|
||||
information:
|
||||
@ -1480,8 +1481,8 @@ COMMANDS
|
||||
-------------------++---------------------------------
|
||||
|| $-1 $1 0 0
|
||||
|
||||
2. With --cumulative: each column shows the ending balance for that pe-
|
||||
riod, accumulating the changes across periods, starting from 0 at
|
||||
2. With --cumulative: each column shows the ending balance for that
|
||||
period, accumulating the changes across periods, starting from 0 at
|
||||
the report start date:
|
||||
|
||||
$ hledger balance --quarterly income expenses -E --cumulative
|
||||
@ -1526,12 +1527,12 @@ COMMANDS
|
||||
ods will be "full" and comparable to the others.
|
||||
|
||||
The -E/--empty flag does two things in multicolumn balance reports:
|
||||
first, the report will show all columns within the specified report pe-
|
||||
riod (without -E, leading and trailing columns with all zeroes are not
|
||||
shown). Second, all accounts which existed at the report start date
|
||||
will be considered, not just the ones with activity during the report
|
||||
period (use -E to include low-activity accounts which would otherwise
|
||||
would be omitted).
|
||||
first, the report will show all columns within the specified report
|
||||
period (without -E, leading and trailing columns with all zeroes are
|
||||
not shown). Second, all accounts which existed at the report start
|
||||
date will be considered, not just the ones with activity during the
|
||||
report period (use -E to include low-activity accounts which would oth-
|
||||
erwise would be omitted).
|
||||
|
||||
The -T/--row-total flag adds an additional column showing the total for
|
||||
each row.
|
||||
@ -1569,12 +1570,12 @@ COMMANDS
|
||||
Budget report
|
||||
With --budget, extra columns are displayed showing budget goals for
|
||||
each account and period, if any. Budget goals are defined by periodic
|
||||
transactions. This is very useful for comparing planned and actual in-
|
||||
come, expenses, time usage, etc. --budget is most often combined with
|
||||
a report interval.
|
||||
transactions. This is very useful for comparing planned and actual
|
||||
income, expenses, time usage, etc. --budget is most often combined
|
||||
with a report interval.
|
||||
|
||||
For example, you can take average monthly expenses in the common ex-
|
||||
pense categories to construct a minimal monthly budget:
|
||||
For example, you can take average monthly expenses in the common
|
||||
expense categories to construct a minimal monthly budget:
|
||||
|
||||
;; Budget
|
||||
~ monthly
|
||||
@ -1699,10 +1700,10 @@ COMMANDS
|
||||
budget for personal expenses is an additional $1000, which implicity
|
||||
means that budget for both expenses:personal and expenses is $1100.
|
||||
|
||||
Transactions in expenses:personal:electronics will be counted both to-
|
||||
wards its $100 budget and $1100 of expenses:personal , and transactions
|
||||
in any other subaccount of expenses:personal would be counted towards
|
||||
only towards the budget of expenses:personal.
|
||||
Transactions in expenses:personal:electronics will be counted both
|
||||
towards its $100 budget and $1100 of expenses:personal , and transac-
|
||||
tions in any other subaccount of expenses:personal would be counted
|
||||
towards only towards the budget of expenses:personal.
|
||||
|
||||
For example, let's consider these transactions:
|
||||
|
||||
@ -1763,8 +1764,8 @@ COMMANDS
|
||||
|| 0 [ 0]
|
||||
|
||||
Output format
|
||||
The balance command supports output destination and output format se-
|
||||
lection.
|
||||
The balance command supports output destination and output format
|
||||
selection.
|
||||
|
||||
balancesheet
|
||||
balancesheet, bs
|
||||
@ -1924,12 +1925,12 @@ COMMANDS
|
||||
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).
|
||||
|
||||
Both transactions will include balance assertions for the closed/re-
|
||||
opened accounts. You probably shouldn't use status or realness filters
|
||||
(like -C or -R or status:) with this command, or the generated balance
|
||||
assertions will depend on these flags. Likewise, if you run this com-
|
||||
mand with --auto, the balance assertions will probably always require
|
||||
--auto.
|
||||
Both transactions will include balance assertions for the
|
||||
closed/reopened accounts. You probably shouldn't use status or real-
|
||||
ness filters (like -C or -R or status:) with this command, or the gen-
|
||||
erated balance assertions will depend on these flags. Likewise, if you
|
||||
run this command with --auto, the balance assertions will probably
|
||||
always require --auto.
|
||||
|
||||
When account balances have cost information (transaction prices), the
|
||||
closing/opening transactions will preserve it, so that eg balance -B
|
||||
@ -2095,8 +2096,8 @@ COMMANDS
|
||||
expenses during a period. It assumes that these accounts are under a
|
||||
top-level revenue or income or expense account (case insensitive, plu-
|
||||
ral forms also allowed). Note this report shows all account balances
|
||||
with normal positive sign (like conventional financial statements, un-
|
||||
like balance/print/register) (experimental).
|
||||
with normal positive sign (like conventional financial statements,
|
||||
unlike balance/print/register) (experimental).
|
||||
|
||||
This command displays a simple income statement. It currently assumes
|
||||
that you have top-level accounts named income (or revenue) and expense
|
||||
@ -2157,9 +2158,10 @@ COMMANDS
|
||||
prices
|
||||
prices
|
||||
Print market price directives from the journal. With --costs, also
|
||||
print synthetic market prices based on transaction prices. With --in-
|
||||
verted-costs, also print inverse prices based on transaction prices.
|
||||
Prices (and postings providing prices) can be filtered by a query.
|
||||
print synthetic market prices based on transaction prices. With
|
||||
--inverted-costs, also print inverse prices based on transaction
|
||||
prices. Prices (and postings providing prices) can be filtered by a
|
||||
query.
|
||||
|
||||
print
|
||||
print, txns, p
|
||||
@ -2170,8 +2172,8 @@ COMMANDS
|
||||
tions are sorted by secondary date instead.
|
||||
|
||||
print's output is always a valid hledger journal.
|
||||
It preserves all transaction information, but it does not preserve di-
|
||||
rectives or inter-transaction comments
|
||||
It preserves all transaction information, but it does not preserve
|
||||
directives or inter-transaction comments
|
||||
|
||||
$ hledger print
|
||||
2008/01/01 income
|
||||
@ -2217,16 +2219,16 @@ COMMANDS
|
||||
cial state file (.latest.FILE in the same directory), containing the
|
||||
latest transaction date(s) that were seen last time FILE was read.
|
||||
When this file is found, only transactions with newer dates (and new
|
||||
transactions on the latest date) are printed. This is useful for ig-
|
||||
noring already-seen entries in import data, such as downloaded CSV
|
||||
transactions on the latest date) are printed. This is useful for
|
||||
ignoring already-seen entries in import data, such as downloaded CSV
|
||||
files. Eg:
|
||||
|
||||
$ hledger -f bank1.csv print --new
|
||||
# shows transactions added since last print --new on this file
|
||||
|
||||
This assumes that transactions added to FILE always have same or in-
|
||||
creasing dates, and that transactions on the same day do not get re-
|
||||
ordered. See also the import command.
|
||||
This assumes that transactions added to FILE always have same or
|
||||
increasing dates, and that transactions on the same day do not get
|
||||
reordered. See also the import command.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
tion. Here's an example of print's CSV output:
|
||||
@ -2307,21 +2309,21 @@ COMMANDS
|
||||
The --average/-A flag shows the running average posting amount instead
|
||||
of the running total (so, the final number displayed is the average for
|
||||
the whole report period). This flag implies --empty (see below). It
|
||||
is affected by --historical. It works best when showing just one ac-
|
||||
count and one commodity.
|
||||
is affected by --historical. It works best when showing just one
|
||||
account and one commodity.
|
||||
|
||||
The --related/-r flag shows the other postings in the transactions of
|
||||
the postings which would normally be shown.
|
||||
|
||||
The --invert flag negates all amounts. For example, it can be used on
|
||||
an income account where amounts are normally displayed as negative num-
|
||||
bers. It's also useful to show postings on the checking account to-
|
||||
gether with the related account:
|
||||
bers. It's also useful to show postings on the checking account
|
||||
together with the related account:
|
||||
|
||||
$ hledger register --related --invert assets:checking
|
||||
|
||||
With a reporting interval, register shows summary postings, one per in-
|
||||
terval, aggregating the postings to each account:
|
||||
With a reporting interval, register shows summary postings, one per
|
||||
interval, aggregating the postings to each account:
|
||||
|
||||
$ hledger register --monthly income
|
||||
2008/01 income:salary $-1 $-1
|
||||
@ -2344,8 +2346,8 @@ COMMANDS
|
||||
2008/11 0 $-2
|
||||
2008/12 0 $-2
|
||||
|
||||
Often, you'll want to see just one line per interval. The --depth op-
|
||||
tion helps with this, causing subaccounts to be aggregated:
|
||||
Often, you'll want to see just one line per interval. The --depth
|
||||
option helps with this, causing subaccounts to be aggregated:
|
||||
|
||||
$ hledger register --monthly assets --depth 1h
|
||||
2008/01 assets $1 $1
|
||||
@ -2353,8 +2355,8 @@ COMMANDS
|
||||
2008/12 assets $-1 $-1
|
||||
|
||||
Note when using report intervals, if you specify start/end dates these
|
||||
will be adjusted outward if necessary to contain a whole number of in-
|
||||
tervals. This ensures that the first and last intervals are full
|
||||
will be adjusted outward if necessary to contain a whole number of
|
||||
intervals. This ensures that the first and last intervals are full
|
||||
length and comparable to the others in the report.
|
||||
|
||||
Custom register output
|
||||
@ -2363,9 +2365,9 @@ COMMANDS
|
||||
a bash shell variable) or by using the --width/-w option.
|
||||
|
||||
The description and account columns normally share the space equally
|
||||
(about half of (width - 40) each). You can adjust this by adding a de-
|
||||
scription width as part of --width's argument, comma-separated: --width
|
||||
W,D . Here's a diagram (won't display correctly in --help):
|
||||
(about half of (width - 40) each). You can adjust this by adding a
|
||||
description width as part of --width's argument, comma-separated:
|
||||
--width W,D . Here's a diagram (won't display correctly in --help):
|
||||
|
||||
<--------------------------------- width (W) ---------------------------------->
|
||||
date (10) description (D) account (W-41-D) amount (12) balance (12)
|
||||
@ -2388,8 +2390,8 @@ COMMANDS
|
||||
Print the one posting whose transaction description is closest to DESC,
|
||||
in the style of the register command. If there are multiple equally
|
||||
good matches, it shows the most recent. Query options (options, not
|
||||
arguments) can be used to restrict the search space. Helps ledger-au-
|
||||
tosync detect already-seen transactions when importing.
|
||||
arguments) can be used to restrict the search space. Helps ledger-
|
||||
autosync detect already-seen transactions when importing.
|
||||
|
||||
rewrite
|
||||
rewrite
|
||||
@ -2429,10 +2431,10 @@ COMMANDS
|
||||
Argument for --add-posting option is a usual posting of transaction
|
||||
with an exception for amount specification. More precisely, you can
|
||||
use '*' (star symbol) before the amount to indicate that that this is a
|
||||
factor for an amount of original matched posting. If the amount in-
|
||||
cludes a commodity name, the new posting amount will be in the new com-
|
||||
modity; otherwise, it will be in the matched posting amount's commod-
|
||||
ity.
|
||||
factor for an amount of original matched posting. If the amount
|
||||
includes a commodity name, the new posting amount will be in the new
|
||||
commodity; otherwise, it will be in the matched posting amount's com-
|
||||
modity.
|
||||
|
||||
Re-write rules in a file
|
||||
During the run this tool will execute so called "Automated Transac-
|
||||
@ -2530,9 +2532,9 @@ COMMANDS
|
||||
originating from unrealized profit and loss account(s) are assumed to
|
||||
be your investments or withdrawals.
|
||||
|
||||
At a minimum, you need to supply a query (which could be just an ac-
|
||||
count name) to select your investments with --inv, and another query to
|
||||
identify your profit and loss transactions with --pnl.
|
||||
At a minimum, you need to supply a query (which could be just an
|
||||
account name) to select your investments with --inv, and another query
|
||||
to identify your profit and loss transactions with --pnl.
|
||||
|
||||
It will compute and display the internalized rate of return (IRR) and
|
||||
time-weighted rate of return (TWR) for your investments for the time
|
||||
@ -2570,8 +2572,8 @@ COMMANDS
|
||||
List all the tag names used in the journal. With a TAGREGEX argument,
|
||||
only tag names matching the regular expression (case insensitive) are
|
||||
shown. With QUERY arguments, only transactions matching the query are
|
||||
considered. With --values flag, the tags' unique values are listed in-
|
||||
stead.
|
||||
considered. With --values flag, the tags' unique values are listed
|
||||
instead.
|
||||
|
||||
test
|
||||
test
|
||||
@ -2590,8 +2592,8 @@ COMMANDS
|
||||
none of them).
|
||||
|
||||
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 ex-
|
||||
pected to pass - if you ever see otherwise, something has gone wrong,
|
||||
check your installed hledger executable at any time. All tests are
|
||||
expected to pass - if you ever see otherwise, something has gone wrong,
|
||||
please report a bug!
|
||||
|
||||
ADD-ON COMMANDS
|
||||
@ -2650,14 +2652,13 @@ ADD-ON COMMANDS
|
||||
ing to various schemes.
|
||||
|
||||
irr
|
||||
hledger-irr calculates the internal rate of return of an investment ac-
|
||||
count, but it's superseded now by the built-in roi command.
|
||||
hledger-irr calculates the internal rate of return of an investment
|
||||
account, but it's superseded now by the built-in roi command.
|
||||
|
||||
Experimental add-ons
|
||||
These are available in source form in the hledger repo's bin/ direc-
|
||||
tory; installing them is pretty easy. They may be less mature and doc-
|
||||
umented than built-in commands. Reading and tweaking these is a good
|
||||
way to start making your own!
|
||||
tory. They may be less mature and documented than built-in commands.
|
||||
Reading and tweaking these is a good way to start making your own!
|
||||
|
||||
autosync
|
||||
hledger-autosync is a symbolic link for easily running ledger-autosync,
|
||||
@ -2709,8 +2710,8 @@ LIMITATIONS
|
||||
Ledger.
|
||||
|
||||
TROUBLESHOOTING
|
||||
Here are some issues you might encounter when you run hledger (and re-
|
||||
member you can also seek help from the IRC channel, mail list or bug
|
||||
Here are some issues you might encounter when you run hledger (and
|
||||
remember you can also seek help from the IRC channel, mail list or bug
|
||||
tracker):
|
||||
|
||||
Successfully installed, but "No command 'hledger' found"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user