mirror of
https://github.com/simonmichael/hledger.git
synced 2024-12-26 20:02:27 +03:00
close: doc: mention --close-to/--open-from in the manual
[ci skip]
This commit is contained in:
parent
60b26b8e4b
commit
9d6db33278
@ -7,8 +7,9 @@ period.
|
||||
|
||||
_FLAGS_
|
||||
|
||||
The closing transaction transfers balances to "equity:closing balances".
|
||||
The opening transaction transfers balances from "equity:opening balances".
|
||||
The closing transaction transfers balances to "equity:closing balances",
|
||||
and the opening transaction transfers balances from "equity:opening balances",
|
||||
or you can customise these with the `--close-to` and `--open-from` options.
|
||||
You can choose to print just one of the transactions by using the
|
||||
`--opening` or `--closing` flag.
|
||||
|
||||
|
@ -7,10 +7,11 @@ end of a period.
|
||||
|
||||
_FLAGS_
|
||||
|
||||
The closing transaction transfers balances to "equity:closing balances".
|
||||
The opening transaction transfers balances from "equity:opening
|
||||
balances". You can choose to print just one of the transactions by using
|
||||
the --opening or --closing flag.
|
||||
The closing transaction transfers balances to "equity:closing balances",
|
||||
and the opening transaction transfers balances from "equity:opening
|
||||
balances", or you can customise these with the --close-to and
|
||||
--open-from options. You can choose to print just one of the
|
||||
transactions by using the --opening or --closing flag.
|
||||
|
||||
If you split your journal files by time (eg yearly), you will typically
|
||||
run this command at the end of the year, and save the closing
|
||||
|
@ -2669,9 +2669,9 @@ file, or for closing out revenues/expenses to retained earnings at the
|
||||
end of a period.
|
||||
.PP
|
||||
The closing transaction transfers balances to \[dq]equity:closing
|
||||
balances\[dq].
|
||||
The opening transaction transfers balances from \[dq]equity:opening
|
||||
balances\[dq].
|
||||
balances\[dq], and the opening transaction transfers balances from
|
||||
\[dq]equity:opening balances\[dq], or you can customise these with the
|
||||
\f[C]--close-to\f[R] and \f[C]--open-from\f[R] options.
|
||||
You can choose to print just one of the transactions by using the
|
||||
\f[C]--opening\f[R] or \f[C]--closing\f[R] flag.
|
||||
.PP
|
||||
|
@ -2187,9 +2187,10 @@ file, or for closing out revenues/expenses to retained earnings at the
|
||||
end of a period.
|
||||
|
||||
The closing transaction transfers balances to "equity:closing
|
||||
balances". The opening transaction transfers balances from
|
||||
"equity:opening balances". You can choose to print just one of the
|
||||
transactions by using the '--opening' or '--closing' flag.
|
||||
balances", and the opening transaction transfers balances from
|
||||
"equity:opening balances", or you can customise these with the
|
||||
'--close-to' and '--open-from' options. You can choose to print just
|
||||
one of the transactions by using the '--opening' or '--closing' flag.
|
||||
|
||||
If you split your journal files by time (eg yearly), you will
|
||||
typically run this command at the end of the year, and save the closing
|
||||
@ -3290,78 +3291,78 @@ Node: check-dupes75785
|
||||
Ref: #check-dupes75909
|
||||
Node: close76202
|
||||
Ref: #close76316
|
||||
Node: commodities79903
|
||||
Ref: #commodities80030
|
||||
Node: descriptions80112
|
||||
Ref: #descriptions80240
|
||||
Node: diff80421
|
||||
Ref: #diff80527
|
||||
Node: files81574
|
||||
Ref: #files81674
|
||||
Node: help81821
|
||||
Ref: #help81921
|
||||
Node: import83002
|
||||
Ref: #import83116
|
||||
Node: Importing balance assignments84009
|
||||
Ref: #importing-balance-assignments84157
|
||||
Node: incomestatement84806
|
||||
Ref: #incomestatement84939
|
||||
Node: notes86343
|
||||
Ref: #notes86456
|
||||
Node: payees86582
|
||||
Ref: #payees86688
|
||||
Node: prices86846
|
||||
Ref: #prices86952
|
||||
Node: print87293
|
||||
Ref: #print87403
|
||||
Node: print-unique91896
|
||||
Ref: #print-unique92022
|
||||
Node: register92307
|
||||
Ref: #register92434
|
||||
Node: Custom register output96606
|
||||
Ref: #custom-register-output96735
|
||||
Node: register-match97997
|
||||
Ref: #register-match98131
|
||||
Node: rewrite98482
|
||||
Ref: #rewrite98597
|
||||
Node: Re-write rules in a file100452
|
||||
Ref: #re-write-rules-in-a-file100586
|
||||
Node: Diff output format101796
|
||||
Ref: #diff-output-format101965
|
||||
Node: rewrite vs print --auto103057
|
||||
Ref: #rewrite-vs.-print---auto103236
|
||||
Node: roi103792
|
||||
Ref: #roi103890
|
||||
Node: stats104902
|
||||
Ref: #stats105001
|
||||
Node: tags105789
|
||||
Ref: #tags105887
|
||||
Node: test106181
|
||||
Ref: #test106265
|
||||
Node: ADD-ON COMMANDS107012
|
||||
Ref: #add-on-commands107122
|
||||
Node: Official add-ons108410
|
||||
Ref: #official-add-ons108550
|
||||
Node: ui108630
|
||||
Ref: #ui108717
|
||||
Node: web108771
|
||||
Ref: #web108860
|
||||
Node: Third party add-ons108906
|
||||
Ref: #third-party-add-ons109081
|
||||
Ref: #diff-1109240
|
||||
Node: iadd109339
|
||||
Ref: #iadd109449
|
||||
Node: interest109531
|
||||
Ref: #interest109652
|
||||
Node: irr109747
|
||||
Ref: #irr109845
|
||||
Node: Experimental add-ons109976
|
||||
Ref: #experimental-add-ons110128
|
||||
Node: autosync110376
|
||||
Ref: #autosync110487
|
||||
Node: chart110726
|
||||
Ref: #chart110845
|
||||
Node: check110916
|
||||
Ref: #check111018
|
||||
Node: commodities79982
|
||||
Ref: #commodities80109
|
||||
Node: descriptions80191
|
||||
Ref: #descriptions80319
|
||||
Node: diff80500
|
||||
Ref: #diff80606
|
||||
Node: files81653
|
||||
Ref: #files81753
|
||||
Node: help81900
|
||||
Ref: #help82000
|
||||
Node: import83081
|
||||
Ref: #import83195
|
||||
Node: Importing balance assignments84088
|
||||
Ref: #importing-balance-assignments84236
|
||||
Node: incomestatement84885
|
||||
Ref: #incomestatement85018
|
||||
Node: notes86422
|
||||
Ref: #notes86535
|
||||
Node: payees86661
|
||||
Ref: #payees86767
|
||||
Node: prices86925
|
||||
Ref: #prices87031
|
||||
Node: print87372
|
||||
Ref: #print87482
|
||||
Node: print-unique91975
|
||||
Ref: #print-unique92101
|
||||
Node: register92386
|
||||
Ref: #register92513
|
||||
Node: Custom register output96685
|
||||
Ref: #custom-register-output96814
|
||||
Node: register-match98076
|
||||
Ref: #register-match98210
|
||||
Node: rewrite98561
|
||||
Ref: #rewrite98676
|
||||
Node: Re-write rules in a file100531
|
||||
Ref: #re-write-rules-in-a-file100665
|
||||
Node: Diff output format101875
|
||||
Ref: #diff-output-format102044
|
||||
Node: rewrite vs print --auto103136
|
||||
Ref: #rewrite-vs.-print---auto103315
|
||||
Node: roi103871
|
||||
Ref: #roi103969
|
||||
Node: stats104981
|
||||
Ref: #stats105080
|
||||
Node: tags105868
|
||||
Ref: #tags105966
|
||||
Node: test106260
|
||||
Ref: #test106344
|
||||
Node: ADD-ON COMMANDS107091
|
||||
Ref: #add-on-commands107201
|
||||
Node: Official add-ons108489
|
||||
Ref: #official-add-ons108629
|
||||
Node: ui108709
|
||||
Ref: #ui108796
|
||||
Node: web108850
|
||||
Ref: #web108939
|
||||
Node: Third party add-ons108985
|
||||
Ref: #third-party-add-ons109160
|
||||
Ref: #diff-1109319
|
||||
Node: iadd109418
|
||||
Ref: #iadd109528
|
||||
Node: interest109610
|
||||
Ref: #interest109731
|
||||
Node: irr109826
|
||||
Ref: #irr109924
|
||||
Node: Experimental add-ons110055
|
||||
Ref: #experimental-add-ons110207
|
||||
Node: autosync110455
|
||||
Ref: #autosync110566
|
||||
Node: chart110805
|
||||
Ref: #chart110924
|
||||
Node: check110995
|
||||
Ref: #check111097
|
||||
|
||||
End Tag Table
|
||||
|
@ -1926,50 +1926,51 @@ COMMANDS
|
||||
end of a period.
|
||||
|
||||
The closing transaction transfers balances to "equity:closing bal-
|
||||
ances". The opening transaction transfers balances from "equity:open-
|
||||
ing balances". You can choose to print just one of the transactions by
|
||||
using the --opening or --closing flag.
|
||||
ances", and the opening transaction transfers balances from "eq-
|
||||
uity:opening balances", or you can customise these with the --close-to
|
||||
and --open-from options. You can choose to print just one of the
|
||||
transactions by using the --opening or --closing flag.
|
||||
|
||||
If you split your journal files by time (eg yearly), you will typically
|
||||
run this command at the end of the year, and save the closing transac-
|
||||
tion as last entry of the old file, and the opening transaction as the
|
||||
first entry of the new file. This makes the files self contained, so
|
||||
that correct balances are reported no matter which of them are loaded.
|
||||
Ie, if you load just one file, the balances are initialised correctly;
|
||||
or if you load several files, the redundant closing/opening transac-
|
||||
tions cancel each other out. (They will show up in print or register
|
||||
reports; you can exclude them with a query like not:desc:'(open-
|
||||
run this command at the end of the year, and save the closing transac-
|
||||
tion as last entry of the old file, and the opening transaction as the
|
||||
first entry of the new file. This makes the files self contained, so
|
||||
that correct balances are reported no matter which of them are loaded.
|
||||
Ie, if you load just one file, the balances are initialised correctly;
|
||||
or if you load several files, the redundant closing/opening transac-
|
||||
tions cancel each other out. (They will show up in print or register
|
||||
reports; you can exclude them with a query like not:desc:'(open-
|
||||
ing|closing) balances'.)
|
||||
|
||||
If you're running a business, you might also use this command to "close
|
||||
the books" at the end of an accounting period, transferring income
|
||||
statement account balances to retained earnings. (You may want to
|
||||
the books" at the end of an accounting period, transferring income
|
||||
statement account balances to retained earnings. (You may want to
|
||||
change the equity account name to something like "equity:retained earn-
|
||||
ings".)
|
||||
|
||||
By default, the closing transaction is dated yesterday, the balances
|
||||
are calculated as of end of yesterday, and the opening transaction is
|
||||
dated today. To close on some other date, use: hledger close -e OPEN-
|
||||
INGDATE. Eg, to close/open on the 2018/2019 boundary, use -e 2019.
|
||||
By default, the closing transaction is dated yesterday, the balances
|
||||
are calculated as of end of yesterday, and the opening transaction is
|
||||
dated today. To close on some other date, use: hledger close -e OPEN-
|
||||
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-
|
||||
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
|
||||
(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.
|
||||
|
||||
When account balances have cost information (transaction prices), the
|
||||
closing/opening transactions will preserve it, so that eg balance -B
|
||||
When account balances have cost information (transaction prices), the
|
||||
closing/opening transactions will preserve it, so that eg balance -B
|
||||
reports will not be affected.
|
||||
|
||||
Examples:
|
||||
|
||||
Carrying asset/liability balances into a new file for 2019, all from
|
||||
Carrying asset/liability balances into a new file for 2019, all from
|
||||
command line:
|
||||
|
||||
Warning: we use >> here to append; be careful not to type a single >
|
||||
Warning: we use >> here to append; be careful not to type a single >
|
||||
which would wipe your journal!
|
||||
|
||||
$ hledger close -f 2018.journal -e 2019 assets liabilities --opening >>2019.journal
|
||||
@ -2018,18 +2019,18 @@ COMMANDS
|
||||
|
||||
diff
|
||||
diff
|
||||
Compares a particular account's transactions in two input files. It
|
||||
Compares a particular account's transactions in two input files. It
|
||||
shows any transactions to this account which are in one file but not in
|
||||
the other.
|
||||
|
||||
More precisely, for each posting affecting this account in either file,
|
||||
it looks for a corresponding posting in the other file which posts the
|
||||
same amount to the same account (ignoring date, description, etc.)
|
||||
it looks for a corresponding posting in the other file which posts the
|
||||
same amount to the same account (ignoring date, description, etc.)
|
||||
Since postings not transactions are compared, this also works when mul-
|
||||
tiple bank transactions have been combined into a single journal entry.
|
||||
|
||||
This is useful eg if you have downloaded an account's transactions from
|
||||
your bank (eg as CSV data). When hledger and your bank disagree about
|
||||
your bank (eg as CSV data). When hledger and your bank disagree about
|
||||
the account balance, you can compare the bank data with your journal to
|
||||
find out the cause.
|
||||
|
||||
@ -2047,20 +2048,20 @@ COMMANDS
|
||||
|
||||
files
|
||||
files
|
||||
List all files included in the journal. With a REGEX argument, only
|
||||
List all files included in the journal. With a REGEX argument, only
|
||||
file names matching the regular expression (case sensitive) are shown.
|
||||
|
||||
help
|
||||
help
|
||||
Show any of the hledger manuals.
|
||||
|
||||
The help command displays any of the main hledger manuals, in one of
|
||||
several ways. Run it with no argument to list the manuals, or provide
|
||||
The help command displays any of the main hledger manuals, in one of
|
||||
several ways. Run it with no argument to list the manuals, or provide
|
||||
a full or partial manual name to select one.
|
||||
|
||||
hledger manuals are available in several formats. hledger help will
|
||||
use the first of these display methods that it finds: info, man,
|
||||
$PAGER, less, stdout (or when non-interactive, just stdout). You can
|
||||
hledger manuals are available in several formats. hledger help will
|
||||
use the first of these display methods that it finds: info, man,
|
||||
$PAGER, less, stdout (or when non-interactive, just stdout). You can
|
||||
force a particular viewer with the --info, --man, --pager, --cat flags.
|
||||
|
||||
Examples:
|
||||
@ -2087,9 +2088,9 @@ COMMANDS
|
||||
|
||||
import
|
||||
import
|
||||
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-
|
||||
tions that would be added. Or with --catchup, just mark all of the
|
||||
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-
|
||||
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
|
||||
@ -2100,36 +2101,36 @@ COMMANDS
|
||||
ing transactions are always added to the input files in increasing date
|
||||
order, and by saving .latest.FILE state files.
|
||||
|
||||
The --dry-run output is in journal format, so you can filter it, eg to
|
||||
The --dry-run output is in journal format, so you can filter it, eg to
|
||||
see only uncategorised transactions:
|
||||
|
||||
$ hledger import --dry ... | hledger -f- print unknown --ignore-assertions
|
||||
|
||||
Importing balance assignments
|
||||
Entries added by import will have their posting amounts made explicit
|
||||
(like hledger print -x). This means that any balance assignments in
|
||||
imported files must be evaluated; but, imported files don't get to see
|
||||
the main file's account balances. As a result, importing entries with
|
||||
Entries added by import will have their posting amounts made explicit
|
||||
(like hledger print -x). This means that any balance assignments in
|
||||
imported files must be evaluated; but, imported files don't get to see
|
||||
the main file's account balances. As a result, importing entries with
|
||||
balance assignments (eg from an institution that provides only balances
|
||||
and not posting amounts) will probably generate incorrect posting
|
||||
and not posting amounts) will probably generate incorrect posting
|
||||
amounts. To avoid this problem, use print instead of import:
|
||||
|
||||
$ hledger print IMPORTFILE [--new] >> $LEDGER_FILE
|
||||
|
||||
(If you think import should leave amounts implicit like print does,
|
||||
(If you think import should leave amounts implicit like print does,
|
||||
please test it and send a pull request.)
|
||||
|
||||
incomestatement
|
||||
incomestatement, is
|
||||
This command displays a simple income statement, showing revenues and
|
||||
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-
|
||||
This command displays a simple income statement, showing revenues and
|
||||
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).
|
||||
|
||||
This command displays a simple income statement. It currently assumes
|
||||
that you have top-level accounts named income (or revenue) and expense
|
||||
This command displays a simple income statement. It currently assumes
|
||||
that you have top-level accounts named income (or revenue) and expense
|
||||
(plural forms also allowed.)
|
||||
|
||||
$ hledger incomestatement
|
||||
@ -2154,12 +2155,12 @@ COMMANDS
|
||||
0
|
||||
|
||||
With a reporting interval, multiple columns will be shown, one for each
|
||||
report period. Normally incomestatement shows revenues/expenses per
|
||||
period, though as with multicolumn balance reports you can alter the
|
||||
report mode with --change/--cumulative/--historical. Instead of abso-
|
||||
report period. Normally incomestatement shows revenues/expenses per
|
||||
period, though as with multicolumn balance reports you can alter the
|
||||
report mode with --change/--cumulative/--historical. Instead of abso-
|
||||
lute values percentages can be displayed with -%.
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
|
||||
notes
|
||||
@ -2187,10 +2188,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 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.
|
||||
Price amounts are always displayed with their full precision.
|
||||
|
||||
print
|
||||
@ -2198,11 +2199,11 @@ COMMANDS
|
||||
Show transaction journal entries, sorted by date.
|
||||
|
||||
The print command displays full journal entries (transactions) from the
|
||||
journal file in date order, tidily formatted. With --date2, transac-
|
||||
journal file in date order, tidily formatted. With --date2, transac-
|
||||
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-
|
||||
It preserves all transaction information, but it does not preserve di-
|
||||
rectives or inter-transaction comments
|
||||
|
||||
$ hledger print
|
||||
@ -2228,39 +2229,39 @@ COMMANDS
|
||||
assets:bank:checking $-1
|
||||
|
||||
Normally, the journal entry's explicit or implicit amount style is pre-
|
||||
served. Ie when an amount is omitted in the journal, it will be omit-
|
||||
ted in the output. You can use the -x/--explicit flag to make all
|
||||
served. Ie when an amount is omitted in the journal, it will be omit-
|
||||
ted in the output. You can use the -x/--explicit flag to make all
|
||||
amounts explicit, which can be useful for troubleshooting or for making
|
||||
your journal more readable and robust against data entry errors. Note,
|
||||
-x will cause postings with a multi-commodity amount (these can arise
|
||||
when a multi-commodity transaction has an implicit amount) will be
|
||||
split into multiple single-commodity postings, for valid journal out-
|
||||
-x will cause postings with a multi-commodity amount (these can arise
|
||||
when a multi-commodity transaction has an implicit amount) will be
|
||||
split into multiple single-commodity postings, for valid journal out-
|
||||
put.
|
||||
|
||||
With -B/--cost, amounts with transaction prices are converted to cost
|
||||
With -B/--cost, amounts with transaction prices are converted to cost
|
||||
using that price. This can be used for troubleshooting.
|
||||
|
||||
With -m/--match and a STR argument, print will show at most one trans-
|
||||
action: the one one whose description is most similar to STR, and is
|
||||
most recent. STR should contain at least two characters. If there is
|
||||
With -m/--match and a STR argument, print will show at most one trans-
|
||||
action: the one one whose description is most similar to STR, and is
|
||||
most recent. STR should contain at least two characters. If there is
|
||||
no similar-enough match, no transaction will be shown.
|
||||
|
||||
With --new, for each FILE being read, hledger reads (and writes) a spe-
|
||||
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
|
||||
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
|
||||
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-
|
||||
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 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:
|
||||
|
||||
$ hledger print -Ocsv
|
||||
@ -2277,20 +2278,20 @@ COMMANDS
|
||||
"5","2008/12/31","","*","","pay off","","liabilities:debts","1","$","","1","",""
|
||||
"5","2008/12/31","","*","","pay off","","assets:bank:checking","-1","$","1","","",""
|
||||
|
||||
o There is one CSV record per posting, with the parent transaction's
|
||||
o There is one CSV record per posting, with the parent transaction's
|
||||
fields repeated.
|
||||
|
||||
o The "txnidx" (transaction index) field shows which postings belong to
|
||||
the same transaction. (This number might change if transactions are
|
||||
reordered within the file, files are parsed/included in a different
|
||||
the same transaction. (This number might change if transactions are
|
||||
reordered within the file, files are parsed/included in a different
|
||||
order, etc.)
|
||||
|
||||
o The amount is separated into "commodity" (the symbol) and "amount"
|
||||
o The amount is separated into "commodity" (the symbol) and "amount"
|
||||
(numeric quantity) fields.
|
||||
|
||||
o The numeric amount is repeated in either the "credit" or "debit" col-
|
||||
umn, for convenience. (Those names are not accurate in the account-
|
||||
ing sense; it just puts negative amounts under credit and zero or
|
||||
umn, for convenience. (Those names are not accurate in the account-
|
||||
ing sense; it just puts negative amounts under credit and zero or
|
||||
greater amounts under debit.)
|
||||
|
||||
print-unique
|
||||
@ -2314,7 +2315,7 @@ COMMANDS
|
||||
Show postings and their running total.
|
||||
|
||||
The register command displays postings in date order, one per line, and
|
||||
their running total. This is typically used with a query selecting a
|
||||
their running total. This is typically used with a query selecting a
|
||||
particular account, to see that account's activity:
|
||||
|
||||
$ hledger register checking
|
||||
@ -2325,8 +2326,8 @@ COMMANDS
|
||||
|
||||
With --date2, it shows and sorts by secondary date instead.
|
||||
|
||||
The --historical/-H flag adds the balance from any undisplayed prior
|
||||
postings to the running total. This is useful when you want to see
|
||||
The --historical/-H flag adds the balance from any undisplayed prior
|
||||
postings to the running total. This is useful when you want to see
|
||||
only recent activity, with a historically accurate running balance:
|
||||
|
||||
$ hledger register checking -b 2008/6 --historical
|
||||
@ -2336,18 +2337,18 @@ COMMANDS
|
||||
|
||||
The --depth option limits the amount of sub-account detail displayed.
|
||||
|
||||
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
|
||||
the whole report period). This flag implies --empty (see below). It
|
||||
is affected by --historical. It works best when showing just one ac-
|
||||
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.
|
||||
|
||||
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 --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-
|
||||
bers. It's also useful to show postings on the checking account to-
|
||||
bers. It's also useful to show postings on the checking account to-
|
||||
gether with the related account:
|
||||
|
||||
$ hledger register --related --invert assets:checking
|
||||
@ -2359,7 +2360,7 @@ COMMANDS
|
||||
2008/01 income:salary $-1 $-1
|
||||
2008/06 income:gifts $-1 $-2
|
||||
|
||||
Periods with no activity, and summary postings with a zero amount, are
|
||||
Periods with no activity, and summary postings with a zero amount, are
|
||||
not shown by default; use the --empty/-E flag to see them:
|
||||
|
||||
$ hledger register --monthly income -E
|
||||
@ -2376,7 +2377,7 @@ COMMANDS
|
||||
2008/11 0 $-2
|
||||
2008/12 0 $-2
|
||||
|
||||
Often, you'll want to see just one line per interval. The --depth op-
|
||||
Often, you'll want to see just one line per interval. The --depth op-
|
||||
tion helps with this, causing subaccounts to be aggregated:
|
||||
|
||||
$ hledger register --monthly assets --depth 1h
|
||||
@ -2384,17 +2385,17 @@ COMMANDS
|
||||
2008/06 assets $-1 0
|
||||
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
|
||||
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
|
||||
length and comparable to the others in the report.
|
||||
|
||||
Custom register output
|
||||
register uses the full terminal width by default, except on windows.
|
||||
You can override this by setting the COLUMNS environment variable (not
|
||||
register uses the full terminal width by default, except on windows.
|
||||
You can override this by setting the COLUMNS environment variable (not
|
||||
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 de-
|
||||
scription width as part of --width's argument, comma-separated: --width
|
||||
W,D . Here's a diagram (won't display correctly in --help):
|
||||
@ -2412,27 +2413,27 @@ COMMANDS
|
||||
$ hledger reg -w 100,40 # set overall width 100, description width 40
|
||||
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
|
||||
register-match
|
||||
register-match
|
||||
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-
|
||||
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.
|
||||
|
||||
rewrite
|
||||
rewrite
|
||||
Print all transactions, rewriting the postings of matched transactions.
|
||||
For now the only rewrite available is adding new postings, like print
|
||||
For now the only rewrite available is adding new postings, like print
|
||||
--auto.
|
||||
|
||||
This is a start at a generic rewriter of transaction entries. It reads
|
||||
the default journal and prints the transactions, like print, but adds
|
||||
the default journal and prints the transactions, like print, but adds
|
||||
one or more specified postings to any transactions matching QUERY. The
|
||||
posting amounts can be fixed, or a multiplier of the existing transac-
|
||||
posting amounts can be fixed, or a multiplier of the existing transac-
|
||||
tion's first posting amount.
|
||||
|
||||
Examples:
|
||||
@ -2448,7 +2449,7 @@ COMMANDS
|
||||
(reserve:grocery) *0.25 ; reserve 25% for grocery
|
||||
(reserve:) *0.25 ; reserve 25% for grocery
|
||||
|
||||
Note the single quotes to protect the dollar sign from bash, and the
|
||||
Note the single quotes to protect the dollar sign from bash, and the
|
||||
two spaces between account and amount.
|
||||
|
||||
More:
|
||||
@ -2458,16 +2459,16 @@ COMMANDS
|
||||
$ hledger rewrite -- expenses:gifts --add-posting '(budget:gifts) *-1"'
|
||||
$ hledger rewrite -- ^income --add-posting '(budget:foreign currency) *0.25 JPY; diversify'
|
||||
|
||||
Argument for --add-posting option is a usual posting of transaction
|
||||
with an exception for amount specification. More precisely, you can
|
||||
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-
|
||||
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-
|
||||
modity; otherwise, it will be in the matched posting amount's commod-
|
||||
ity.
|
||||
|
||||
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-
|
||||
tions" found in any journal it process. I.e instead of specifying this
|
||||
operations in command line you can put them in a journal file.
|
||||
|
||||
@ -2482,7 +2483,7 @@ COMMANDS
|
||||
budget:gifts *-1
|
||||
assets:budget *1
|
||||
|
||||
Note that '=' (equality symbol) that is used instead of date in trans-
|
||||
Note that '=' (equality symbol) that is used instead of date in trans-
|
||||
actions you usually write. It indicates the query by which you want to
|
||||
match the posting to add new ones.
|
||||
|
||||
@ -2495,12 +2496,12 @@ COMMANDS
|
||||
--add-posting 'assets:budget *1' \
|
||||
> rewritten-tidy-output.journal
|
||||
|
||||
It is important to understand that relative order of such entries in
|
||||
journal is important. You can re-use result of previously added post-
|
||||
It is important to understand that relative order of such entries in
|
||||
journal is important. You can re-use result of previously added post-
|
||||
ings.
|
||||
|
||||
Diff output format
|
||||
To use this tool for batch modification of your journal files you may
|
||||
To use this tool for batch modification of your journal files you may
|
||||
find useful output in form of unified diff.
|
||||
|
||||
$ hledger rewrite -- --diff -f examples/sample.journal '^income' --add-posting '(liabilities:tax) *.33'
|
||||
@ -2524,10 +2525,10 @@ COMMANDS
|
||||
|
||||
If you'll pass this through patch tool you'll get transactions contain-
|
||||
ing the posting that matches your query be updated. Note that multiple
|
||||
files might be update according to list of input files specified via
|
||||
files might be update according to list of input files specified via
|
||||
--file options and include directives inside of these files.
|
||||
|
||||
Be careful. Whole transaction being re-formatted in a style of output
|
||||
Be careful. Whole transaction being re-formatted in a style of output
|
||||
from hledger print.
|
||||
|
||||
See also:
|
||||
@ -2535,48 +2536,48 @@ COMMANDS
|
||||
https://github.com/simonmichael/hledger/issues/99
|
||||
|
||||
rewrite vs. print --auto
|
||||
This command predates print --auto, and currently does much the same
|
||||
This command predates print --auto, and currently does much the same
|
||||
thing, but with these differences:
|
||||
|
||||
o with multiple files, rewrite lets rules in any file affect all other
|
||||
files. print --auto uses standard directive scoping; rules affect
|
||||
o with multiple files, rewrite lets rules in any file affect all other
|
||||
files. print --auto uses standard directive scoping; rules affect
|
||||
only child files.
|
||||
|
||||
o rewrite's query limits which transactions can be rewritten; all are
|
||||
o rewrite's query limits which transactions can be rewritten; all are
|
||||
printed. print --auto's query limits which transactions are printed.
|
||||
|
||||
o rewrite applies rules specified on command line or in the journal.
|
||||
o rewrite applies rules specified on command line or in the journal.
|
||||
print --auto applies rules specified in the journal.
|
||||
|
||||
roi
|
||||
roi
|
||||
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return
|
||||
Shows the time-weighted (TWR) and money-weighted (IRR) rate of return
|
||||
on your investments.
|
||||
|
||||
This command assumes that you have account(s) that hold nothing but
|
||||
This command assumes that you have account(s) that hold nothing but
|
||||
your investments and whenever you record current appraisal/valuation of
|
||||
these investments you offset unrealized profit and loss into account(s)
|
||||
that, again, hold nothing but unrealized profit and loss.
|
||||
|
||||
Any transactions affecting balance of investment account(s) and not
|
||||
originating from unrealized profit and loss account(s) are assumed to
|
||||
Any transactions affecting balance of investment account(s) and not
|
||||
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-
|
||||
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.
|
||||
|
||||
It will compute and display the internalized rate of return (IRR) and
|
||||
time-weighted rate of return (TWR) for your investments for the time
|
||||
period requested. Both rates of return are annualized before display,
|
||||
It will compute and display the internalized rate of return (IRR) and
|
||||
time-weighted rate of return (TWR) for your investments for the time
|
||||
period requested. Both rates of return are annualized before display,
|
||||
regardless of the length of reporting interval.
|
||||
|
||||
stats
|
||||
stats
|
||||
Show some journal statistics.
|
||||
|
||||
The stats command displays summary information for the whole journal,
|
||||
or a matched part of it. With a reporting interval, it shows a report
|
||||
The stats command displays summary information for the whole journal,
|
||||
or a matched part of it. With a reporting interval, it shows a report
|
||||
for each report period.
|
||||
|
||||
Example:
|
||||
@ -2594,14 +2595,14 @@ COMMANDS
|
||||
Commodities : 1 ($)
|
||||
Market prices : 12 ($)
|
||||
|
||||
This command also supports output destination and output format selec-
|
||||
This command also supports output destination and output format selec-
|
||||
tion.
|
||||
|
||||
tags
|
||||
tags
|
||||
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
|
||||
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.
|
||||
|
||||
@ -2609,13 +2610,13 @@ COMMANDS
|
||||
test
|
||||
Run built-in unit tests.
|
||||
|
||||
This command runs the unit tests built in to hledger and hledger-lib,
|
||||
printing the results on stdout. If any test fails, the exit code will
|
||||
This command runs the unit tests built in to hledger and hledger-lib,
|
||||
printing the results on stdout. If any test fails, the exit code will
|
||||
be non-zero.
|
||||
|
||||
This is mainly used by hledger developers, but you can also use it to
|
||||
sanity-check the installed hledger executable on your platform. All
|
||||
tests are expected to pass - if you ever see a failure, please report
|
||||
This is mainly used by hledger developers, but you can also use it to
|
||||
sanity-check the installed hledger executable on your platform. All
|
||||
tests are expected to pass - if you ever see a failure, please report
|
||||
as a bug!
|
||||
|
||||
This command also accepts tasty test runner options, written after a --
|
||||
@ -2624,32 +2625,32 @@ COMMANDS
|
||||
|
||||
$ hledger test -- -pData.Amount --color=never
|
||||
|
||||
For help on these, see https://github.com/feuerbach/tasty#options (--
|
||||
For help on these, see https://github.com/feuerbach/tasty#options (--
|
||||
--help currently doesn't show them).
|
||||
|
||||
ADD-ON COMMANDS
|
||||
hledger also searches for external add-on commands, and will include
|
||||
hledger also searches for external add-on commands, and will include
|
||||
these in the commands list. These are programs or scripts in your PATH
|
||||
whose name starts with hledger- and ends with a recognised file exten-
|
||||
whose name starts with hledger- and ends with a recognised file exten-
|
||||
sion (currently: no extension, bat,com,exe, hs,lhs,pl,py,rb,rkt,sh).
|
||||
|
||||
Add-ons can be invoked like any hledger command, but there are a few
|
||||
Add-ons can be invoked like any hledger command, but there are a few
|
||||
things to be aware of. Eg if the hledger-web add-on is installed,
|
||||
|
||||
o hledger -h web shows hledger's help, while hledger web -h shows
|
||||
o hledger -h web shows hledger's help, while hledger web -h shows
|
||||
hledger-web's help.
|
||||
|
||||
o Flags specific to the add-on must have a preceding -- to hide them
|
||||
from hledger. So hledger web --serve --port 9000 will be rejected;
|
||||
o Flags specific to the add-on must have a preceding -- to hide them
|
||||
from hledger. So hledger web --serve --port 9000 will be rejected;
|
||||
you must use hledger web -- --serve --port 9000.
|
||||
|
||||
o You can always run add-ons directly if preferred: hledger-web --serve
|
||||
--port 9000.
|
||||
|
||||
Add-ons are a relatively easy way to add local features or experiment
|
||||
with new ideas. They can be written in any language, but haskell
|
||||
scripts have a big advantage: they can use the same hledger (and
|
||||
haskell) library functions that built-in commands do, for command-line
|
||||
Add-ons are a relatively easy way to add local features or experiment
|
||||
with new ideas. They can be written in any language, but haskell
|
||||
scripts have a big advantage: they can use the same hledger (and
|
||||
haskell) library functions that built-in commands do, for command-line
|
||||
options, journal parsing, reporting, etc.
|
||||
|
||||
Here are some hledger add-ons available:
|
||||
@ -2664,7 +2665,7 @@ ADD-ON COMMANDS
|
||||
hledger-web provides a simple web interface.
|
||||
|
||||
Third party add-ons
|
||||
These are maintained separately, and usually updated shortly after a
|
||||
These are maintained separately, and usually updated shortly after a
|
||||
hledger release.
|
||||
|
||||
diff
|
||||
@ -2684,14 +2685,14 @@ ADD-ON COMMANDS
|
||||
count, 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. They may be less mature and documented than built-in commands.
|
||||
These are available in source form in the hledger repo's bin/ direc-
|
||||
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,
|
||||
if installed. ledger-autosync does deduplicating conversion of OFX
|
||||
data and some CSV formats, and can also download the data if your bank
|
||||
if installed. ledger-autosync does deduplicating conversion of OFX
|
||||
data and some CSV formats, and can also download the data if your bank
|
||||
offers OFX Direct Connect.
|
||||
|
||||
chart
|
||||
@ -2701,21 +2702,21 @@ ADD-ON COMMANDS
|
||||
hledger-check.hs checks more powerful account balance assertions.
|
||||
|
||||
ENVIRONMENT
|
||||
COLUMNS The screen width used by the register command. Default: the
|
||||
COLUMNS The screen width used by the register command. Default: the
|
||||
full terminal width.
|
||||
|
||||
LEDGER_FILE The journal file path when not specified with -f. Default:
|
||||
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
|
||||
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
|
||||
nal).
|
||||
|
||||
FILES
|
||||
Reads data from one or more files in hledger journal, timeclock, time-
|
||||
dot, or CSV format specified with -f, or $LEDGER_FILE, or
|
||||
$HOME/.hledger.journal (on windows, perhaps
|
||||
Reads data from one or more files in hledger journal, timeclock, time-
|
||||
dot, or CSV format specified with -f, or $LEDGER_FILE, or
|
||||
$HOME/.hledger.journal (on windows, perhaps
|
||||
C:/Users/USER/.hledger.journal).
|
||||
|
||||
LIMITATIONS
|
||||
The need to precede addon command options with -- when invoked from
|
||||
The need to precede addon command options with -- when invoked from
|
||||
hledger is awkward.
|
||||
|
||||
When input data contains non-ascii characters, a suitable system locale
|
||||
@ -2731,33 +2732,33 @@ LIMITATIONS
|
||||
In a Cygwin/MSYS/Mintty window, the tab key is not supported in hledger
|
||||
add.
|
||||
|
||||
Not all of Ledger's journal file syntax is supported. See file format
|
||||
Not all of Ledger's journal file syntax is supported. See file format
|
||||
differences.
|
||||
|
||||
On large data files, hledger is slower and uses more memory than
|
||||
On large data files, hledger is slower and uses more memory than
|
||||
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 re-
|
||||
member you can also seek help from the IRC channel, mail list or bug
|
||||
tracker):
|
||||
|
||||
Successfully installed, but "No command 'hledger' found"
|
||||
stack and cabal install binaries into a special directory, which should
|
||||
be added to your PATH environment variable. Eg on unix-like systems,
|
||||
be added to your PATH environment variable. Eg on unix-like systems,
|
||||
that is ~/.local/bin and ~/.cabal/bin respectively.
|
||||
|
||||
I set a custom LEDGER_FILE, but hledger is still using the default file
|
||||
LEDGER_FILE should be a real environment variable, not just a shell
|
||||
variable. The command env | grep LEDGER_FILE should show it. You may
|
||||
LEDGER_FILE should be a real environment variable, not just a shell
|
||||
variable. The command env | grep LEDGER_FILE should show it. You may
|
||||
need to use export. Here's an explanation.
|
||||
|
||||
"Illegal byte sequence" or "Invalid or incomplete multibyte or wide
|
||||
"Illegal byte sequence" or "Invalid or incomplete multibyte or wide
|
||||
character" errors
|
||||
In order to handle non-ascii letters and symbols (like ), hledger needs
|
||||
an appropriate locale. This is usually configured system-wide; you can
|
||||
also configure it temporarily. The locale may need to be one that sup-
|
||||
ports UTF-8, if you built hledger with GHC < 7.2 (or possibly always,
|
||||
ports UTF-8, if you built hledger with GHC < 7.2 (or possibly always,
|
||||
I'm not sure yet).
|
||||
|
||||
Here's an example of setting the locale temporarily, on ubuntu
|
||||
@ -2776,7 +2777,7 @@ TROUBLESHOOTING
|
||||
$ echo "export LANG=en_US.UTF-8" >>~/.bash_profile
|
||||
$ bash --login
|
||||
|
||||
If we preferred to use eg fr_FR.utf8, we might have to install that
|
||||
If we preferred to use eg fr_FR.utf8, we might have to install that
|
||||
first:
|
||||
|
||||
$ apt-get install language-pack-fr
|
||||
@ -2797,7 +2798,7 @@ TROUBLESHOOTING
|
||||
|
||||
|
||||
REPORTING BUGS
|
||||
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
|
||||
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
|
||||
or hledger mail list)
|
||||
|
||||
|
||||
@ -2811,7 +2812,7 @@ COPYRIGHT
|
||||
|
||||
|
||||
SEE ALSO
|
||||
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
|
||||
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1),
|
||||
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time-
|
||||
dot(5), ledger(1)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user