;update manuals

This commit is contained in:
Simon Michael 2020-12-23 14:23:33 -08:00
parent 589aa267d8
commit 2002557e50
21 changed files with 2024 additions and 2830 deletions

View File

@ -1,12 +1,12 @@
.\"t .\"t
.TH "hledger_csv" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals" .TH "HLEDGER_CSV" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
CSV - how hledger reads CSV data, and the CSV rules file format How hledger reads CSV data, and the CSV rules file format.
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
hledger can read CSV files (Character Separated Value - usually comma, hledger can read CSV files (Character Separated Value - usually comma,
@ -1295,6 +1295,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -3,10 +3,10 @@ This is hledger_csv.info, produced by makeinfo version 6.7 from stdin.
 
File: hledger_csv.info, Node: Top, Next: EXAMPLES, Up: (dir) File: hledger_csv.info, Node: Top, Next: EXAMPLES, Up: (dir)
hledger_csv(5) hledger 1.20.1 hledger_csv(5)
***************************** **************
CSV - how hledger reads CSV data, and the CSV rules file format How hledger reads CSV data, and the CSV rules file format.
hledger can read CSV files (Character Separated Value - usually hledger can read CSV files (Character Separated Value - usually
comma, semicolon, or tab) containing dated records as if they were comma, semicolon, or tab) containing dated records as if they were
@ -60,37 +60,11 @@ below.
* Menu: * Menu:
* EXAMPLES:: * EXAMPLES::
* Basic::
* Bank of Ireland::
* Amazon::
* Paypal::
* CSV RULES:: * CSV RULES::
* skip::
* fields::
* field assignment::
* separator::
* if block::
* if table::
* end::
* date-format::
* decimal-mark::
* newest-first::
* include::
* balance-type::
* TIPS:: * TIPS::
* Rapid feedback::
* Valid CSV::
* File Extension::
* Reading multiple CSV files::
* Valid transactions::
* Deduplicating importing::
* Setting amounts::
* Setting currency/commodity::
* Referencing other fields::
* How CSV rules are evaluated::
 
File: hledger_csv.info, Node: EXAMPLES, Next: Basic, Prev: Top, Up: Top File: hledger_csv.info, Node: EXAMPLES, Next: CSV RULES, Prev: Top, Up: Top
1 EXAMPLES 1 EXAMPLES
********** **********
@ -99,11 +73,18 @@ Here are some sample hledger CSV rules files. See also the full
collection at: collection at:
https://github.com/simonmichael/hledger/tree/master/examples/csv https://github.com/simonmichael/hledger/tree/master/examples/csv
 * Menu:
File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Prev: EXAMPLES, Up: Top
2 Basic * Basic::
******* * Bank of Ireland::
* Amazon::
* Paypal::

File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Up: EXAMPLES
1.1 Basic
=========
At minimum, the rules file must identify the date and amount fields, and At minimum, the rules file must identify the date and amount fields, and
often it also specifies the date format and how many header lines there often it also specifies the date format and how many header lines there
@ -125,10 +106,10 @@ $ hledger print -f basic.csv
Default account names are chosen, since we didn't set them. Default account names are chosen, since we didn't set them.
 
File: hledger_csv.info, Node: Bank of Ireland, Next: Amazon, Prev: Basic, Up: Top File: hledger_csv.info, Node: Bank of Ireland, Next: Amazon, Prev: Basic, Up: EXAMPLES
3 Bank of Ireland 1.2 Bank of Ireland
***************** ===================
Here's a CSV with two amount fields (Debit and Credit), and a balance Here's a CSV with two amount fields (Debit and Credit), and a balance
field, which we can use to add balance assertions, which is not field, which we can use to add balance assertions, which is not
@ -178,10 +159,10 @@ reading directly from CSV, but they will be checked if these entries are
imported into a journal file. imported into a journal file.
 
File: hledger_csv.info, Node: Amazon, Next: Paypal, Prev: Bank of Ireland, Up: Top File: hledger_csv.info, Node: Amazon, Next: Paypal, Prev: Bank of Ireland, Up: EXAMPLES
4 Amazon 1.3 Amazon
******** ==========
Here we convert amazon.com order history, and use an if block to Here we convert amazon.com order history, and use an if block to
generate a third posting if there's a fee. (In practice you'd probably generate a third posting if there's a fee. (In practice you'd probably
@ -236,10 +217,10 @@ $ hledger -f amazon-orders.csv print
expenses:fees $1.00 expenses:fees $1.00
 
File: hledger_csv.info, Node: Paypal, Next: CSV RULES, Prev: Amazon, Up: Top File: hledger_csv.info, Node: Paypal, Prev: Amazon, Up: EXAMPLES
5 Paypal 1.4 Paypal
******** ==========
Here's a real-world rules file for (customised) Paypal CSV, with some Here's a real-world rules file for (customised) Paypal CSV, with some
Paypal-specific rules, and a second rules file included: Paypal-specific rules, and a second rules file included:
@ -390,19 +371,34 @@ $ hledger -f paypal-custom.csv print
expenses:banking:paypal $0.59 ; business: expenses:banking:paypal $0.59 ; business:
 
File: hledger_csv.info, Node: CSV RULES, Next: skip, Prev: Paypal, Up: Top File: hledger_csv.info, Node: CSV RULES, Next: TIPS, Prev: EXAMPLES, Up: Top
6 CSV RULES 2 CSV RULES
*********** ***********
The following kinds of rule can appear in the rules file, in any order. The following kinds of rule can appear in the rules file, in any order.
Blank lines and lines beginning with '#' or ';' are ignored. Blank lines and lines beginning with '#' or ';' are ignored.
 * Menu:
File: hledger_csv.info, Node: skip, Next: fields, Prev: CSV RULES, Up: Top
7 'skip' * skip::
******** * fields::
* field assignment::
* separator::
* if block::
* if table::
* end::
* date-format::
* decimal-mark::
* newest-first::
* include::
* balance-type::

File: hledger_csv.info, Node: skip, Next: fields, Up: CSV RULES
2.1 'skip'
==========
skip N skip N
@ -415,10 +411,10 @@ whenever your CSV data contains header lines.
ignore certain CSV records (described below). ignore certain CSV records (described below).
 
File: hledger_csv.info, Node: fields, Next: field assignment, Prev: skip, Up: Top File: hledger_csv.info, Node: fields, Next: field assignment, Prev: skip, Up: CSV RULES
8 'fields' 2.2 'fields'
********** ============
fields FIELDNAME1, FIELDNAME2, ... fields FIELDNAME1, FIELDNAME2, ...
@ -457,8 +453,8 @@ journal format.
 
File: hledger_csv.info, Node: Transaction field names, Next: Posting field names, Up: fields File: hledger_csv.info, Node: Transaction field names, Next: Posting field names, Up: fields
8.1 Transaction field names 2.2.1 Transaction field names
=========================== -----------------------------
'date', 'date2', 'status', 'code', 'description', 'comment' can be used 'date', 'date2', 'status', 'code', 'description', 'comment' can be used
to form the transaction's first line. to form the transaction's first line.
@ -466,8 +462,8 @@ to form the transaction's first line.
 
File: hledger_csv.info, Node: Posting field names, Prev: Transaction field names, Up: fields File: hledger_csv.info, Node: Posting field names, Prev: Transaction field names, Up: fields
8.2 Posting field names 2.2.2 Posting field names
======================= -------------------------
* Menu: * Menu:
@ -480,8 +476,8 @@ File: hledger_csv.info, Node: Posting field names, Prev: Transaction field nam
 
File: hledger_csv.info, Node: account, Next: amount, Up: Posting field names File: hledger_csv.info, Node: account, Next: amount, Up: Posting field names
8.2.1 account 2.2.2.1 account
------------- ...............
'accountN', where N is 1 to 99, causes a posting to be generated, with 'accountN', where N is 1 to 99, causes a posting to be generated, with
that account name. that account name.
@ -498,8 +494,8 @@ or "income:unknown").
 
File: hledger_csv.info, Node: amount, Next: currency, Prev: account, Up: Posting field names File: hledger_csv.info, Node: amount, Next: currency, Prev: account, Up: Posting field names
8.2.2 amount 2.2.2.2 amount
------------ ..............
'amountN' sets posting N's amount. If the CSV uses separate fields for 'amountN' sets posting N's amount. If the CSV uses separate fields for
inflows and outflows, you can use 'amountN-in' and 'amountN-out' inflows and outflows, you can use 'amountN-in' and 'amountN-out'
@ -525,8 +521,8 @@ avoiding conflicts.
 
File: hledger_csv.info, Node: currency, Next: balance, Prev: amount, Up: Posting field names File: hledger_csv.info, Node: currency, Next: balance, Prev: amount, Up: Posting field names
8.2.3 currency 2.2.2.3 currency
-------------- ................
If the CSV has the currency symbol in a separate field (ie, not part of If the CSV has the currency symbol in a separate field (ie, not part of
the amount field), you can use 'currencyN' to prepend it to posting N's the amount field), you can use 'currencyN' to prepend it to posting N's
@ -535,8 +531,8 @@ amount. Or, 'currency' with no number affects all postings.
 
File: hledger_csv.info, Node: balance, Next: comment, Prev: currency, Up: Posting field names File: hledger_csv.info, Node: balance, Next: comment, Prev: currency, Up: Posting field names
8.2.4 balance 2.2.2.4 balance
------------- ...............
'balanceN' sets a balance assertion amount (or if the posting amount is 'balanceN' sets a balance assertion amount (or if the posting amount is
left empty, a balance assignment) on posting N. left empty, a balance assignment) on posting N.
@ -550,8 +546,8 @@ is equivalent to 'balance1'.
 
File: hledger_csv.info, Node: comment, Prev: balance, Up: Posting field names File: hledger_csv.info, Node: comment, Prev: balance, Up: Posting field names
8.2.5 comment 2.2.2.5 comment
------------- ...............
Finally, 'commentN' sets a comment on the Nth posting. Comments can Finally, 'commentN' sets a comment on the Nth posting. Comments can
also contain tags, as usual. also contain tags, as usual.
@ -559,10 +555,10 @@ also contain tags, as usual.
See TIPS below for more about setting amounts and currency. See TIPS below for more about setting amounts and currency.
 
File: hledger_csv.info, Node: field assignment, Next: separator, Prev: fields, Up: Top File: hledger_csv.info, Node: field assignment, Next: separator, Prev: fields, Up: CSV RULES
9 field assignment 2.3 field assignment
****************** ====================
HLEDGERFIELDNAME FIELDVALUE HLEDGERFIELDNAME FIELDVALUE
@ -584,10 +580,10 @@ becomes '1' when interpolated) (#1051). See TIPS below for more about
referencing other fields. referencing other fields.
 
File: hledger_csv.info, Node: separator, Next: if block, Prev: field assignment, Up: Top File: hledger_csv.info, Node: separator, Next: if block, Prev: field assignment, Up: CSV RULES
10 'separator' 2.4 'separator'
************** ===============
You can use the 'separator' rule to read other kinds of You can use the 'separator' rule to read other kinds of
character-separated data. The argument is any single separator character-separated data. The argument is any single separator
@ -609,10 +605,10 @@ separator TAB
inferred automatically, and you won't need this rule. inferred automatically, and you won't need this rule.
 
File: hledger_csv.info, Node: if block, Next: if table, Prev: separator, Up: Top File: hledger_csv.info, Node: if block, Next: if table, Prev: separator, Up: CSV RULES
11 'if' block 2.5 'if' block
************* ==============
if MATCHER if MATCHER
RULE RULE
@ -639,8 +635,8 @@ descriptions.
 
File: hledger_csv.info, Node: Matching the whole record, Next: Matching individual fields, Up: if block File: hledger_csv.info, Node: Matching the whole record, Next: Matching individual fields, Up: if block
11.1 Matching the whole record 2.5.1 Matching the whole record
============================== -------------------------------
Each MATCHER can be a record matcher, which looks like this: Each MATCHER can be a record matcher, which looks like this:
@ -662,8 +658,8 @@ actually see '2020-01-01,Acme, Inc., 1,000').
 
File: hledger_csv.info, Node: Matching individual fields, Next: Combining matchers, Prev: Matching the whole record, Up: if block File: hledger_csv.info, Node: Matching individual fields, Next: Combining matchers, Prev: Matching the whole record, Up: if block
11.2 Matching individual fields 2.5.2 Matching individual fields
=============================== --------------------------------
Or, MATCHER can be a field matcher, like this: Or, MATCHER can be a field matcher, like this:
@ -676,8 +672,8 @@ is a percent sign followed by the field's name or column number, like
 
File: hledger_csv.info, Node: Combining matchers, Next: Rules applied on successful match, Prev: Matching individual fields, Up: if block File: hledger_csv.info, Node: Combining matchers, Next: Rules applied on successful match, Prev: Matching individual fields, Up: if block
11.3 Combining matchers 2.5.3 Combining matchers
======================= ------------------------
A single matcher can be written on the same line as the "if"; or A single matcher can be written on the same line as the "if"; or
multiple matchers can be written on the following lines, non-indented. multiple matchers can be written on the following lines, non-indented.
@ -693,8 +689,8 @@ MATCHER
 
File: hledger_csv.info, Node: Rules applied on successful match, Prev: Combining matchers, Up: if block File: hledger_csv.info, Node: Rules applied on successful match, Prev: Combining matchers, Up: if block
11.4 Rules applied on successful match 2.5.4 Rules applied on successful match
====================================== ---------------------------------------
After the patterns there should be one or more rules to apply, all After the patterns there should be one or more rules to apply, all
indented by at least one space. Three kinds of rule are allowed in indented by at least one space. Three kinds of rule are allowed in
@ -719,10 +715,10 @@ banking thru software
comment XXX deductible ? check it comment XXX deductible ? check it
 
File: hledger_csv.info, Node: if table, Next: end, Prev: if block, Up: Top File: hledger_csv.info, Node: if table, Next: end, Prev: if block, Up: CSV RULES
12 'if' table 2.6 'if' table
************* ==============
if,CSVFIELDNAME1,CSVFIELDNAME2,...,CSVFIELDNAMEn if,CSVFIELDNAME1,CSVFIELDNAME2,...,CSVFIELDNAMEn
MATCHER1,VALUE11,VALUE12,...,VALUE1n MATCHER1,VALUE11,VALUE12,...,VALUE1n
@ -780,10 +776,10 @@ atm transaction fee,expenses:business:banking,deductible? check it
2020/01/12.*Plumbing LLC,expenses:house:upkeep,emergency plumbing call-out 2020/01/12.*Plumbing LLC,expenses:house:upkeep,emergency plumbing call-out
 
File: hledger_csv.info, Node: end, Next: date-format, Prev: if table, Up: Top File: hledger_csv.info, Node: end, Next: date-format, Prev: if table, Up: CSV RULES
13 'end' 2.7 'end'
******** =========
This rule can be used inside if blocks (only), to make hledger stop This rule can be used inside if blocks (only), to make hledger stop
reading this CSV file and move on to the next input file, or to command reading this CSV file and move on to the next input file, or to command
@ -794,10 +790,10 @@ if ,,,,
end end
 
File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: Top File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: CSV RULES
14 'date-format' 2.8 'date-format'
**************** =================
date-format DATEFMT date-format DATEFMT
@ -825,10 +821,10 @@ date-format %-m/%-d/%Y %l:%M %p some other junk
https://hackage.haskell.org/package/time/docs/Data-Time-Format.html#v:formatTime https://hackage.haskell.org/package/time/docs/Data-Time-Format.html#v:formatTime
 
File: hledger_csv.info, Node: decimal-mark, Next: newest-first, Prev: date-format, Up: Top File: hledger_csv.info, Node: decimal-mark, Next: newest-first, Prev: date-format, Up: CSV RULES
15 'decimal-mark' 2.9 'decimal-mark'
***************** ==================
decimal-mark . decimal-mark .
@ -843,10 +839,10 @@ should declare the decimal mark explicitly with this rule, to avoid
misparsed numbers. misparsed numbers.
 
File: hledger_csv.info, Node: newest-first, Next: include, Prev: decimal-mark, Up: Top File: hledger_csv.info, Node: newest-first, Next: include, Prev: decimal-mark, Up: CSV RULES
16 'newest-first' 2.10 'newest-first'
***************** ===================
hledger always sorts the generated transactions by date. Transactions hledger always sorts the generated transactions by date. Transactions
on the same date should appear in the same order as their CSV records, on the same date should appear in the same order as their CSV records,
@ -865,10 +861,10 @@ oldest first or newest first. But if all of the following are true:
newest-first newest-first
 
File: hledger_csv.info, Node: include, Next: balance-type, Prev: newest-first, Up: Top File: hledger_csv.info, Node: include, Next: balance-type, Prev: newest-first, Up: CSV RULES
17 'include' 2.11 'include'
************ ==============
include RULESFILE include RULESFILE
@ -879,19 +875,19 @@ several rules files, eg:
# someaccount.csv.rules # someaccount.csv.rules
# someaccount-specific rules ## someaccount-specific rules
fields date,description,amount fields date,description,amount
account1 assets:someaccount account1 assets:someaccount
account2 expenses:misc account2 expenses:misc
# common rules ## common rules
include categorisation.rules include categorisation.rules
 
File: hledger_csv.info, Node: balance-type, Next: TIPS, Prev: include, Up: Top File: hledger_csv.info, Node: balance-type, Prev: include, Up: CSV RULES
18 'balance-type' 2.12 'balance-type'
***************** ===================
Balance assertions generated by assigning to balanceN are of the simple Balance assertions generated by assigning to balanceN are of the simple
'=' type by default, which is a single-commodity, subaccount-excluding '=' type by default, which is a single-commodity, subaccount-excluding
@ -911,16 +907,29 @@ balance-type ==*
==* multi commodity, include subaccounts ==* multi commodity, include subaccounts
 
File: hledger_csv.info, Node: TIPS, Next: Rapid feedback, Prev: balance-type, Up: Top File: hledger_csv.info, Node: TIPS, Prev: CSV RULES, Up: Top
19 TIPS 3 TIPS
******* ******
* Menu:
* Rapid feedback::
* Valid CSV::
* File Extension::
* Reading multiple CSV files::
* Valid transactions::
* Deduplicating importing::
* Setting amounts::
* Setting currency/commodity::
* Referencing other fields::
* How CSV rules are evaluated::
 
File: hledger_csv.info, Node: Rapid feedback, Next: Valid CSV, Prev: TIPS, Up: Top File: hledger_csv.info, Node: Rapid feedback, Next: Valid CSV, Up: TIPS
20 Rapid feedback 3.1 Rapid feedback
***************** ==================
It's a good idea to get rapid feedback while creating/troubleshooting It's a good idea to get rapid feedback while creating/troubleshooting
CSV rules. Here's a good way, using entr from CSV rules. Here's a good way, using entr from
@ -934,10 +943,10 @@ a separator each time the command re-runs, making it easier to read the
output. output.
 
File: hledger_csv.info, Node: Valid CSV, Next: File Extension, Prev: Rapid feedback, Up: Top File: hledger_csv.info, Node: Valid CSV, Next: File Extension, Prev: Rapid feedback, Up: TIPS
21 Valid CSV 3.2 Valid CSV
************ =============
hledger accepts CSV conforming to RFC 4180. When CSV values are hledger accepts CSV conforming to RFC 4180. When CSV values are
enclosed in quotes, note: enclosed in quotes, note:
@ -946,10 +955,10 @@ enclosed in quotes, note:
* spaces outside the quotes are not allowed * spaces outside the quotes are not allowed
 
File: hledger_csv.info, Node: File Extension, Next: Reading multiple CSV files, Prev: Valid CSV, Up: Top File: hledger_csv.info, Node: File Extension, Next: Reading multiple CSV files, Prev: Valid CSV, Up: TIPS
22 File Extension 3.3 File Extension
***************** ==================
To help hledger identify the format and show the right error messages, To help hledger identify the format and show the right error messages,
CSV/SSV/TSV files should normally be named with a '.csv', '.ssv' or CSV/SSV/TSV files should normally be named with a '.csv', '.ssv' or
@ -966,10 +975,10 @@ $ cat foo | hledger -f ssv:- foo
See also: Input files in the hledger manual. See also: Input files in the hledger manual.
 
File: hledger_csv.info, Node: Reading multiple CSV files, Next: Valid transactions, Prev: File Extension, Up: Top File: hledger_csv.info, Node: Reading multiple CSV files, Next: Valid transactions, Prev: File Extension, Up: TIPS
23 Reading multiple CSV files 3.4 Reading multiple CSV files
***************************** ==============================
If you use multiple '-f' options to read multiple CSV files at once, If you use multiple '-f' options to read multiple CSV files at once,
hledger will look for a correspondingly-named rules file for each CSV hledger will look for a correspondingly-named rules file for each CSV
@ -977,10 +986,10 @@ file. But if you use the '--rules-file' option, that rules file will be
used for all the CSV files. used for all the CSV files.
 
File: hledger_csv.info, Node: Valid transactions, Next: Deduplicating importing, Prev: Reading multiple CSV files, Up: Top File: hledger_csv.info, Node: Valid transactions, Next: Deduplicating importing, Prev: Reading multiple CSV files, Up: TIPS
24 Valid transactions 3.5 Valid transactions
********************* ======================
After reading a CSV file, hledger post-processes and validates the After reading a CSV file, hledger post-processes and validates the
generated journal entries as it would for a journal file - balancing generated journal entries as it would for a journal file - balancing
@ -996,10 +1005,10 @@ assertions generated from CSV right away, pipe into another hledger:
$ hledger -f file.csv print | hledger -f- print $ hledger -f file.csv print | hledger -f- print
 
File: hledger_csv.info, Node: Deduplicating importing, Next: Setting amounts, Prev: Valid transactions, Up: Top File: hledger_csv.info, Node: Deduplicating importing, Next: Setting amounts, Prev: Valid transactions, Up: TIPS
25 Deduplicating, importing 3.6 Deduplicating, importing
*************************** ============================
When you download a CSV file periodically, eg to get your latest bank When you download a CSV file periodically, eg to get your latest bank
transactions, the new file may overlap with the old one, containing some transactions, the new file may overlap with the old one, containing some
@ -1026,10 +1035,10 @@ CSV data. See:
* https://plaintextaccounting.org -> data import/conversion * https://plaintextaccounting.org -> data import/conversion
 
File: hledger_csv.info, Node: Setting amounts, Next: Setting currency/commodity, Prev: Deduplicating importing, Up: Top File: hledger_csv.info, Node: Setting amounts, Next: Setting currency/commodity, Prev: Deduplicating importing, Up: TIPS
26 Setting amounts 3.7 Setting amounts
****************** ===================
A posting amount can be set in one of these ways: A posting amount can be set in one of these ways:
@ -1055,10 +1064,10 @@ A posting amount can be set in one of these ways:
* If an amount value begins with a plus sign, that will be removed * If an amount value begins with a plus sign, that will be removed
 
File: hledger_csv.info, Node: Setting currency/commodity, Next: Referencing other fields, Prev: Setting amounts, Up: Top File: hledger_csv.info, Node: Setting currency/commodity, Next: Referencing other fields, Prev: Setting amounts, Up: TIPS
27 Setting currency/commodity 3.8 Setting currency/commodity
***************************** ==============================
If the currency/commodity symbol is included in the CSV's amount If the currency/commodity symbol is included in the CSV's amount
field(s): field(s):
@ -1103,10 +1112,10 @@ amount %amt %cur
that would trigger the prepending effect, which we don't want here. that would trigger the prepending effect, which we don't want here.
 
File: hledger_csv.info, Node: Referencing other fields, Next: How CSV rules are evaluated, Prev: Setting currency/commodity, Up: Top File: hledger_csv.info, Node: Referencing other fields, Next: How CSV rules are evaluated, Prev: Setting currency/commodity, Up: TIPS
28 Referencing other fields 3.9 Referencing other fields
*************************** ============================
In field assignments, you can interpolate only CSV fields, not hledger In field assignments, you can interpolate only CSV fields, not hledger
fields. In the example below, there's both a CSV field and a hledger fields. In the example below, there's both a CSV field and a hledger
@ -1140,10 +1149,10 @@ if something
comment C comment C
 
File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: Top File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: TIPS
29 How CSV rules are evaluated 3.10 How CSV rules are evaluated
****************************** ================================
Here's how to think of CSV rules being evaluated (if you really need Here's how to think of CSV rules being evaluated (if you really need
to). First, to). First,
@ -1183,90 +1192,85 @@ command the user specified.
 
Tag Table: Tag Table:
Node: Top72 Node: Top72
Node: EXAMPLES3257 Node: EXAMPLES2756
Ref: #examples3359 Ref: #examples2862
Node: Basic3505 Node: Basic3070
Ref: #basic3613 Ref: #basic3170
Node: Bank of Ireland4155 Node: Bank of Ireland3712
Ref: #bank-of-ireland4281 Ref: #bank-of-ireland3847
Node: Amazon5743 Node: Amazon5309
Ref: #amazon5852 Ref: #amazon5427
Node: Paypal7571 Node: Paypal7146
Ref: #paypal7674 Ref: #paypal7240
Node: CSV RULES15318 Node: CSV RULES14884
Ref: #csv-rules15425 Ref: #csv-rules14993
Node: skip15559 Node: skip15305
Ref: #skip15660 Ref: #skip15398
Node: fields16035 Node: fields15773
Ref: #fields16147 Ref: #fields15895
Node: Transaction field names17312 Node: Transaction field names17060
Ref: #transaction-field-names17468 Ref: #transaction-field-names17220
Node: Posting field names17579 Node: Posting field names17331
Ref: #posting-field-names17727 Ref: #posting-field-names17483
Node: account17797 Node: account17553
Ref: #account17909 Ref: #account17669
Node: amount18446 Node: amount18206
Ref: #amount18573 Ref: #amount18337
Node: currency19680 Node: currency19444
Ref: #currency19811 Ref: #currency19579
Node: balance20017 Node: balance19785
Ref: #balance20147 Ref: #balance19919
Node: comment20464 Node: comment20236
Ref: #comment20577 Ref: #comment20353
Node: field assignment20740 Node: field assignment20516
Ref: #field-assignment20873 Ref: #field-assignment20659
Node: separator21691 Node: separator21477
Ref: #separator21818 Ref: #separator21612
Node: if block22358 Node: if block22152
Ref: #if-block22475 Ref: #if-block22277
Node: Matching the whole record22876 Node: Matching the whole record22678
Ref: #matching-the-whole-record23049 Ref: #matching-the-whole-record22853
Node: Matching individual fields23853 Node: Matching individual fields23657
Ref: #matching-individual-fields24055 Ref: #matching-individual-fields23861
Node: Combining matchers24279 Node: Combining matchers24085
Ref: #combining-matchers24473 Ref: #combining-matchers24281
Node: Rules applied on successful match24786 Node: Rules applied on successful match24594
Ref: #rules-applied-on-successful-match24975 Ref: #rules-applied-on-successful-match24785
Node: if table25629 Node: if table25439
Ref: #if-table25740 Ref: #if-table25558
Node: end27478 Node: end27296
Ref: #end27582 Ref: #end27408
Node: date-format27806 Node: date-format27632
Ref: #date-format27930 Ref: #date-format27764
Node: decimal-mark28679 Node: decimal-mark28513
Ref: #decimal-mark28814 Ref: #decimal-mark28656
Node: newest-first29153 Node: newest-first28995
Ref: #newest-first29284 Ref: #newest-first29136
Node: include29967 Node: include29819
Ref: #include30088 Ref: #include29950
Node: balance-type30530 Node: balance-type30394
Ref: #balance-type30653 Ref: #balance-type30514
Node: TIPS31353 Node: TIPS31214
Ref: #tips31463 Ref: #tips31296
Node: Rapid feedback31463 Node: Rapid feedback31552
Ref: #rapid-feedback31590 Ref: #rapid-feedback31669
Node: Valid CSV32050 Node: Valid CSV32129
Ref: #valid-csv32177 Ref: #valid-csv32259
Node: File Extension32369 Node: File Extension32451
Ref: #file-extension32518 Ref: #file-extension32603
Node: Reading multiple CSV files32947 Node: Reading multiple CSV files33032
Ref: #reading-multiple-csv-files33129 Ref: #reading-multiple-csv-files33217
Node: Valid transactions33370 Node: Valid transactions33458
Ref: #valid-transactions33545 Ref: #valid-transactions33636
Node: Deduplicating importing34173 Node: Deduplicating importing34264
Ref: #deduplicating-importing34349 Ref: #deduplicating-importing34443
Node: Setting amounts35382 Node: Setting amounts35476
Ref: #setting-amounts35548 Ref: #setting-amounts35645
Node: Setting currency/commodity36535 Node: Setting currency/commodity36632
Ref: #setting-currencycommodity36724 Ref: #setting-currencycommodity36824
Node: Referencing other fields37898 Node: Referencing other fields37998
Ref: #referencing-other-fields38095 Ref: #referencing-other-fields38198
Node: How CSV rules are evaluated38992 Node: How CSV rules are evaluated39095
Ref: #how-csv-rules-are-evaluated39160 Ref: #how-csv-rules-are-evaluated39268
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger_csv(5) hledger User Manuals hledger_csv(5) HLEDGER_CSV(5) hledger User Manuals HLEDGER_CSV(5)
NAME NAME
CSV - how hledger reads CSV data, and the CSV rules file format How hledger reads CSV data, and the CSV rules file format.
DESCRIPTION DESCRIPTION
hledger can read CSV files (Character Separated Value - usually comma, hledger can read CSV files (Character Separated Value - usually comma,
@ -951,9 +951,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger 1.20.1 December 2020 hledger_csv(5) hledger-lib-1.20.1 December 2020 HLEDGER_CSV(5)

View File

@ -1,13 +1,12 @@
.\"t .\"t
.TH "hledger_journal" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals" .TH "HLEDGER_JOURNAL" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
Journal - hledger\[aq]s default file format, representing a General hledger\[aq]s default file format, representing a General Journal.
Journal
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
hledger\[aq]s usual data source is a plain text file containing journal hledger\[aq]s usual data source is a plain text file containing journal
@ -34,7 +33,6 @@ Editor addons such as ledger-mode or hledger-mode for Emacs, vim-ledger
for Vim, and hledger-vscode for Visual Studio Code, make this easier, for Vim, and hledger-vscode for Visual Studio Code, make this easier,
adding colour, formatting, tab completion, and useful commands. adding colour, formatting, tab completion, and useful commands.
See Editor configuration at hledger.org for the full list. See Editor configuration at hledger.org for the full list.
.SH FILE FORMAT
.PP .PP
Here\[aq]s a description of each part of the file format (and Here\[aq]s a description of each part of the file format (and
hledger\[aq]s data model). hledger\[aq]s data model).
@ -42,7 +40,7 @@ These are mostly in the order you\[aq]ll use them, but in some cases
related concepts have been grouped together for easy reference, or related concepts have been grouped together for easy reference, or
linked before they are introduced, so feel free to skip over anything linked before they are introduced, so feel free to skip over anything
that looks unnecessary right now. that looks unnecessary right now.
.SS Transactions .SH TRANSACTIONS
.PP .PP
Transactions are the main unit of information in a journal file. Transactions are the main unit of information in a journal file.
They represent events, typically a movement of some quantity of They represent events, typically a movement of some quantity of
@ -75,7 +73,7 @@ Here\[aq]s a simple journal file containing one transaction:
income:salary $-1 income:salary $-1
\f[R] \f[R]
.fi .fi
.SS Dates .SH DATES
.SS Simple dates .SS Simple dates
.PP .PP
Dates in the journal file use \f[I]simple dates\f[R] format: Dates in the journal file use \f[I]simple dates\f[R] format:
@ -181,7 +179,7 @@ hledger will attempt to parse any square-bracketed sequence of the
\f[C]0123456789/-.=\f[R] characters in this way. \f[C]0123456789/-.=\f[R] characters in this way.
With this syntax, DATE infers its year from the transaction and DATE2 With this syntax, DATE infers its year from the transaction and DATE2
infers its year from DATE. infers its year from DATE.
.SS Status .SH STATUS
.PP .PP
Transactions, or individual postings within a transaction, can have a Transactions, or individual postings within a transaction, can have a
status mark, which is a single character before the transaction status mark, which is a single character before the transaction
@ -268,7 +266,7 @@ With this scheme, you would use \f[C]-PC\f[R] to see the current balance
at your bank, \f[C]-U\f[R] to see things which will probably hit your at your bank, \f[C]-U\f[R] to see things which will probably hit your
bank soon (like uncashed checks), and no flags to see the most bank soon (like uncashed checks), and no flags to see the most
up-to-date state of your finances. up-to-date state of your finances.
.SS Description .SH DESCRIPTION
.PP .PP
A transaction\[aq]s description is the rest of the line following the A transaction\[aq]s description is the rest of the line following the
date and status mark (or until a comment begins). date and status mark (or until a comment begins).
@ -283,7 +281,7 @@ payee/payer name on the left (up to the first \f[C]|\f[R]) and an
additional note field on the right (after the first \f[C]|\f[R]). additional note field on the right (after the first \f[C]|\f[R]).
This may be worthwhile if you need to do more precise querying and This may be worthwhile if you need to do more precise querying and
pivoting by payee or by note. pivoting by payee or by note.
.SS Comments .SH COMMENTS
.PP .PP
Lines in the journal beginning with a semicolon (\f[C];\f[R]) or hash Lines in the journal beginning with a semicolon (\f[C];\f[R]) or hash
(\f[C]#\f[R]) or star (\f[C]*\f[R]) are comments, and will be ignored. (\f[C]#\f[R]) or star (\f[C]*\f[R]) are comments, and will be ignored.
@ -324,7 +322,7 @@ end comment
.PP .PP
You can also comment larger regions of a file using \f[C]comment\f[R] You can also comment larger regions of a file using \f[C]comment\f[R]
and \f[C]end comment\f[R] directives. and \f[C]end comment\f[R] directives.
.SS Tags .SH TAGS
.PP .PP
Tags are a way to add extra labels or labelled data to postings and Tags are a way to add extra labels or labelled data to postings and
transactions, which you can then search or pivot on. transactions, which you can then search or pivot on.
@ -383,7 +381,7 @@ plus \f[C]posting-tag\f[R]):
.PP .PP
Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag
values are simple strings. values are simple strings.
.SS Postings .SH POSTINGS
.PP .PP
A posting is an addition of some amount to, or removal of some amount A posting is an addition of some amount to, or removal of some amount
from, an account. from, an account.
@ -454,7 +452,7 @@ Ordinary non-parenthesised, non-bracketed postings are called \f[I]real
postings\f[R]. postings\f[R].
You can exclude virtual postings from reports with the You can exclude virtual postings from reports with the
\f[C]-R/--real\f[R] flag or \f[C]real:1\f[R] query. \f[C]-R/--real\f[R] flag or \f[C]real:1\f[R] query.
.SS Account names .SH ACCOUNT NAMES
.PP .PP
Account names typically have several parts separated by a full colon, Account names typically have several parts separated by a full colon,
from which hledger derives a hierarchical chart of accounts. from which hledger derives a hierarchical chart of accounts.
@ -468,7 +466,7 @@ Because of this, they must always be followed by \f[B]two or more
spaces\f[R] (or newline). spaces\f[R] (or newline).
.PP .PP
Account names can be aliased. Account names can be aliased.
.SS Amounts .SH AMOUNTS
.PP .PP
After the account name, there is usually an amount. After the account name, there is usually an amount.
(Important: between account name and amount, there must be \f[B]two or (Important: between account name and amount, there must be \f[B]two or
@ -637,7 +635,7 @@ Note, hledger uses banker\[aq]s rounding: it rounds to the nearest even
number, eg 0.5 displayed with zero decimal places is \[dq]0\[dq]). number, eg 0.5 displayed with zero decimal places is \[dq]0\[dq]).
(Guaranteed since hledger 1.17.1; in older versions this could vary if (Guaranteed since hledger 1.17.1; in older versions this could vary if
hledger was built with Decimal < 0.5.1.) hledger was built with Decimal < 0.5.1.)
.SS Transaction prices .SH TRANSACTION PRICES
.PP .PP
Within a transaction, you can note an amount\[aq]s price in another Within a transaction, you can note an amount\[aq]s price in another
commodity. commodity.
@ -734,7 +732,7 @@ $ hledger bal -N --flat -B
\[Eu]100 assets:euros \[Eu]100 assets:euros
\f[R] \f[R]
.fi .fi
.SS Lot prices and lot dates .SH LOT PRICES, LOT DATES
.PP .PP
Ledger allows another kind of price, lot price (four variants: Ledger allows another kind of price, lot price (four variants:
\f[C]{UNITPRICE}\f[R], \f[C]{{TOTALPRICE}}\f[R], \f[C]{UNITPRICE}\f[R], \f[C]{{TOTALPRICE}}\f[R],
@ -745,7 +743,7 @@ hledger will parse these, for compatibility with Ledger journals, but
currently ignores them. currently ignores them.
A transaction price, lot price and/or lot date may appear in any order, A transaction price, lot price and/or lot date may appear in any order,
after the posting amount and before the balance assertion if any. after the posting amount and before the balance assertion if any.
.SS Balance assertions .SH BALANCE ASSERTIONS
.PP .PP
hledger supports Ledger-style balance assertions in journal files. hledger supports Ledger-style balance assertions in journal files.
These look like, for example, \f[C]= EXPECTEDBALANCE\f[R] following a These look like, for example, \f[C]= EXPECTEDBALANCE\f[R] following a
@ -901,7 +899,7 @@ always what is shown by reports.
Eg a commodity directive may limit the display precision, but this will Eg a commodity directive may limit the display precision, but this will
not affect balance assertions. not affect balance assertions.
Balance assertion failure messages show exact amounts. Balance assertion failure messages show exact amounts.
.SS Balance assignments .SH BALANCE ASSIGNMENTS
.PP .PP
Ledger-style balance assignments are also supported. Ledger-style balance assignments are also supported.
These are like balance assertions, but with no posting amount on the These are like balance assertions, but with no posting amount on the
@ -958,7 +956,7 @@ $ hledger print --explicit
(a) $1 \[at] \[Eu]2 = $1 \[at] \[Eu]2 (a) $1 \[at] \[Eu]2 = $1 \[at] \[Eu]2
\f[R] \f[R]
.fi .fi
.SS Directives .SH DIRECTIVES
.PP .PP
A directive is a line in the journal beginning with a special keyword, A directive is a line in the journal beginning with a special keyword,
that influences how the journal is processed. that influences how the journal is processed.
@ -1850,7 +1848,7 @@ It does not affect account names being entered via hledger add or
hledger-web. hledger-web.
If account aliases are present, they are applied after the default If account aliases are present, they are applied after the default
parent account. parent account.
.SS Periodic transactions .SH PERIODIC TRANSACTIONS
.PP .PP
Periodic transaction rules describe transactions that recur. Periodic transaction rules describe transactions that recur.
They allow hledger to generate temporary future transactions to help They allow hledger to generate temporary future transactions to help
@ -2004,7 +2002,7 @@ Goals and actual performance can then be compared in budget reports.
.PP .PP
See also: Budgeting and Forecasting. See also: Budgeting and Forecasting.
.PP .PP
.SS Auto postings .SH AUTO POSTINGS
.PP .PP
\[dq]Automated postings\[dq] or \[dq]auto postings\[dq] are extra \[dq]Automated postings\[dq] or \[dq]auto postings\[dq] are extra
postings which get added automatically to transactions which match postings which get added automatically to transactions which match
@ -2150,6 +2148,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -2,12 +2,12 @@ This is hledger_journal.info, produced by makeinfo version 6.7 from
stdin. stdin.
 
File: hledger_journal.info, Node: Top, Next: Transactions, Up: (dir) File: hledger_journal.info, Node: Top, Next: TRANSACTIONS, Up: (dir)
hledger_journal(5) hledger 1.20.1 hledger_journal(5)
********************************* ******************
Journal - hledger's default file format, representing a General Journal hledger's default file format, representing a General Journal.
hledger's usual data source is a plain text file containing journal hledger's usual data source is a plain text file containing journal
entries in hledger journal format. This file represents a standard entries in hledger journal format. This file represents a standard
@ -40,27 +40,27 @@ that looks unnecessary right now.
* Menu: * Menu:
* Transactions:: * TRANSACTIONS::
* Dates:: * DATES::
* Status:: * STATUS::
* Description:: * DESCRIPTION::
* Comments:: * COMMENTS::
* Tags:: * TAGS::
* Postings:: * POSTINGS::
* Account names:: * ACCOUNT NAMES::
* Amounts:: * AMOUNTS::
* Transaction prices:: * TRANSACTION PRICES::
* Lot prices and lot dates:: * LOT PRICES LOT DATES::
* Balance assertions:: * BALANCE ASSERTIONS::
* Balance assignments:: * BALANCE ASSIGNMENTS::
* Directives:: * DIRECTIVES::
* Periodic transactions:: * PERIODIC TRANSACTIONS::
* Auto postings:: * AUTO POSTINGS::
 
File: hledger_journal.info, Node: Transactions, Next: Dates, Prev: Top, Up: Top File: hledger_journal.info, Node: TRANSACTIONS, Next: DATES, Prev: Top, Up: Top
1 Transactions 1 TRANSACTIONS
************** **************
Transactions are the main unit of information in a journal file. They Transactions are the main unit of information in a journal file. They
@ -87,9 +87,9 @@ optional fields, separated by spaces:
income:salary $-1 income:salary $-1
 
File: hledger_journal.info, Node: Dates, Next: Status, Prev: Transactions, Up: Top File: hledger_journal.info, Node: DATES, Next: STATUS, Prev: TRANSACTIONS, Up: Top
2 Dates 2 DATES
******* *******
* Menu: * Menu:
@ -99,7 +99,7 @@ File: hledger_journal.info, Node: Dates, Next: Status, Prev: Transactions, U
* Posting dates:: * Posting dates::
 
File: hledger_journal.info, Node: Simple dates, Next: Secondary dates, Up: Dates File: hledger_journal.info, Node: Simple dates, Next: Secondary dates, Up: DATES
2.1 Simple dates 2.1 Simple dates
================ ================
@ -115,7 +115,7 @@ or the current date when the command is run. Some examples:
dates documented in the hledger manual.) dates documented in the hledger manual.)
 
File: hledger_journal.info, Node: Secondary dates, Next: Posting dates, Prev: Simple dates, Up: Dates File: hledger_journal.info, Node: Secondary dates, Next: Posting dates, Prev: Simple dates, Up: DATES
2.2 Secondary dates 2.2 Secondary dates
=================== ===================
@ -151,7 +151,7 @@ $ hledger register checking --date2
2010-02-19 movie ticket assets:checking $-10 $-10 2010-02-19 movie ticket assets:checking $-10 $-10
 
File: hledger_journal.info, Node: Posting dates, Prev: Secondary dates, Up: Dates File: hledger_journal.info, Node: Posting dates, Prev: Secondary dates, Up: DATES
2.3 Posting dates 2.3 Posting dates
================= =================
@ -186,9 +186,9 @@ characters in this way. With this syntax, DATE infers its year from the
transaction and DATE2 infers its year from DATE. transaction and DATE2 infers its year from DATE.
 
File: hledger_journal.info, Node: Status, Next: Description, Prev: Dates, Up: Top File: hledger_journal.info, Node: STATUS, Next: DESCRIPTION, Prev: DATES, Up: Top
3 Status 3 STATUS
******** ********
Transactions, or individual postings within a transaction, can have a Transactions, or individual postings within a transaction, can have a
@ -236,9 +236,9 @@ your bank, '-U' to see things which will probably hit your bank soon
your finances. your finances.
 
File: hledger_journal.info, Node: Description, Next: Comments, Prev: Status, Up: Top File: hledger_journal.info, Node: DESCRIPTION, Next: COMMENTS, Prev: STATUS, Up: Top
4 Description 4 DESCRIPTION
************* *************
A transaction's description is the rest of the line following the date A transaction's description is the rest of the line following the date
@ -252,7 +252,7 @@ comments.
* Payee and note:: * Payee and note::
 
File: hledger_journal.info, Node: Payee and note, Up: Description File: hledger_journal.info, Node: Payee and note, Up: DESCRIPTION
4.1 Payee and note 4.1 Payee and note
================== ==================
@ -264,9 +264,9 @@ the left (up to the first '|') and an additional note field on the right
precise querying and pivoting by payee or by note. precise querying and pivoting by payee or by note.
 
File: hledger_journal.info, Node: Comments, Next: Tags, Prev: Description, Up: Top File: hledger_journal.info, Node: COMMENTS, Next: TAGS, Prev: DESCRIPTION, Up: Top
5 Comments 5 COMMENTS
********** **********
Lines in the journal beginning with a semicolon (';') or hash ('#') or Lines in the journal beginning with a semicolon (';') or hash ('#') or
@ -304,9 +304,9 @@ end comment
'end comment' directives. 'end comment' directives.
 
File: hledger_journal.info, Node: Tags, Next: Postings, Prev: Comments, Up: Top File: hledger_journal.info, Node: TAGS, Next: POSTINGS, Prev: COMMENTS, Up: Top
6 Tags 6 TAGS
****** ******
Tags are a way to add extra labels or labelled data to postings and Tags are a way to add extra labels or labelled data to postings and
@ -347,9 +347,9 @@ example, the following transaction has three tags ('A', 'TAG2',
are simple strings. are simple strings.
 
File: hledger_journal.info, Node: Postings, Next: Account names, Prev: Tags, Up: Top File: hledger_journal.info, Node: POSTINGS, Next: ACCOUNT NAMES, Prev: TAGS, Up: Top
7 Postings 7 POSTINGS
********** **********
A posting is an addition of some amount to, or removal of some amount A posting is an addition of some amount to, or removal of some amount
@ -379,7 +379,7 @@ the amount, the amount will be considered part of the account name.
* Virtual postings:: * Virtual postings::
 
File: hledger_journal.info, Node: Virtual postings, Up: Postings File: hledger_journal.info, Node: Virtual postings, Up: POSTINGS
7.1 Virtual postings 7.1 Virtual postings
==================== ====================
@ -414,9 +414,9 @@ postings_. You can exclude virtual postings from reports with the
'-R/--real' flag or 'real:1' query. '-R/--real' flag or 'real:1' query.
 
File: hledger_journal.info, Node: Account names, Next: Amounts, Prev: Postings, Up: Top File: hledger_journal.info, Node: ACCOUNT NAMES, Next: AMOUNTS, Prev: POSTINGS, Up: Top
8 Account names 8 ACCOUNT NAMES
*************** ***************
Account names typically have several parts separated by a full colon, Account names typically have several parts separated by a full colon,
@ -432,9 +432,9 @@ more spaces* (or newline).
Account names can be aliased. Account names can be aliased.
 
File: hledger_journal.info, Node: Amounts, Next: Transaction prices, Prev: Account names, Up: Top File: hledger_journal.info, Node: AMOUNTS, Next: TRANSACTION PRICES, Prev: ACCOUNT NAMES, Up: Top
9 Amounts 9 AMOUNTS
********* *********
After the account name, there is usually an amount. (Important: between After the account name, there is usually an amount. (Important: between
@ -488,7 +488,7 @@ EUR 1E3
* Rounding:: * Rounding::
 
File: hledger_journal.info, Node: Digit group marks, Next: Commodity display style, Up: Amounts File: hledger_journal.info, Node: Digit group marks, Next: Commodity display style, Up: AMOUNTS
9.1 Digit group marks 9.1 Digit group marks
===================== =====================
@ -521,7 +521,7 @@ commodity INR 9,99,99,999.00
commodity 1 000 000.9455 commodity 1 000 000.9455
 
File: hledger_journal.info, Node: Commodity display style, Next: Rounding, Prev: Digit group marks, Up: Amounts File: hledger_journal.info, Node: Commodity display style, Next: Rounding, Prev: Digit group marks, Up: AMOUNTS
9.2 Commodity display style 9.2 Commodity display style
=========================== ===========================
@ -566,7 +566,7 @@ many decimal places), use a commodity directive to set your preferred
style. style.
 
File: hledger_journal.info, Node: Rounding, Prev: Commodity display style, Up: Amounts File: hledger_journal.info, Node: Rounding, Prev: Commodity display style, Up: AMOUNTS
9.3 Rounding 9.3 Rounding
============ ============
@ -579,9 +579,9 @@ places is "0"). (Guaranteed since hledger 1.17.1; in older versions
this could vary if hledger was built with Decimal < 0.5.1.) this could vary if hledger was built with Decimal < 0.5.1.)
 
File: hledger_journal.info, Node: Transaction prices, Next: Lot prices and lot dates, Prev: Amounts, Up: Top File: hledger_journal.info, Node: TRANSACTION PRICES, Next: LOT PRICES LOT DATES, Prev: AMOUNTS, Up: Top
10 Transaction prices 10 TRANSACTION PRICES
********************* *********************
Within a transaction, you can note an amount's price in another Within a transaction, you can note an amount's price in another
@ -646,10 +646,10 @@ $ hledger bal -N --flat -B
€100 assets:euros €100 assets:euros
 
File: hledger_journal.info, Node: Lot prices and lot dates, Next: Balance assertions, Prev: Transaction prices, Up: Top File: hledger_journal.info, Node: LOT PRICES LOT DATES, Next: BALANCE ASSERTIONS, Prev: TRANSACTION PRICES, Up: Top
11 Lot prices and lot dates 11 LOT PRICES, LOT DATES
*************************** ************************
Ledger allows another kind of price, lot price (four variants: Ledger allows another kind of price, lot price (four variants:
'{UNITPRICE}', '{{TOTALPRICE}}', '{=FIXEDUNITPRICE}', '{UNITPRICE}', '{{TOTALPRICE}}', '{=FIXEDUNITPRICE}',
@ -661,9 +661,9 @@ may appear in any order, after the posting amount and before the balance
assertion if any. assertion if any.
 
File: hledger_journal.info, Node: Balance assertions, Next: Balance assignments, Prev: Lot prices and lot dates, Up: Top File: hledger_journal.info, Node: BALANCE ASSERTIONS, Next: BALANCE ASSIGNMENTS, Prev: LOT PRICES LOT DATES, Up: Top
12 Balance assertions 12 BALANCE ASSERTIONS
********************* *********************
hledger supports Ledger-style balance assertions in journal files. hledger supports Ledger-style balance assertions in journal files.
@ -699,7 +699,7 @@ does not disable balance assignments, below).
* Assertions and precision:: * Assertions and precision::
 
File: hledger_journal.info, Node: Assertions and ordering, Next: Assertions and included files, Up: Balance assertions File: hledger_journal.info, Node: Assertions and ordering, Next: Assertions and included files, Up: BALANCE ASSERTIONS
12.1 Assertions and ordering 12.1 Assertions and ordering
============================ ============================
@ -718,7 +718,7 @@ control over the order of postings and assertions within a day, so you
can assert intra-day balances. can assert intra-day balances.
 
File: hledger_journal.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: Balance assertions File: hledger_journal.info, Node: Assertions and included files, Next: Assertions and multiple -f options, Prev: Assertions and ordering, Up: BALANCE ASSERTIONS
12.2 Assertions and included files 12.2 Assertions and included files
================================== ==================================
@ -730,7 +730,7 @@ and you also want to assert the account's balance on the same day,
you'll have to put the assertion in the right file. you'll have to put the assertion in the right file.
 
File: hledger_journal.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: Balance assertions File: hledger_journal.info, Node: Assertions and multiple -f options, Next: Assertions and commodities, Prev: Assertions and included files, Up: BALANCE ASSERTIONS
12.3 Assertions and multiple -f options 12.3 Assertions and multiple -f options
======================================= =======================================
@ -739,7 +739,7 @@ Balance assertions don't work well across files specified with multiple
-f options. Use include or concatenate the files instead. -f options. Use include or concatenate the files instead.
 
File: hledger_journal.info, Node: Assertions and commodities, Next: Assertions and prices, Prev: Assertions and multiple -f options, Up: Balance assertions File: hledger_journal.info, Node: Assertions and commodities, Next: Assertions and prices, Prev: Assertions and multiple -f options, Up: BALANCE ASSERTIONS
12.4 Assertions and commodities 12.4 Assertions and commodities
=============================== ===============================
@ -787,7 +787,7 @@ commodity into its own subaccount:
a:euro 0 == 1€ a:euro 0 == 1€
 
File: hledger_journal.info, Node: Assertions and prices, Next: Assertions and subaccounts, Prev: Assertions and commodities, Up: Balance assertions File: hledger_journal.info, Node: Assertions and prices, Next: Assertions and subaccounts, Prev: Assertions and commodities, Up: BALANCE ASSERTIONS
12.5 Assertions and prices 12.5 Assertions and prices
========================== ==========================
@ -805,7 +805,7 @@ to generate balance assertions with prices), and because balance
_assignments_ do use them (see below). _assignments_ do use them (see below).
 
File: hledger_journal.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and prices, Up: Balance assertions File: hledger_journal.info, Node: Assertions and subaccounts, Next: Assertions and virtual postings, Prev: Assertions and prices, Up: BALANCE ASSERTIONS
12.6 Assertions and subaccounts 12.6 Assertions and subaccounts
=============================== ===============================
@ -822,7 +822,7 @@ eg:
checking 1 ==* 11 checking 1 ==* 11
 
File: hledger_journal.info, Node: Assertions and virtual postings, Next: Assertions and precision, Prev: Assertions and subaccounts, Up: Balance assertions File: hledger_journal.info, Node: Assertions and virtual postings, Next: Assertions and precision, Prev: Assertions and subaccounts, Up: BALANCE ASSERTIONS
12.7 Assertions and virtual postings 12.7 Assertions and virtual postings
==================================== ====================================
@ -832,7 +832,7 @@ virtual. They are not affected by the '--real/-R' flag or 'real:'
query. query.
 
File: hledger_journal.info, Node: Assertions and precision, Prev: Assertions and virtual postings, Up: Balance assertions File: hledger_journal.info, Node: Assertions and precision, Prev: Assertions and virtual postings, Up: BALANCE ASSERTIONS
12.8 Assertions and precision 12.8 Assertions and precision
============================= =============================
@ -843,9 +843,9 @@ display precision, but this will not affect balance assertions. Balance
assertion failure messages show exact amounts. assertion failure messages show exact amounts.
 
File: hledger_journal.info, Node: Balance assignments, Next: Directives, Prev: Balance assertions, Up: Top File: hledger_journal.info, Node: BALANCE ASSIGNMENTS, Next: DIRECTIVES, Prev: BALANCE ASSERTIONS, Up: Top
13 Balance assignments 13 BALANCE ASSIGNMENTS
********************** **********************
Ledger-style balance assignments are also supported. These are like Ledger-style balance assignments are also supported. These are like
@ -880,7 +880,7 @@ hledger or do the calculations yourself, instead of just reading it.
* Balance assignments and prices:: * Balance assignments and prices::
 
File: hledger_journal.info, Node: Balance assignments and prices, Up: Balance assignments File: hledger_journal.info, Node: Balance assignments and prices, Up: BALANCE ASSIGNMENTS
13.1 Balance assignments and prices 13.1 Balance assignments and prices
=================================== ===================================
@ -896,9 +896,9 @@ $ hledger print --explicit
(a) $1 @ €2 = $1 @ €2 (a) $1 @ €2 = $1 @ €2
 
File: hledger_journal.info, Node: Directives, Next: Periodic transactions, Prev: Balance assignments, Up: Top File: hledger_journal.info, Node: DIRECTIVES, Next: PERIODIC TRANSACTIONS, Prev: BALANCE ASSIGNMENTS, Up: Top
14 Directives 14 DIRECTIVES
************* *************
A directive is a line in the journal beginning with a special keyword, A directive is a line in the journal beginning with a special keyword,
@ -997,7 +997,7 @@ they affect, and whether they are focussed on input (parsing) or output
* Default parent account:: * Default parent account::
 
File: hledger_journal.info, Node: Directives and multiple files, Next: Comment blocks, Up: Directives File: hledger_journal.info, Node: Directives and multiple files, Next: Comment blocks, Up: DIRECTIVES
14.1 Directives and multiple files 14.1 Directives and multiple files
================================== ==================================
@ -1017,7 +1017,7 @@ files.
directives do not affect parent or sibling files (see below). directives do not affect parent or sibling files (see below).
 
File: hledger_journal.info, Node: Comment blocks, Next: Including other files, Prev: Directives and multiple files, Up: Directives File: hledger_journal.info, Node: Comment blocks, Next: Including other files, Prev: Directives and multiple files, Up: DIRECTIVES
14.2 Comment blocks 14.2 Comment blocks
=================== ===================
@ -1027,7 +1027,7 @@ and a line containing just 'end comment' (or the end of the current
file) ends it. See also comments. file) ends it. See also comments.
 
File: hledger_journal.info, Node: Including other files, Next: Default year, Prev: Comment blocks, Up: Directives File: hledger_journal.info, Node: Including other files, Next: Default year, Prev: Comment blocks, Up: DIRECTIVES
14.3 Including other files 14.3 Including other files
========================== ==========================
@ -1058,7 +1058,7 @@ overriding the file extension (as described in hledger.1 -> Input
files): 'include timedot:~/notes/2020*.md'. files): 'include timedot:~/notes/2020*.md'.
 
File: hledger_journal.info, Node: Default year, Next: Declaring commodities, Prev: Including other files, Up: Directives File: hledger_journal.info, Node: Default year, Next: Declaring commodities, Prev: Including other files, Up: DIRECTIVES
14.4 Default year 14.4 Default year
================= =================
@ -1084,7 +1084,7 @@ Y2010 ; change default year to 2010
assets assets
 
File: hledger_journal.info, Node: Declaring commodities, Next: Default commodity, Prev: Default year, Up: Directives File: hledger_journal.info, Node: Declaring commodities, Next: Default commodity, Prev: Default year, Up: DIRECTIVES
14.5 Declaring commodities 14.5 Declaring commodities
========================== ==========================
@ -1152,7 +1152,7 @@ by a 'commodity' directive. This works similarly to account error
checking, see the notes there for more details. checking, see the notes there for more details.
 
File: hledger_journal.info, Node: Default commodity, Next: Declaring market prices, Prev: Declaring commodities, Up: Directives File: hledger_journal.info, Node: Default commodity, Next: Declaring market prices, Prev: Declaring commodities, Up: DIRECTIVES
14.6 Default commodity 14.6 Default commodity
====================== ======================
@ -1179,7 +1179,7 @@ D $1,000.00
b b
 
File: hledger_journal.info, Node: Declaring market prices, Next: Declaring accounts, Prev: Default commodity, Up: Directives File: hledger_journal.info, Node: Declaring market prices, Next: Declaring accounts, Prev: Default commodity, Up: DIRECTIVES
14.7 Declaring market prices 14.7 Declaring market prices
============================ ============================
@ -1209,7 +1209,7 @@ P 2010/1/1 € $1.40
amount values in another commodity. See Valuation. amount values in another commodity. See Valuation.
 
File: hledger_journal.info, Node: Declaring accounts, Next: Rewriting accounts, Prev: Declaring market prices, Up: Directives File: hledger_journal.info, Node: Declaring accounts, Next: Rewriting accounts, Prev: Declaring market prices, Up: DIRECTIVES
14.8 Declaring accounts 14.8 Declaring accounts
======================= =======================
@ -1471,7 +1471,7 @@ means:
between 'a:b' and 'a:c'). between 'a:b' and 'a:c').
 
File: hledger_journal.info, Node: Rewriting accounts, Next: Default parent account, Prev: Declaring accounts, Up: Directives File: hledger_journal.info, Node: Rewriting accounts, Next: Default parent account, Prev: Declaring accounts, Up: DIRECTIVES
14.9 Rewriting accounts 14.9 Rewriting accounts
======================= =======================
@ -1629,7 +1629,7 @@ aliases' directive:
end aliases end aliases
 
File: hledger_journal.info, Node: Default parent account, Prev: Rewriting accounts, Up: Directives File: hledger_journal.info, Node: Default parent account, Prev: Rewriting accounts, Up: DIRECTIVES
14.10 Default parent account 14.10 Default parent account
============================ ============================
@ -1670,9 +1670,9 @@ If account aliases are present, they are applied after the default
parent account. parent account.
 
File: hledger_journal.info, Node: Periodic transactions, Next: Auto postings, Prev: Directives, Up: Top File: hledger_journal.info, Node: PERIODIC TRANSACTIONS, Next: AUTO POSTINGS, Prev: DIRECTIVES, Up: Top
15 Periodic transactions 15 PERIODIC TRANSACTIONS
************************ ************************
Periodic transaction rules describe transactions that recur. They allow Periodic transaction rules describe transactions that recur. They allow
@ -1717,7 +1717,7 @@ to define budget goals, shown in budget reports.
* Budgeting 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 File: hledger_journal.info, Node: Periodic rule syntax, Next: Two spaces between period expression and description!, Up: PERIODIC TRANSACTIONS
15.1 Periodic rule syntax 15.1 Periodic rule syntax
========================= =========================
@ -1740,7 +1740,7 @@ date, unless a Y default year directive is in effect, in which case they
will be relative to Y/1/1. will be relative to Y/1/1.
 
File: hledger_journal.info, Node: Two spaces between period expression and description!, Next: Forecasting with periodic transactions, Prev: Periodic rule syntax, 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
15.2 Two spaces between period expression and description! 15.2 Two spaces between period expression and description!
========================================================== ==========================================================
@ -1765,7 +1765,7 @@ accidentally alter their meaning, as in this example:
expression. 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 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
15.3 Forecasting with periodic transactions 15.3 Forecasting with periodic transactions
=========================================== ===========================================
@ -1811,7 +1811,7 @@ examples: '--forecast=202001-202004', '--forecast=jan-',
'--forecast=2020'. '--forecast=2020'.
 
File: hledger_journal.info, Node: Budgeting with periodic transactions, Prev: Forecasting with periodic transactions, Up: Periodic transactions File: hledger_journal.info, Node: Budgeting with periodic transactions, Prev: Forecasting with periodic transactions, Up: PERIODIC TRANSACTIONS
15.4 Budgeting with periodic transactions 15.4 Budgeting with periodic transactions
========================================= =========================================
@ -1826,9 +1826,9 @@ compared in budget reports.
See also: Budgeting and Forecasting. See also: Budgeting and Forecasting.
 
File: hledger_journal.info, Node: Auto postings, Prev: Periodic transactions, Up: Top File: hledger_journal.info, Node: AUTO POSTINGS, Prev: PERIODIC TRANSACTIONS, Up: Top
16 Auto postings 16 AUTO POSTINGS
**************** ****************
"Automated postings" or "auto postings" are extra postings which get "Automated postings" or "auto postings" are extra postings which get
@ -1904,7 +1904,7 @@ $ hledger print --auto
* Auto posting tags:: * Auto posting tags::
 
File: hledger_journal.info, Node: Auto postings and multiple files, Next: Auto postings and dates, Up: Auto postings File: hledger_journal.info, Node: Auto postings and multiple files, Next: Auto postings and dates, Up: AUTO POSTINGS
16.1 Auto postings and multiple files 16.1 Auto postings and multiple files
===================================== =====================================
@ -1914,7 +1914,7 @@ in any parent file or child file. Note, currently it will not affect
sibling files (when multiple '-f'/'--file' are used - see #1212). sibling files (when multiple '-f'/'--file' are used - see #1212).
 
File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Prev: Auto postings and multiple files, Up: Auto postings File: hledger_journal.info, Node: Auto postings and dates, Next: Auto postings and transaction balancing / inferred amounts / balance assertions, Prev: Auto postings and multiple files, Up: AUTO POSTINGS
16.2 Auto postings and dates 16.2 Auto postings and dates
============================ ============================
@ -1924,7 +1924,7 @@ precedence) a posting date in the auto posting rule itself, will also be
used in the generated posting. used in the generated posting.
 
File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: Auto postings File: hledger_journal.info, Node: Auto postings and transaction balancing / inferred amounts / balance assertions, Next: Auto posting tags, Prev: Auto postings and dates, Up: AUTO POSTINGS
16.3 Auto postings and transaction balancing / inferred amounts / 16.3 Auto postings and transaction balancing / inferred amounts /
================================================================= =================================================================
@ -1940,7 +1940,7 @@ after auto postings are added. This changed in hledger 1.12+; see #893
for background. for background.
 
File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: Auto postings File: hledger_journal.info, Node: Auto posting tags, Prev: Auto postings and transaction balancing / inferred amounts / balance assertions, Up: AUTO POSTINGS
16.4 Auto posting tags 16.4 Auto posting tags
====================== ======================
@ -1964,142 +1964,137 @@ will have these tags added:
 
Tag Table: Tag Table:
Node: Top76 Node: Top76
Node: Transactions2154 Node: TRANSACTIONS2111
Ref: #transactions2272 Ref: #transactions2229
Node: Dates3286 Node: DATES3243
Ref: #dates3393 Ref: #dates3350
Node: Simple dates3458 Node: Simple dates3415
Ref: #simple-dates3580 Ref: #simple-dates3537
Node: Secondary dates4089 Node: Secondary dates4046
Ref: #secondary-dates4239 Ref: #secondary-dates4196
Node: Posting dates5575 Node: Posting dates5532
Ref: #posting-dates5700 Ref: #posting-dates5657
Node: Status7072 Node: STATUS7029
Ref: #status7180 Ref: #status7137
Node: Description8888 Node: DESCRIPTION8845
Ref: #description9009 Ref: #description8966
Node: Payee and note9329 Node: Payee and note9286
Ref: #payee-and-note9439 Ref: #payee-and-note9396
Node: Comments9774 Node: COMMENTS9731
Ref: #comments9887 Ref: #comments9844
Node: Tags11081 Node: TAGS11038
Ref: #tags11183 Ref: #tags11140
Node: Postings12576 Node: POSTINGS12533
Ref: #postings12691 Ref: #postings12648
Node: Virtual postings13717 Node: Virtual postings13674
Ref: #virtual-postings13830 Ref: #virtual-postings13787
Node: Account names15135 Node: ACCOUNT NAMES15092
Ref: #account-names15263 Ref: #account-names15220
Node: Amounts15750 Node: AMOUNTS15707
Ref: #amounts15876 Ref: #amounts15833
Node: Digit group marks17000 Node: Digit group marks16957
Ref: #digit-group-marks17147 Ref: #digit-group-marks17104
Node: Commodity display style18085 Node: Commodity display style18042
Ref: #commodity-display-style18261 Ref: #commodity-display-style18218
Node: Rounding19804 Node: Rounding19761
Ref: #rounding19924 Ref: #rounding19881
Node: Transaction prices20336 Node: TRANSACTION PRICES20293
Ref: #transaction-prices20497 Ref: #transaction-prices20450
Node: Lot prices and lot dates22928 Node: LOT PRICES LOT DATES22881
Ref: #lot-prices-and-lot-dates23112 Ref: #lot-prices-lot-dates23055
Node: Balance assertions23600 Node: BALANCE ASSERTIONS23543
Ref: #balance-assertions23773 Ref: #balance-assertions23712
Node: Assertions and ordering24806 Node: Assertions and ordering24745
Ref: #assertions-and-ordering24990 Ref: #assertions-and-ordering24929
Node: Assertions and included files25690 Node: Assertions and included files25629
Ref: #assertions-and-included-files25929 Ref: #assertions-and-included-files25868
Node: Assertions and multiple -f options26262 Node: Assertions and multiple -f options26201
Ref: #assertions-and-multiple--f-options26514 Ref: #assertions-and-multiple--f-options26453
Node: Assertions and commodities26646 Node: Assertions and commodities26585
Ref: #assertions-and-commodities26874 Ref: #assertions-and-commodities26813
Node: Assertions and prices28031 Node: Assertions and prices27970
Ref: #assertions-and-prices28241 Ref: #assertions-and-prices28180
Node: Assertions and subaccounts28681 Node: Assertions and subaccounts28620
Ref: #assertions-and-subaccounts28906 Ref: #assertions-and-subaccounts28845
Node: Assertions and virtual postings29230 Node: Assertions and virtual postings29169
Ref: #assertions-and-virtual-postings29468 Ref: #assertions-and-virtual-postings29407
Node: Assertions and precision29610 Node: Assertions and precision29549
Ref: #assertions-and-precision29799 Ref: #assertions-and-precision29738
Node: Balance assignments30066 Node: BALANCE ASSIGNMENTS30005
Ref: #balance-assignments30227 Ref: #balance-assignments30166
Node: Balance assignments and prices31391 Node: Balance assignments and prices31330
Ref: #balance-assignments-and-prices31559 Ref: #balance-assignments-and-prices31498
Node: Directives31783 Node: DIRECTIVES31722
Ref: #directives31929 Ref: #directives31868
Node: Directives and multiple files37427 Node: Directives and multiple files37366
Ref: #directives-and-multiple-files37606 Ref: #directives-and-multiple-files37545
Node: Comment blocks38270 Node: Comment blocks38209
Ref: #comment-blocks38449 Ref: #comment-blocks38388
Node: Including other files38625 Node: Including other files38564
Ref: #including-other-files38801 Ref: #including-other-files38740
Node: Default year39725 Node: Default year39664
Ref: #default-year39890 Ref: #default-year39829
Node: Declaring commodities40297 Node: Declaring commodities40236
Ref: #declaring-commodities40476 Ref: #declaring-commodities40415
Node: Commodity error checking42320 Node: Commodity error checking42259
Ref: #commodity-error-checking42476 Ref: #commodity-error-checking42415
Node: Default commodity42733 Node: Default commodity42672
Ref: #default-commodity42915 Ref: #default-commodity42854
Node: Declaring market prices43804 Node: Declaring market prices43743
Ref: #declaring-market-prices43995 Ref: #declaring-market-prices43934
Node: Declaring accounts44852 Node: Declaring accounts44791
Ref: #declaring-accounts45034 Ref: #declaring-accounts44973
Node: Account error checking46236 Node: Account error checking46175
Ref: #account-error-checking46408 Ref: #account-error-checking46347
Node: Account comments47587 Node: Account comments47526
Ref: #account-comments47777 Ref: #account-comments47716
Node: Account subdirectives48201 Node: Account subdirectives48140
Ref: #account-subdirectives48392 Ref: #account-subdirectives48331
Node: Account types48705 Node: Account types48644
Ref: #account-types48885 Ref: #account-types48824
Node: Declaring account types49621 Node: Declaring account types49560
Ref: #declaring-account-types49806 Ref: #declaring-account-types49745
Node: Auto-detected account types50456 Node: Auto-detected account types50395
Ref: #auto-detected-account-types50703 Ref: #auto-detected-account-types50642
Node: Interference from auto-detected account types51600 Node: Interference from auto-detected account types51539
Ref: #interference-from-auto-detected-account-types51883 Ref: #interference-from-auto-detected-account-types51822
Node: Old account type syntax52366 Node: Old account type syntax52305
Ref: #old-account-type-syntax52569 Ref: #old-account-type-syntax52508
Node: Account display order52869 Node: Account display order52808
Ref: #account-display-order53035 Ref: #account-display-order52974
Node: Rewriting accounts54186 Node: Rewriting accounts54125
Ref: #rewriting-accounts54367 Ref: #rewriting-accounts54306
Node: Basic aliases55124 Node: Basic aliases55063
Ref: #basic-aliases55266 Ref: #basic-aliases55205
Node: Regex aliases55970 Node: Regex aliases55909
Ref: #regex-aliases56138 Ref: #regex-aliases56077
Node: Combining aliases56857 Node: Combining aliases56796
Ref: #combining-aliases57046 Ref: #combining-aliases56985
Node: Aliases and multiple files58322 Node: Aliases and multiple files58261
Ref: #aliases-and-multiple-files58527 Ref: #aliases-and-multiple-files58466
Node: end aliases59106 Node: end aliases59045
Ref: #end-aliases59259 Ref: #end-aliases59198
Node: Default parent account59360 Node: Default parent account59299
Ref: #default-parent-account59524 Ref: #default-parent-account59463
Node: Periodic transactions60408 Node: PERIODIC TRANSACTIONS60347
Ref: #periodic-transactions60570 Ref: #periodic-transactions60509
Node: Periodic rule syntax62487 Node: Periodic rule syntax62426
Ref: #periodic-rule-syntax62689 Ref: #periodic-rule-syntax62628
Node: Two spaces between period expression and description!63393 Node: Two spaces between period expression and description!63332
Ref: #two-spaces-between-period-expression-and-description63708 Ref: #two-spaces-between-period-expression-and-description63647
Node: Forecasting with periodic transactions64392 Node: Forecasting with periodic transactions64331
Ref: #forecasting-with-periodic-transactions64693 Ref: #forecasting-with-periodic-transactions64632
Node: Budgeting with periodic transactions66748 Node: Budgeting with periodic transactions66687
Ref: #budgeting-with-periodic-transactions66983 Ref: #budgeting-with-periodic-transactions66922
Node: Auto postings67392 Node: AUTO POSTINGS67331
Ref: #auto-postings67519 Ref: #auto-postings67458
Node: Auto postings and multiple files69698 Node: Auto postings and multiple files69637
Ref: #auto-postings-and-multiple-files69898 Ref: #auto-postings-and-multiple-files69837
Node: Auto postings and dates70107 Node: Auto postings and dates70046
Ref: #auto-postings-and-dates70377 Ref: #auto-postings-and-dates70316
Node: Auto postings and transaction balancing / inferred amounts / balance assertions70552 Node: Auto postings and transaction balancing / inferred amounts / balance assertions70491
Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70899 Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70838
Node: Auto posting tags71241 Node: Auto posting tags71180
Ref: #auto-posting-tags71452 Ref: #auto-posting-tags71391
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger_journal(5) hledger User Manuals hledger_journal(5) HLEDGER_JOURNAL(5) hledger User Manuals HLEDGER_JOURNAL(5)
NAME NAME
Journal - hledger's default file format, representing a General Journal hledger's default file format, representing a General Journal.
DESCRIPTION DESCRIPTION
hledger's usual data source is a plain text file containing journal en- hledger's usual data source is a plain text file containing journal en-
@ -31,14 +31,13 @@ DESCRIPTION
formatting, tab completion, and useful commands. See Editor configura- formatting, tab completion, and useful commands. See Editor configura-
tion at hledger.org for the full list. tion at hledger.org for the full list.
FILE FORMAT
Here's a description of each part of the file format (and hledger's Here's a description of each part of the file format (and hledger's
data model). These are mostly in the order you'll use them, but in data model). These are mostly in the order you'll use them, but in
some cases related concepts have been grouped together for easy refer- some cases related concepts have been grouped together for easy refer-
ence, or linked before they are introduced, so feel free to skip over ence, or linked before they are introduced, so feel free to skip over
anything that looks unnecessary right now. anything that looks unnecessary right now.
Transactions TRANSACTIONS
Transactions are the main unit of information in a journal file. They Transactions are the main unit of information in a journal file. They
represent events, typically a movement of some quantity of commodities represent events, typically a movement of some quantity of commodities
between two or more named accounts. between two or more named accounts.
@ -66,7 +65,7 @@ FILE FORMAT
assets:bank:checking $1 assets:bank:checking $1
income:salary $-1 income:salary $-1
Dates DATES
Simple dates Simple dates
Dates in the journal file use simple dates format: YYYY-MM-DD or Dates in the journal file use simple dates format: YYYY-MM-DD or
YYYY/MM/DD or YYYY.MM.DD, with leading zeros optional. The year may be YYYY/MM/DD or YYYY.MM.DD, with leading zeros optional. The year may be
@ -139,7 +138,7 @@ FILE FORMAT
With this syntax, DATE infers its year from the transaction and DATE2 With this syntax, DATE infers its year from the transaction and DATE2
infers its year from DATE. infers its year from DATE.
Status STATUS
Transactions, or individual postings within a transaction, can have a Transactions, or individual postings within a transaction, can have a
status mark, which is a single character before the transaction de- status mark, which is a single character before the transaction de-
scription or posting account name, separated from it by a space, indi- scription or posting account name, separated from it by a space, indi-
@ -183,7 +182,7 @@ FILE FORMAT
cashed checks), and no flags to see the most up-to-date state of your cashed checks), and no flags to see the most up-to-date state of your
finances. finances.
Description DESCRIPTION
A transaction's description is the rest of the line following the date A transaction's description is the rest of the line following the date
and status mark (or until a comment begins). Sometimes called the and status mark (or until a comment begins). Sometimes called the
"narration" in traditional bookkeeping, it can be used for whatever you "narration" in traditional bookkeeping, it can be used for whatever you
@ -197,7 +196,7 @@ FILE FORMAT
ter the first |). This may be worthwhile if you need to do more pre- ter the first |). This may be worthwhile if you need to do more pre-
cise querying and pivoting by payee or by note. cise querying and pivoting by payee or by note.
Comments COMMENTS
Lines in the journal beginning with a semicolon (;) or hash (#) or star Lines in the journal beginning with a semicolon (;) or hash (#) or star
(*) are comments, and will be ignored. (Star comments cause org-mode (*) are comments, and will be ignored. (Star comments cause org-mode
nodes to be ignored, allowing emacs users to fold and navigate their nodes to be ignored, allowing emacs users to fold and navigate their
@ -232,7 +231,7 @@ FILE FORMAT
You can also comment larger regions of a file using comment and end You can also comment larger regions of a file using comment and end
comment directives. comment directives.
Tags TAGS
Tags are a way to add extra labels or labelled data to postings and Tags are a way to add extra labels or labelled data to postings and
transactions, which you can then search or pivot on. transactions, which you can then search or pivot on.
@ -272,7 +271,7 @@ FILE FORMAT
Tags are like Ledger's metadata feature, except hledger's tag values Tags are like Ledger's metadata feature, except hledger's tag values
are simple strings. are simple strings.
Postings POSTINGS
A posting is an addition of some amount to, or removal of some amount A posting is an addition of some amount to, or removal of some amount
from, an account. Each posting line begins with at least one space or from, an account. Each posting line begins with at least one space or
tab (2 or 4 spaces is common), followed by: tab (2 or 4 spaces is common), followed by:
@ -326,7 +325,7 @@ FILE FORMAT
postings. You can exclude virtual postings from reports with the postings. You can exclude virtual postings from reports with the
-R/--real flag or real:1 query. -R/--real flag or real:1 query.
Account names ACCOUNT NAMES
Account names typically have several parts separated by a full colon, Account names typically have several parts separated by a full colon,
from which hledger derives a hierarchical chart of accounts. They can from which hledger derives a hierarchical chart of accounts. They can
be anything you like, but in finance there are traditionally five top- be anything you like, but in finance there are traditionally five top-
@ -338,7 +337,7 @@ FILE FORMAT
Account names can be aliased. Account names can be aliased.
Amounts AMOUNTS
After the account name, there is usually an amount. (Important: be- After the account name, there is usually an amount. (Important: be-
tween account name and amount, there must be two or more spaces.) tween account name and amount, there must be two or more spaces.)
@ -460,7 +459,7 @@ FILE FORMAT
places is "0"). (Guaranteed since hledger 1.17.1; in older versions places is "0"). (Guaranteed since hledger 1.17.1; in older versions
this could vary if hledger was built with Decimal < 0.5.1.) this could vary if hledger was built with Decimal < 0.5.1.)
Transaction prices TRANSACTION PRICES
Within a transaction, you can note an amount's price in another commod- Within a transaction, you can note an amount's price in another commod-
ity. This can be used to document the cost (in a purchase) or selling ity. This can be used to document the cost (in a purchase) or selling
price (in a sale). For example, transaction prices are useful to price (in a sale). For example, transaction prices are useful to
@ -521,7 +520,7 @@ FILE FORMAT
EUR-100 assets:dollars # <- the dollars' selling price EUR-100 assets:dollars # <- the dollars' selling price
EUR100 assets:euros EUR100 assets:euros
Lot prices and lot dates LOT PRICES, LOT DATES
Ledger allows another kind of price, lot price (four variants: {UNIT- Ledger allows another kind of price, lot price (four variants: {UNIT-
PRICE}, {{TOTALPRICE}}, {=FIXEDUNITPRICE}, {{=FIXEDTOTALPRICE}}), PRICE}, {{TOTALPRICE}}, {=FIXEDUNITPRICE}, {{=FIXEDTOTALPRICE}}),
and/or a lot date ([DATE]) to be specified. These are normally used to and/or a lot date ([DATE]) to be specified. These are normally used to
@ -530,7 +529,7 @@ FILE FORMAT
transaction price, lot price and/or lot date may appear in any order, transaction price, lot price and/or lot date may appear in any order,
after the posting amount and before the balance assertion if any. after the posting amount and before the balance assertion if any.
Balance assertions BALANCE ASSERTIONS
hledger supports Ledger-style balance assertions in journal files. hledger supports Ledger-style balance assertions in journal files.
These look like, for example, = EXPECTEDBALANCE following a posting's These look like, for example, = EXPECTEDBALANCE following a posting's
amount. Eg here we assert the expected dollar balance in accounts a amount. Eg here we assert the expected dollar balance in accounts a
@ -653,7 +652,7 @@ FILE FORMAT
limit the display precision, but this will not affect balance asser- limit the display precision, but this will not affect balance asser-
tions. Balance assertion failure messages show exact amounts. tions. Balance assertion failure messages show exact amounts.
Balance assignments BALANCE ASSIGNMENTS
Ledger-style balance assignments are also supported. These are like Ledger-style balance assignments are also supported. These are like
balance assertions, but with no posting amount on the left side of the balance assertions, but with no posting amount on the left side of the
equals sign; instead it is calculated automatically so as to satisfy equals sign; instead it is calculated automatically so as to satisfy
@ -692,7 +691,7 @@ FILE FORMAT
2019-01-01 2019-01-01
(a) $1 @ EUR2 = $1 @ EUR2 (a) $1 @ EUR2 = $1 @ EUR2
Directives DIRECTIVES
A directive is a line in the journal beginning with a special keyword, A directive is a line in the journal beginning with a special keyword,
that influences how the journal is processed. hledger's directives are that influences how the journal is processed. hledger's directives are
based on a subset of Ledger's, but there are many differences (and also based on a subset of Ledger's, but there are many differences (and also
@ -729,8 +728,6 @@ FILE FORMAT
play style: amounts play style: amounts
of that commodity of that commodity
in reports in reports
D declare a commodity to be default commodity: D declare a commodity to be default commodity:
used for commodityless following commod- used for commodityless following commod-
amounts, and its number no- ityless entries un- amounts, and its number no- ityless entries un-
@ -743,6 +740,8 @@ FILE FORMAT
play style: amounts play style: amounts
of that commodity of that commodity
in reports in reports
include include entries/directives what the included include include entries/directives what the included
from another file directives affect from another file directives affect
P declare a market price for a amounts of that P declare a market price for a amounts of that
@ -1075,7 +1074,6 @@ FILE FORMAT
^(debts?|lia- Liability ^(debts?|lia- Liability
bilit(y|ies))(:|$) bilit(y|ies))(:|$)
^equity(:|$) Equity ^equity(:|$) Equity
^(income|revenue)s?(:|$) Revenue ^(income|revenue)s?(:|$) Revenue
^expenses?(:|$) Expense ^expenses?(:|$) Expense
@ -1312,7 +1310,7 @@ FILE FORMAT
account aliases are present, they are applied after the default parent account aliases are present, they are applied after the default parent
account. account.
Periodic transactions PERIODIC TRANSACTIONS
Periodic transaction rules describe transactions that recur. They al- Periodic transaction rules describe transactions that recur. They al-
low hledger to generate temporary future transactions to help with low hledger to generate temporary future transactions to help with
forecasting, so you don't have to write out each one in the journal, forecasting, so you don't have to write out each one in the journal,
@ -1443,7 +1441,7 @@ FILE FORMAT
See also: Budgeting and Forecasting. See also: Budgeting and Forecasting.
Auto postings AUTO POSTINGS
"Automated postings" or "auto postings" are extra postings which get "Automated postings" or "auto postings" are extra postings which get
added automatically to transactions which match certain queries, de- added automatically to transactions which match certain queries, de-
fined by "auto posting rules", when you use the --auto flag. fined by "auto posting rules", when you use the --auto flag.
@ -1570,9 +1568,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger 1.20.1 December 2020 hledger_journal(5) hledger-lib-1.20.1 December 2020 HLEDGER_JOURNAL(5)

View File

@ -1,11 +1,11 @@
.TH "hledger_timeclock" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals" .TH "HLEDGER_TIMECLOCK" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
Timeclock - the time logging format of timeclock.el, as read by hledger The time logging format of timeclock.el, as read by hledger.
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
hledger can read timeclock files. hledger can read timeclock files.
@ -85,6 +85,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -4,10 +4,10 @@ stdin.
 
File: hledger_timeclock.info, Node: Top, Up: (dir) File: hledger_timeclock.info, Node: Top, Up: (dir)
hledger_timeclock(5) hledger 1.20.1 hledger_timeclock(5)
*********************************** ********************
Timeclock - the time logging format of timeclock.el, as read by hledger The time logging format of timeclock.el, as read by hledger.
hledger can read timeclock files. As with Ledger, these are (a hledger can read timeclock files. As with Ledger, these are (a
subset of) timeclock.el's format, containing clock-in and clock-out subset of) timeclock.el's format, containing clock-in and clock-out
@ -61,8 +61,3 @@ Tag Table:
Node: Top78 Node: Top78
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger_timeclock(5) hledger User Manuals hledger_timeclock(5) HLEDGER_TIMECLOCK(5) hledger User Manuals HLEDGER_TIMECLOCK(5)
NAME NAME
Timeclock - the time logging format of timeclock.el, as read by hledger The time logging format of timeclock.el, as read by hledger.
DESCRIPTION DESCRIPTION
hledger can read timeclock files. As with Ledger, these are (a subset hledger can read timeclock files. As with Ledger, these are (a subset
@ -70,9 +70,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger 1.20.1 December 2020 hledger_timeclock(5) hledger-lib-1.20.1 December 2020 HLEDGER_TIMECLOCK(5)

View File

@ -1,11 +1,11 @@
.TH "hledger_timedot" "5" "December 2020" "hledger 1.20.1" "hledger User Manuals" .TH "HLEDGER_TIMEDOT" "5" "December 2020" "hledger-lib-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
Timedot - hledger\[aq]s human-friendly time logging format hledger\[aq]s human-friendly time logging format.
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
Timedot is a plain text format for logging dated, categorised quantities Timedot is a plain text format for logging dated, categorised quantities
@ -194,6 +194,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -4,10 +4,10 @@ stdin.
 
File: hledger_timedot.info, Node: Top, Up: (dir) File: hledger_timedot.info, Node: Top, Up: (dir)
hledger_timedot(5) hledger 1.20.1 hledger_timedot(5)
********************************* ******************
Timedot - hledger's human-friendly time logging format hledger's human-friendly time logging format.
Timedot is a plain text format for logging dated, categorised Timedot is a plain text format for logging dated, categorised
quantities (of time, usually), supported by hledger. It is convenient quantities (of time, usually), supported by hledger. It is convenient
@ -143,8 +143,3 @@ Tag Table:
Node: Top76 Node: Top76
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger_timedot(5) hledger User Manuals hledger_timedot(5) HLEDGER_TIMEDOT(5) hledger User Manuals HLEDGER_TIMEDOT(5)
NAME NAME
Timedot - hledger's human-friendly time logging format hledger's human-friendly time logging format.
DESCRIPTION DESCRIPTION
Timedot is a plain text format for logging dated, categorised quanti- Timedot is a plain text format for logging dated, categorised quanti-
@ -153,9 +153,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger 1.20.1 December 2020 hledger_timedot(5) hledger-lib-1.20.1 December 2020 HLEDGER_TIMEDOT(5)

View File

@ -1,11 +1,11 @@
.TH "hledger-ui" "1" "December 2020" "hledger-ui 1.20.1" "hledger User Manuals" .TH "HLEDGER-UI" "1" "December 2020" "hledger-ui-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
hledger-ui - terminal interface for the hledger accounting tool A terminal interface (TUI) for the hledger accounting tool.
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[C]hledger-ui [OPTIONS] [QUERYARGS]\f[R] \f[C]hledger-ui [OPTIONS] [QUERYARGS]\f[R]
@ -189,18 +189,18 @@ show version
\f[B]\f[CB]--debug[=N]\f[B]\f[R] \f[B]\f[CB]--debug[=N]\f[B]\f[R]
show debug output (levels 1-9, default: 1) show debug output (levels 1-9, default: 1)
.PP .PP
a \[at]file argument will be expanded to the contents of file, which A \[at]FILE argument will be expanded to the contents of FILE, which
should contain one command line option/argument per line. should contain one command line option/argument per line.
(to prevent this, insert a \f[C]--\f[R] argument before.) (To prevent this, insert a \f[C]--\f[R] argument before.)
.SH keys .SH KEYS
.PP .PP
\f[C]?\f[R] shows a help dialog listing all keys. \f[C]?\f[R] shows a help dialog listing all keys.
(some of these also appear in the quick help at the bottom of each (Some of these also appear in the quick help at the bottom of each
screen.) press \f[C]?\f[R] again (or \f[C]escape\f[R], or screen.) Press \f[C]?\f[R] again (or \f[C]ESCAPE\f[R], or
\f[C]left\f[R], or \f[C]q\f[R]) to close it. \f[C]LEFT\f[R], or \f[C]q\f[R]) to close it.
the following keys work on most screens: The following keys work on most screens:
.PP .PP
the cursor keys navigate: \f[C]right\f[R] (or \f[C]enter\f[R]) goes The cursor keys navigate: \f[C]right\f[R] (or \f[C]enter\f[R]) goes
deeper, \f[C]left\f[R] returns to the previous screen, deeper, \f[C]left\f[R] returns to the previous screen,
\f[C]up\f[R]/\f[C]down\f[R]/\f[C]page up\f[R]/\f[C]page down\f[R]/\f[C]home\f[R]/\f[C]end\f[R] \f[C]up\f[R]/\f[C]down\f[R]/\f[C]page up\f[R]/\f[C]page down\f[R]/\f[C]home\f[R]/\f[C]end\f[R]
move up and down through lists. move up and down through lists.
@ -212,104 +212,103 @@ A tip: movement speed is limited by your keyboard repeat rate, to move
faster you may want to adjust it. faster you may want to adjust it.
(If you\[aq]re on a mac, the karabiner app is one way to do that.) (If you\[aq]re on a mac, the karabiner app is one way to do that.)
.PP .PP
with shift pressed, the cursor keys adjust the report period, limiting With shift pressed, the cursor keys adjust the report period, limiting
the transactions to be shown (by default, all are shown). the transactions to be shown (by default, all are shown).
\f[C]shift-down/up\f[R] steps downward and upward through these standard \f[C]shift-down/up\f[R] steps downward and upward through these standard
report period durations: year, quarter, month, week, day. report period durations: year, quarter, month, week, day.
then, \f[C]shift-left/right\f[R] moves to the previous/next period. Then, \f[C]shift-left/right\f[R] moves to the previous/next period.
\f[C]T\f[R] sets the report period to today. \f[C]T\f[R] sets the report period to today.
with the \f[C]--watch\f[R] option, when viewing a \[dq]current\[dq] With the \f[C]--watch\f[R] option, when viewing a \[dq]current\[dq]
period (the current day, week, month, quarter, or year), the period will period (the current day, week, month, quarter, or year), the period will
move automatically to track the current date. move automatically to track the current date.
to set a non-standard period, you can use \f[C]/\f[R] and a To set a non-standard period, you can use \f[C]/\f[R] and a
\f[C]date:\f[R] query. \f[C]date:\f[R] query.
.PP .PP
\f[C]/\f[R] lets you set a general filter query limiting the data shown, \f[C]/\f[R] lets you set a general filter query limiting the data shown,
using the same query terms as in hledger and hledger-web. using the same query terms as in hledger and hledger-web.
while editing the query, you can use ctrl-a/e/d/k, bs, cursor keys; While editing the query, you can use CTRL-a/e/d/k, BS, cursor keys;
press \f[C]enter\f[R] to set it, or \f[C]escape\f[R]to cancel. press \f[C]ENTER\f[R] to set it, or \f[C]ESCAPE\f[R]to cancel.
there are also keys for quickly adjusting some common filters like There are also keys for quickly adjusting some common filters like
account depth and transaction status (see below). account depth and transaction status (see below).
\f[C]backspace\f[R] or \f[C]delete\f[R] removes all filters, showing all \f[C]BACKSPACE\f[R] or \f[C]DELETE\f[R] removes all filters, showing all
transactions. transactions.
.PP .PP
as mentioned above, by default hledger-ui hides future transactions - As mentioned above, by default hledger-ui hides future transactions -
both ordinary transactions recorded in the journal, and periodic both ordinary transactions recorded in the journal, and periodic
transactions generated by rule. transactions generated by rule.
\f[C]f\f[R] toggles forecast mode, in which future/forecasted \f[C]F\f[R] toggles forecast mode, in which future/forecasted
transactions are shown. transactions are shown.
\f[I](experimental)\f[R]
.PP .PP
\f[C]escape\f[R] resets the UI state and jumps back to the top screen, \f[C]ESCAPE\f[R] resets the UI state and jumps back to the top screen,
restoring the app\[aq]s initial state at startup. restoring the app\[aq]s initial state at startup.
Or, it cancels minibuffer data entry or the help dialog. Or, it cancels minibuffer data entry or the help dialog.
.PP .PP
\f[C]ctrl-l\f[R] redraws the screen and centers the selection if \f[C]CTRL-l\f[R] redraws the screen and centers the selection if
possible (selections near the top won\[aq]t be centered, since we possible (selections near the top won\[aq]t be centered, since we
don\[aq]t scroll above the top). don\[aq]t scroll above the top).
.PP .PP
\f[C]g\f[R] reloads from the data file(s) and updates the current screen \f[C]g\f[R] reloads from the data file(s) and updates the current screen
and any previous screens. and any previous screens.
(with large files, this could cause a noticeable pause.) (With large files, this could cause a noticeable pause.)
.PP .PP
\f[C]i\f[R] toggles balance assertion checking. \f[C]I\f[R] toggles balance assertion checking.
disabling balance assertions temporarily can be useful for Disabling balance assertions temporarily can be useful for
troubleshooting. troubleshooting.
.PP .PP
\f[C]a\f[R] runs command-line hledger\[aq]s add command, and reloads the \f[C]a\f[R] runs command-line hledger\[aq]s add command, and reloads the
updated file. updated file.
this allows some basic data entry. This allows some basic data entry.
.PP .PP
\f[C]a\f[R] is like \f[C]a\f[R], but runs the hledger-iadd tool, which \f[C]A\f[R] is like \f[C]a\f[R], but runs the hledger-iadd tool, which
provides a terminal interface. provides a terminal interface.
this key will be available if \f[C]hledger-iadd\f[R] is installed in This key will be available if \f[C]hledger-iadd\f[R] is installed in
$path. $path.
.PP .PP
\f[C]e\f[R] runs $hledger_ui_editor, or $editor, or a default \f[C]E\f[R] runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default
(\f[C]emacsclient -a \[dq]\[dq] -nw\f[R]) on the journal file. (\f[C]emacsclient -a \[dq]\[dq] -nw\f[R]) on the journal file.
with some editors (emacs, vi), the cursor will be positioned at the With some editors (emacs, vi), the cursor will be positioned at the
current transaction when invoked from the register and transaction current transaction when invoked from the register and transaction
screens, and at the error location (if possible) when invoked from the screens, and at the error location (if possible) when invoked from the
error screen. error screen.
.PP .PP
\f[C]b\f[R] toggles cost mode, showing amounts in their transaction \f[C]B\f[R] toggles cost mode, showing amounts in their transaction
price\[aq]s commodity (like toggling the \f[C]-b/--cost\f[R] flag). price\[aq]s commodity (like toggling the \f[C]-B/--cost\f[R] flag).
.PP .PP
\f[C]v\f[R] toggles value mode, showing amounts\[aq] current market \f[C]V\f[R] toggles value mode, showing amounts\[aq] current market
value in their default valuation commodity (like toggling the value in their default valuation commodity (like toggling the
\f[C]-v/--market\f[R] flag). \f[C]-V/--market\f[R] flag).
note, \[dq]current market value\[dq] means the value on the report end Note, \[dq]current market value\[dq] means the value on the report end
date if specified, otherwise today. date if specified, otherwise today.
to see the value on another date, you can temporarily set that as the To see the value on another date, you can temporarily set that as the
report end date. report end date.
eg: to see a transaction as it was valued on july 30, go to the accounts Eg: to see a transaction as it was valued on july 30, go to the accounts
or register screen, press \f[C]/\f[R], and add \f[C]date:-7/30\f[R] to or register screen, press \f[C]/\f[R], and add \f[C]date:-7/30\f[R] to
the query. the query.
.PP .PP
at most one of cost or value mode can be active at once. At most one of cost or value mode can be active at once.
.PP .PP
there\[aq]s not yet any visual reminder when cost or value mode is There\[aq]s not yet any visual reminder when cost or value mode is
active; for now pressing \f[C]b\f[R] \f[C]b\f[R] \f[C]v\f[R] should active; for now pressing \f[C]b\f[R] \f[C]b\f[R] \f[C]v\f[R] should
reliably reset to normal mode. reliably reset to normal mode.
.PP .PP
with --watch active, if you save an edit to the journal file while With \f[C]--watch\f[R] active, if you save an edit to the journal file
viewing the transaction screen in cost or value mode, the while viewing the transaction screen in cost or value mode, the
\f[C]b\f[R]/\f[C]v\f[R] keys will stop working. \f[C]B\f[R]/\f[C]V\f[R] keys will stop working.
to work around, press g to force a manual reload, or exit the To work around, press \f[C]g\f[R] to force a manual reload, or exit the
transaction screen. transaction screen.
.PP .PP
\f[C]q\f[R] quits the application. \f[C]q\f[R] quits the application.
.PP .PP
additional screen-specific keys are described below. Additional screen-specific keys are described below.
.SH screens .SH SCREENS
.SS accounts screen .SS Accounts screen
.PP .PP
this is normally the first screen displayed. This is normally the first screen displayed.
it lists accounts and their balances, like hledger\[aq]s balance It lists accounts and their balances, like hledger\[aq]s balance
command. command.
by default, it shows all accounts and their latest ending balances By default, it shows all accounts and their latest ending balances
(including the balances of subaccounts). (including the balances of subaccounts).
if you specify a query on the command line, it shows just the matched If you specify a query on the command line, it shows just the matched
accounts and the balances from matched transactions. accounts and the balances from matched transactions.
.PP .PP
Account names are shown as a flat list by default; press \f[C]t\f[R] to Account names are shown as a flat list by default; press \f[C]t\f[R] to
@ -505,6 +504,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -3,10 +3,10 @@ This is hledger-ui.info, produced by makeinfo version 6.7 from stdin.
 
File: hledger-ui.info, Node: Top, Next: OPTIONS, Up: (dir) File: hledger-ui.info, Node: Top, Next: OPTIONS, Up: (dir)
hledger-ui(1) hledger-ui 1.20.1 hledger-ui(1)
******************************* *************
hledger-ui - terminal interface for the hledger accounting tool A terminal interface (TUI) for the hledger accounting tool.
'hledger-ui [OPTIONS] [QUERYARGS]' 'hledger-ui [OPTIONS] [QUERYARGS]'
'hledger ui -- [OPTIONS] [QUERYARGS]' 'hledger ui -- [OPTIONS] [QUERYARGS]'
@ -36,18 +36,14 @@ enable "forecast mode".
* Menu: * Menu:
* OPTIONS:: * OPTIONS::
* keys:: * KEYS::
* screens:: * SCREENS::
* accounts screen::
* Register screen::
* Transaction screen::
* Error screen::
* ENVIRONMENT:: * ENVIRONMENT::
* FILES:: * FILES::
* BUGS:: * BUGS::
 
File: hledger-ui.info, Node: OPTIONS, Next: keys, Prev: Top, Up: Top File: hledger-ui.info, Node: OPTIONS, Next: KEYS, Prev: Top, Up: Top
1 OPTIONS 1 OPTIONS
********* *********
@ -208,22 +204,22 @@ the last one takes precedence.
show debug output (levels 1-9, default: 1) show debug output (levels 1-9, default: 1)
a @file argument will be expanded to the contents of file, which A @FILE argument will be expanded to the contents of FILE, which
should contain one command line option/argument per line. (to prevent should contain one command line option/argument per line. (To prevent
this, insert a '--' argument before.) this, insert a '--' argument before.)
 
File: hledger-ui.info, Node: keys, Next: screens, Prev: OPTIONS, Up: Top File: hledger-ui.info, Node: KEYS, Next: SCREENS, Prev: OPTIONS, Up: Top
2 keys 2 KEYS
****** ******
'?' shows a help dialog listing all keys. (some of these also appear in '?' shows a help dialog listing all keys. (Some of these also appear in
the quick help at the bottom of each screen.) press '?' again (or the quick help at the bottom of each screen.) Press '?' again (or
'escape', or 'left', or 'q') to close it. the following keys work on 'ESCAPE', or 'LEFT', or 'q') to close it. The following keys work on
most screens: most screens:
the cursor keys navigate: 'right' (or 'enter') goes deeper, 'left' The cursor keys navigate: 'right' (or 'enter') goes deeper, 'left'
returns to the previous screen, 'up'/'down'/'page up'/'page returns to the previous screen, 'up'/'down'/'page up'/'page
down'/'home'/'end' move up and down through lists. Emacs-style down'/'home'/'end' move up and down through lists. Emacs-style
('ctrl-p'/'ctrl-n'/'ctrl-f'/'ctrl-b') movement keys are also supported ('ctrl-p'/'ctrl-n'/'ctrl-f'/'ctrl-b') movement keys are also supported
@ -232,99 +228,106 @@ speed is limited by your keyboard repeat rate, to move faster you may
want to adjust it. (If you're on a mac, the karabiner app is one way to want to adjust it. (If you're on a mac, the karabiner app is one way to
do that.) do that.)
with shift pressed, the cursor keys adjust the report period, With shift pressed, the cursor keys adjust the report period,
limiting the transactions to be shown (by default, all are shown). limiting the transactions to be shown (by default, all are shown).
'shift-down/up' steps downward and upward through these standard report 'shift-down/up' steps downward and upward through these standard report
period durations: year, quarter, month, week, day. then, period durations: year, quarter, month, week, day. Then,
'shift-left/right' moves to the previous/next period. 'T' sets the 'shift-left/right' moves to the previous/next period. 'T' sets the
report period to today. with the '--watch' option, when viewing a report period to today. With the '--watch' option, when viewing a
"current" period (the current day, week, month, quarter, or year), the "current" period (the current day, week, month, quarter, or year), the
period will move automatically to track the current date. to set a period will move automatically to track the current date. To set a
non-standard period, you can use '/' and a 'date:' query. non-standard period, you can use '/' and a 'date:' query.
'/' lets you set a general filter query limiting the data shown, '/' lets you set a general filter query limiting the data shown,
using the same query terms as in hledger and hledger-web. while editing using the same query terms as in hledger and hledger-web. While editing
the query, you can use ctrl-a/e/d/k, bs, cursor keys; press 'enter' to the query, you can use CTRL-a/e/d/k, BS, cursor keys; press 'ENTER' to
set it, or 'escape'to cancel. there are also keys for quickly adjusting set it, or 'ESCAPE'to cancel. There are also keys for quickly adjusting
some common filters like account depth and transaction status (see some common filters like account depth and transaction status (see
below). 'backspace' or 'delete' removes all filters, showing all below). 'BACKSPACE' or 'DELETE' removes all filters, showing all
transactions. transactions.
as mentioned above, by default hledger-ui hides future transactions - As mentioned above, by default hledger-ui hides future transactions -
both ordinary transactions recorded in the journal, and periodic both ordinary transactions recorded in the journal, and periodic
transactions generated by rule. 'f' toggles forecast mode, in which transactions generated by rule. 'F' toggles forecast mode, in which
future/forecasted transactions are shown. _(experimental)_ future/forecasted transactions are shown.
'escape' resets the UI state and jumps back to the top screen, 'ESCAPE' resets the UI state and jumps back to the top screen,
restoring the app's initial state at startup. Or, it cancels minibuffer restoring the app's initial state at startup. Or, it cancels minibuffer
data entry or the help dialog. data entry or the help dialog.
'ctrl-l' redraws the screen and centers the selection if possible 'CTRL-l' redraws the screen and centers the selection if possible
(selections near the top won't be centered, since we don't scroll above (selections near the top won't be centered, since we don't scroll above
the top). the top).
'g' reloads from the data file(s) and updates the current screen and 'g' reloads from the data file(s) and updates the current screen and
any previous screens. (with large files, this could cause a noticeable any previous screens. (With large files, this could cause a noticeable
pause.) pause.)
'i' toggles balance assertion checking. disabling balance assertions 'I' toggles balance assertion checking. Disabling balance assertions
temporarily can be useful for troubleshooting. temporarily can be useful for troubleshooting.
'a' runs command-line hledger's add command, and reloads the updated 'a' runs command-line hledger's add command, and reloads the updated
file. this allows some basic data entry. file. This allows some basic data entry.
'a' is like 'a', but runs the hledger-iadd tool, which provides a 'A' is like 'a', but runs the hledger-iadd tool, which provides a
terminal interface. this key will be available if 'hledger-iadd' is terminal interface. This key will be available if 'hledger-iadd' is
installed in $path. installed in $path.
'e' runs $hledger_ui_editor, or $editor, or a default ('emacsclient 'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient
-a "" -nw') on the journal file. with some editors (emacs, vi), the -a "" -nw') on the journal file. With some editors (emacs, vi), the
cursor will be positioned at the current transaction when invoked from cursor will be positioned at the current transaction when invoked from
the register and transaction screens, and at the error location (if the register and transaction screens, and at the error location (if
possible) when invoked from the error screen. possible) when invoked from the error screen.
'b' toggles cost mode, showing amounts in their transaction price's 'B' toggles cost mode, showing amounts in their transaction price's
commodity (like toggling the '-b/--cost' flag). commodity (like toggling the '-B/--cost' flag).
'v' toggles value mode, showing amounts' current market value in 'V' toggles value mode, showing amounts' current market value in
their default valuation commodity (like toggling the '-v/--market' their default valuation commodity (like toggling the '-V/--market'
flag). note, "current market value" means the value on the report end flag). Note, "current market value" means the value on the report end
date if specified, otherwise today. to see the value on another date, date if specified, otherwise today. To see the value on another date,
you can temporarily set that as the report end date. eg: to see a you can temporarily set that as the report end date. Eg: to see a
transaction as it was valued on july 30, go to the accounts or register transaction as it was valued on july 30, go to the accounts or register
screen, press '/', and add 'date:-7/30' to the query. screen, press '/', and add 'date:-7/30' to the query.
at most one of cost or value mode can be active at once. At most one of cost or value mode can be active at once.
there's not yet any visual reminder when cost or value mode is There's not yet any visual reminder when cost or value mode is
active; for now pressing 'b' 'b' 'v' should reliably reset to normal active; for now pressing 'b' 'b' 'v' should reliably reset to normal
mode. mode.
with -watch active, if you save an edit to the journal file while With '--watch' active, if you save an edit to the journal file while
viewing the transaction screen in cost or value mode, the 'b'/'v' keys viewing the transaction screen in cost or value mode, the 'B'/'V' keys
will stop working. to work around, press g to force a manual reload, or will stop working. To work around, press 'g' to force a manual reload,
exit the transaction screen. or exit the transaction screen.
'q' quits the application. 'q' quits the application.
additional screen-specific keys are described below. Additional screen-specific keys are described below.
 
File: hledger-ui.info, Node: screens, Next: accounts screen, Prev: keys, Up: Top File: hledger-ui.info, Node: SCREENS, Next: ENVIRONMENT, Prev: KEYS, Up: Top
3 screens 3 SCREENS
********* *********
* Menu:
* Accounts screen::
* Register screen::
* Transaction screen::
* Error screen::
 
File: hledger-ui.info, Node: accounts screen, Next: Register screen, Prev: screens, Up: Top File: hledger-ui.info, Node: Accounts screen, Next: Register screen, Up: SCREENS
4 accounts screen 3.1 Accounts screen
***************** ===================
this is normally the first screen displayed. it lists accounts and This is normally the first screen displayed. It lists accounts and
their balances, like hledger's balance command. by default, it shows their balances, like hledger's balance command. By default, it shows
all accounts and their latest ending balances (including the balances of all accounts and their latest ending balances (including the balances of
subaccounts). if you specify a query on the command line, it shows just subaccounts). If you specify a query on the command line, it shows just
the matched accounts and the balances from matched transactions. the matched accounts and the balances from matched transactions.
Account names are shown as a flat list by default; press 't' to Account names are shown as a flat list by default; press 't' to
@ -365,10 +368,10 @@ command-line hledger).
Press 'right' or 'enter' to view an account's transactions register. Press 'right' or 'enter' to view an account's transactions register.
 
File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: accounts screen, Up: Top File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: Accounts screen, Up: SCREENS
5 Register screen 3.2 Register screen
***************** ===================
This screen shows the transactions affecting a particular account, like This screen shows the transactions affecting a particular account, like
a check register. Each line represents one transaction and shows: a check register. Each line represents one transaction and shows:
@ -412,10 +415,10 @@ command-line hledger).
detail. detail.
 
File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: Top File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: SCREENS
6 Transaction screen 3.3 Transaction screen
******************** ======================
This screen shows a single transaction, as a general journal entry, This screen shows a single transaction, as a general journal entry,
similar to hledger's print command and journal format similar to hledger's print command and journal format
@ -436,10 +439,10 @@ unfiltered journal, which is a more stable id (at least until the next
reload). reload).
 
File: hledger-ui.info, Node: Error screen, Next: ENVIRONMENT, Prev: Transaction screen, Up: Top File: hledger-ui.info, Node: Error screen, Prev: Transaction screen, Up: SCREENS
7 Error screen 3.4 Error screen
************** ================
This screen will appear if there is a problem, such as a parse error, This screen will appear if there is a problem, such as a parse error,
when you press g to reload. Once you have fixed the problem, press g when you press g to reload. Once you have fixed the problem, press g
@ -447,9 +450,9 @@ again to reload and resume normal operation. (Or, you can press escape
to cancel the reload attempt.) to cancel the reload attempt.)
 
File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: Error screen, Up: Top File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: SCREENS, Up: Top
8 ENVIRONMENT 4 ENVIRONMENT
************* *************
*COLUMNS* The screen width to use. Default: the full terminal width. *COLUMNS* The screen width to use. Default: the full terminal width.
@ -477,7 +480,7 @@ a more thorough way that also affects applications started from the GUI
 
File: hledger-ui.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top File: hledger-ui.info, Node: FILES, Next: BUGS, Prev: ENVIRONMENT, Up: Top
9 FILES 5 FILES
******* *******
Reads data from one or more files in hledger journal, timeclock, Reads data from one or more files in hledger journal, timeclock,
@ -488,8 +491,8 @@ timedot, or CSV format specified with '-f', or '$LEDGER_FILE', or
 
File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top File: hledger-ui.info, Node: BUGS, Prev: FILES, Up: Top
10 BUGS 6 BUGS
******* ******
The need to precede options with '--' when invoked from hledger is The need to precede options with '--' when invoked from hledger is
awkward. awkward.
@ -516,30 +519,25 @@ program is restarted.
 
Tag Table: Tag Table:
Node: Top71 Node: Top71
Node: OPTIONS1554 Node: OPTIONS1434
Ref: #options1651 Ref: #options1531
Node: keys5718 Node: KEYS5598
Ref: #keys5813 Ref: #keys5693
Node: screens10145 Node: SCREENS10012
Ref: #screens10254 Ref: #screens10117
Node: accounts screen10254 Node: Accounts screen10207
Ref: #accounts-screen10390 Ref: #accounts-screen10335
Node: Register screen12605 Node: Register screen12550
Ref: #register-screen12752 Ref: #register-screen12705
Node: Transaction screen14749 Node: Transaction screen14702
Ref: #transaction-screen14899 Ref: #transaction-screen14860
Node: Error screen15769 Node: Error screen15730
Ref: #error-screen15903 Ref: #error-screen15852
Node: ENVIRONMENT16147 Node: ENVIRONMENT16096
Ref: #environment16266 Ref: #environment16210
Node: FILES17073 Node: FILES17017
Ref: #files17172 Ref: #files17116
Node: BUGS17385 Node: BUGS17329
Ref: #bugs17464 Ref: #bugs17406
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger-ui(1) hledger User Manuals hledger-ui(1) HLEDGER-UI(1) hledger User Manuals HLEDGER-UI(1)
NAME NAME
hledger-ui - terminal interface for the hledger accounting tool A terminal interface (TUI) for the hledger accounting tool.
SYNOPSIS SYNOPSIS
hledger-ui [OPTIONS] [QUERYARGS] hledger-ui [OPTIONS] [QUERYARGS]
@ -185,16 +185,16 @@ OPTIONS
--debug[=N] --debug[=N]
show debug output (levels 1-9, default: 1) show debug output (levels 1-9, default: 1)
a @file argument will be expanded to the contents of file, which should A @FILE argument will be expanded to the contents of FILE, which should
contain one command line option/argument per line. (to prevent this, contain one command line option/argument per line. (To prevent this,
insert a -- argument before.) insert a -- argument before.)
keys KEYS
? shows a help dialog listing all keys. (some of these also appear in ? shows a help dialog listing all keys. (Some of these also appear in
the quick help at the bottom of each screen.) press ? again (or escape, the quick help at the bottom of each screen.) Press ? again (or ESCAPE,
or left, or q) to close it. the following keys work on most screens: or LEFT, or q) to close it. The following keys work on most screens:
the cursor keys navigate: right (or enter) goes deeper, left returns to The cursor keys navigate: right (or enter) goes deeper, left returns to
the previous screen, up/down/page up/page down/home/end move up and the previous screen, up/down/page up/page down/home/end move up and
down through lists. Emacs-style (ctrl-p/ctrl-n/ctrl-f/ctrl-b) movement down through lists. Emacs-style (ctrl-p/ctrl-n/ctrl-f/ctrl-b) movement
keys are also supported (but not vi-style keys, since hledger-1.19, keys are also supported (but not vi-style keys, since hledger-1.19,
@ -202,87 +202,87 @@ keys
rate, to move faster you may want to adjust it. (If you're on a mac, rate, to move faster you may want to adjust it. (If you're on a mac,
the karabiner app is one way to do that.) the karabiner app is one way to do that.)
with shift pressed, the cursor keys adjust the report period, limiting With shift pressed, the cursor keys adjust the report period, limiting
the transactions to be shown (by default, all are shown). shift- the transactions to be shown (by default, all are shown). shift-
down/up steps downward and upward through these standard report period down/up steps downward and upward through these standard report period
durations: year, quarter, month, week, day. then, shift-left/right durations: year, quarter, month, week, day. Then, shift-left/right
moves to the previous/next period. T sets the report period to today. moves to the previous/next period. T sets the report period to today.
with the --watch option, when viewing a "current" period (the current With the --watch option, when viewing a "current" period (the current
day, week, month, quarter, or year), the period will move automatically day, week, month, quarter, or year), the period will move automatically
to track the current date. to set a non-standard period, you can use / to track the current date. To set a non-standard period, you can use /
and a date: query. and a date: query.
/ lets you set a general filter query limiting the data shown, using / lets you set a general filter query limiting the data shown, using
the same query terms as in hledger and hledger-web. while editing the the same query terms as in hledger and hledger-web. While editing the
query, you can use ctrl-a/e/d/k, bs, cursor keys; press enter to set query, you can use CTRL-a/e/d/k, BS, cursor keys; press ENTER to set
it, or escapeto cancel. there are also keys for quickly adjusting some it, or ESCAPEto cancel. There are also keys for quickly adjusting some
common filters like account depth and transaction status (see below). common filters like account depth and transaction status (see below).
backspace or delete removes all filters, showing all transactions. BACKSPACE or DELETE removes all filters, showing all transactions.
as mentioned above, by default hledger-ui hides future transactions - As mentioned above, by default hledger-ui hides future transactions -
both ordinary transactions recorded in the journal, and periodic trans- both ordinary transactions recorded in the journal, and periodic trans-
actions generated by rule. f toggles forecast mode, in which fu- actions generated by rule. F toggles forecast mode, in which fu-
ture/forecasted transactions are shown. (experimental) ture/forecasted transactions are shown.
escape resets the UI state and jumps back to the top screen, restoring ESCAPE resets the UI state and jumps back to the top screen, restoring
the app's initial state at startup. Or, it cancels minibuffer data en- the app's initial state at startup. Or, it cancels minibuffer data en-
try or the help dialog. try or the help dialog.
ctrl-l redraws the screen and centers the selection if possible (selec- CTRL-l redraws the screen and centers the selection if possible (selec-
tions near the top won't be centered, since we don't scroll above the tions near the top won't be centered, since we don't scroll above the
top). top).
g reloads from the data file(s) and updates the current screen and any g reloads from the data file(s) and updates the current screen and any
previous screens. (with large files, this could cause a noticeable previous screens. (With large files, this could cause a noticeable
pause.) pause.)
i toggles balance assertion checking. disabling balance assertions I toggles balance assertion checking. Disabling balance assertions
temporarily can be useful for troubleshooting. temporarily can be useful for troubleshooting.
a runs command-line hledger's add command, and reloads the updated a runs command-line hledger's add command, and reloads the updated
file. this allows some basic data entry. file. This allows some basic data entry.
a is like a, but runs the hledger-iadd tool, which provides a terminal A is like a, but runs the hledger-iadd tool, which provides a terminal
interface. this key will be available if hledger-iadd is installed in interface. This key will be available if hledger-iadd is installed in
$path. $path.
e runs $hledger_ui_editor, or $editor, or a default (emacsclient -a "" E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a ""
-nw) on the journal file. with some editors (emacs, vi), the cursor -nw) on the journal file. With some editors (emacs, vi), the cursor
will be positioned at the current transaction when invoked from the will be positioned at the current transaction when invoked from the
register and transaction screens, and at the error location (if possi- register and transaction screens, and at the error location (if possi-
ble) when invoked from the error screen. ble) when invoked from the error screen.
b toggles cost mode, showing amounts in their transaction price's com- B toggles cost mode, showing amounts in their transaction price's com-
modity (like toggling the -b/--cost flag). modity (like toggling the -B/--cost flag).
v toggles value mode, showing amounts' current market value in their V toggles value mode, showing amounts' current market value in their
default valuation commodity (like toggling the -v/--market flag). default valuation commodity (like toggling the -V/--market flag).
note, "current market value" means the value on the report end date if Note, "current market value" means the value on the report end date if
specified, otherwise today. to see the value on another date, you can specified, otherwise today. To see the value on another date, you can
temporarily set that as the report end date. eg: to see a transaction temporarily set that as the report end date. Eg: to see a transaction
as it was valued on july 30, go to the accounts or register screen, as it was valued on july 30, go to the accounts or register screen,
press /, and add date:-7/30 to the query. press /, and add date:-7/30 to the query.
at most one of cost or value mode can be active at once. At most one of cost or value mode can be active at once.
there's not yet any visual reminder when cost or value mode is active; There's not yet any visual reminder when cost or value mode is active;
for now pressing b b v should reliably reset to normal mode. for now pressing b b v should reliably reset to normal mode.
with --watch active, if you save an edit to the journal file while With --watch active, if you save an edit to the journal file while
viewing the transaction screen in cost or value mode, the b/v keys will viewing the transaction screen in cost or value mode, the B/V keys will
stop working. to work around, press g to force a manual reload, or stop working. To work around, press g to force a manual reload, or
exit the transaction screen. exit the transaction screen.
q quits the application. q quits the application.
additional screen-specific keys are described below. Additional screen-specific keys are described below.
screens SCREENS
accounts screen Accounts screen
this is normally the first screen displayed. it lists accounts and This is normally the first screen displayed. It lists accounts and
their balances, like hledger's balance command. by default, it shows their balances, like hledger's balance command. By default, it shows
all accounts and their latest ending balances (including the balances all accounts and their latest ending balances (including the balances
of subaccounts). if you specify a query on the command line, it shows of subaccounts). If you specify a query on the command line, it shows
just the matched accounts and the balances from matched transactions. just the matched accounts and the balances from matched transactions.
Account names are shown as a flat list by default; press t to toggle Account names are shown as a flat list by default; press t to toggle
@ -452,9 +452,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger-ui 1.20.1 December 2020 hledger-ui(1) hledger-ui-1.20.1 December 2020 HLEDGER-UI(1)

View File

@ -1,11 +1,11 @@
.TH "hledger-web" "1" "December 2020" "hledger-web 1.20.1" "hledger User Manuals" .TH "HLEDGER-WEB" "1" "December 2020" "hledger-web-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
hledger-web - web interface for the hledger accounting tool A web interface (WUI) for the hledger accounting tool.
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[C]hledger-web [OPTIONS]\f[R] \f[C]hledger-web [OPTIONS]\f[R]
@ -610,6 +610,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

View File

@ -3,10 +3,10 @@ This is hledger-web.info, produced by makeinfo version 6.7 from stdin.
 
File: hledger-web.info, Node: Top, Next: OPTIONS, Up: (dir) File: hledger-web.info, Node: Top, Next: OPTIONS, Up: (dir)
hledger-web(1) hledger-web 1.20.1 hledger-web(1)
********************************* **************
hledger-web - web interface for the hledger accounting tool A web interface (WUI) for the hledger accounting tool.
'hledger-web [OPTIONS]' 'hledger-web [OPTIONS]'
'hledger web -- [OPTIONS]' 'hledger web -- [OPTIONS]'
@ -589,26 +589,21 @@ awkward.
 
Tag Table: Tag Table:
Node: Top72 Node: Top72
Node: OPTIONS1750 Node: OPTIONS1707
Ref: #options1855 Ref: #options1812
Node: PERMISSIONS8954 Node: PERMISSIONS8911
Ref: #permissions9093 Ref: #permissions9050
Node: EDITING UPLOADING DOWNLOADING10305 Node: EDITING UPLOADING DOWNLOADING10262
Ref: #editing-uploading-downloading10486 Ref: #editing-uploading-downloading10443
Node: RELOADING11320 Node: RELOADING11277
Ref: #reloading11454 Ref: #reloading11411
Node: JSON API11887 Node: JSON API11844
Ref: #json-api12001 Ref: #json-api11958
Node: ENVIRONMENT17491 Node: ENVIRONMENT17448
Ref: #environment17607 Ref: #environment17564
Node: FILES18340 Node: FILES18297
Ref: #files18440 Ref: #files18397
Node: BUGS18653 Node: BUGS18610
Ref: #bugs18731 Ref: #bugs18688
 
End Tag Table End Tag Table

Local Variables:
coding: utf-8
End:

View File

@ -1,10 +1,10 @@
hledger-web(1) hledger User Manuals hledger-web(1) HLEDGER-WEB(1) hledger User Manuals HLEDGER-WEB(1)
NAME NAME
hledger-web - web interface for the hledger accounting tool A web interface (WUI) for the hledger accounting tool.
SYNOPSIS SYNOPSIS
hledger-web [OPTIONS] hledger-web [OPTIONS]
@ -545,9 +545,11 @@ COPYRIGHT
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5), hledger(1), hledger-ui(1), hledger-web(1), ledger(1)
hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time-
dot(5)
hledger-web 1.20.1 December 2020 hledger-web(1) hledger-web-1.20.1 December 2020 HLEDGER-WEB(1)

View File

@ -1,23 +1,20 @@
.\"t .\"t
.TH "hledger" "1" "December 2020" "hledger 1.20.1" "hledger User Manuals" .TH "HLEDGER" "1" "December 2020" "hledger-1.20.1 " "hledger User Manuals"
.SH NAME .SH NAME
.PP .PP
hledger - a command-line accounting tool A command-line accounting tool for both power users and folks new to
accounting.
.SH SYNOPSIS .SH SYNOPSIS
.PP .PP
\f[C]hledger [-f FILE] COMMAND [OPTIONS] [ARGS]\f[R]
.PD 0
.P
.PD
\f[C]hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS]\f[R]
.PD 0
.P
.PD
\f[C]hledger\f[R] \f[C]hledger\f[R]
.PP
\f[C]hledger [-f FILE] COMMAND [OPTIONS] [ARGS]\f[R]
.PP
\f[C]hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS]\f[R]
.SH DESCRIPTION .SH DESCRIPTION
.PP .PP
hledger is a reliable, cross-platform set of programs for tracking hledger is a reliable, cross-platform set of programs for tracking
@ -2466,22 +2463,85 @@ a flag (-D/-W/-M/-Q/-Y) or period expression that activates the
report\[aq]s multi-period mode (whether showing one or many subperiods). report\[aq]s multi-period mode (whether showing one or many subperiods).
.SH COMMANDS .SH COMMANDS
.PP .PP
hledger provides a number of subcommands; \f[C]hledger\f[R] with no hledger provides a number of commands for producing reports and managing
arguments shows a list. your data.
Run \f[C]hledger\f[R] with no arguments to list the commands available.
.PP .PP
If you install additional \f[C]hledger-*\f[R] packages, or if you put To run a command, write its name (or its abbreviation shown in the
programs or scripts named \f[C]hledger-NAME\f[R] in your PATH, these commands list, or any unambiguous prefix of the name) as hledger\[aq]s
will also be listed as subcommands. first argument.
Eg: \f[C]hledger balance\f[R] or \f[C]hledger bal\f[R].
.PP .PP
Run a subcommand by writing its name as first argument (eg Here are the built-in commands:
\f[C]hledger incomestatement\f[R]).
You can also write one of the standard short aliases displayed in
parentheses in the command list (\f[C]hledger b\f[R]), or any any
unambiguous prefix of a command name (\f[C]hledger inc\f[R]).
.PP .PP
Here are all the builtin commands in alphabetical order. \f[B]Data entry (these modify the journal file):\f[R]
See also \f[C]hledger\f[R] for a more organised command list, and .IP \[bu] 2
\f[C]hledger CMD -h\f[R] for detailed command help. add - add transactions using guided prompts
.IP \[bu] 2
import - add any new transactions from other files (eg csv)
.PP
\f[B]Data management\f[R]:
.IP \[bu] 2
check - check for various kinds of issue in the data
.IP \[bu] 2
close (equity) - generate balance-resetting transactions
.IP \[bu] 2
diff - compare account transactions in two journal files
.IP \[bu] 2
rewrite - generate extra postings, similar to print --auto
.PP
\f[B]Financial statements:\f[R]
.IP \[bu] 2
aregister (areg) - show transactions in a particular account
.IP \[bu] 2
balancesheet (bs) - show assets, liabilities and net worth
.IP \[bu] 2
balancesheetequity (bse) - show assets, liabilities and equity
.IP \[bu] 2
cashflow (cf) - show changes in liquid assets
.IP \[bu] 2
incomestatement (is) - show revenues and expenses
.IP \[bu] 2
roi - show return on investments
.PP
\f[B]Miscellaneous reports:\f[R]
.IP \[bu] 2
accounts (a) - show account names
.IP \[bu] 2
activity - show postings-per-interval bar charts
.IP \[bu] 2
balance (b, bal) - show balance changes/end balances/budgets in accounts
.IP \[bu] 2
codes - show transaction codes
.IP \[bu] 2
commodities - show commodity/currency symbols
.IP \[bu] 2
descriptions - show unique transaction descriptions
.IP \[bu] 2
files - show input file paths
.IP \[bu] 2
notes - show unique note segments of transaction descriptions
.IP \[bu] 2
payees - show unique payee segments of transaction descriptions
.IP \[bu] 2
prices - show market price records
.IP \[bu] 2
print (p, txns) - show transactions (journal entries)
.IP \[bu] 2
print-unique - show only transactions with unique descriptions
.IP \[bu] 2
register (r, reg) - show postings in one or more accounts & running
total
.IP \[bu] 2
register-match - show a recent posting that best matches a description
.IP \[bu] 2
stats - show journal statistics
.IP \[bu] 2
tags - show tag names
.IP \[bu] 2
test - run self tests
.PP
Next, the detailed command docs, in alphabetical order.
.SS accounts .SS accounts
.PP .PP
accounts, a accounts, a
@ -2664,6 +2724,10 @@ shown.
.PP .PP
Transactions making a net change of zero are not shown by default; add Transactions making a net change of zero are not shown by default; add
the \f[C]-E/--empty\f[R] flag to show them. the \f[C]-E/--empty\f[R] flag to show them.
.PP
This command also supports the output destination and output format
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
and \f[C]json\f[R].
.SS aregister and custom posting dates .SS aregister and custom posting dates
.PP .PP
Transactions whose date is outside the report period can still be shown, Transactions whose date is outside the report period can still be shown,
@ -2677,11 +2741,6 @@ To filter strictly by transaction date instead, add the
\f[C]--txn-dates\f[R] flag. \f[C]--txn-dates\f[R] flag.
If you use this flag and some of your postings have custom dates, If you use this flag and some of your postings have custom dates,
it\[aq]s probably best to assume the running balance is wrong. it\[aq]s probably best to assume the running balance is wrong.
.SS Output format
.PP
This command also supports the output destination and output format
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
and \f[C]json\f[R].
.PP .PP
Examples: Examples:
.PP .PP
@ -2734,6 +2793,10 @@ Then the balance command will show real-world account balances.
In some cases the -H/--historical flag is used to ensure this (more In some cases the -H/--historical flag is used to ensure this (more
below). below).
.PP .PP
This command also supports the output destination and output format
options The output formats supported are (in most modes): \f[C]txt\f[R],
\f[C]csv\f[R], \f[C]html\f[R], and \f[C]json\f[R].
.PP
The balance command can produce several styles of report: The balance command can produce several styles of report:
.SS Classic balance report .SS Classic balance report
.PP .PP
@ -3378,11 +3441,6 @@ Budget performance in 2019/01:
|| 0 [ 0] || 0 [ 0]
\f[R] \f[R]
.fi .fi
.SS Output format
.PP
This command also supports the output destination and output format
options The output formats supported are (in most modes): \f[C]txt\f[R],
\f[C]csv\f[R], \f[C]html\f[R], and \f[C]json\f[R].
.SS balancesheet .SS balancesheet
.PP .PP
balancesheet, bs balancesheet, bs
@ -4047,371 +4105,6 @@ Petrol
Snacks Snacks
\f[R] \f[R]
.fi .fi
.SS payees
.PP
payees
.PD 0
.P
.PD
List the unique payee/payer names that appear in transactions.
.PP
This command lists the unique payee/payer names that appear in
transactions, in alphabetic order.
You can add a query to select a subset of transactions.
The payee/payer is the part of the transaction description before a |
character (or if there is no |, the whole description).
.PP
Example:
.IP
.nf
\f[C]
$ hledger payees
Store Name
Gas Station
Person A
\f[R]
.fi
.SS prices
.PP
prices
.PD 0
.P
.PD
Print market price directives from the journal.
With --costs, also 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.
Price amounts are always displayed with their full precision.
.SS print
.PP
print, txns, p
.PD 0
.P
.PD
Show transaction journal entries, sorted by date.
.PP
The print command displays full journal entries (transactions) from the
journal file in date order, tidily formatted.
With --date2, transactions are sorted by secondary date instead.
.PP
print\[aq]s output is always a valid hledger journal.
.PD 0
.P
.PD
It preserves all transaction information, but it does not preserve
directives or inter-transaction comments
.IP
.nf
\f[C]
$ hledger print
2008/01/01 income
assets:bank:checking $1
income:salary $-1
2008/06/01 gift
assets:bank:checking $1
income:gifts $-1
2008/06/02 save
assets:bank:saving $1
assets:bank:checking $-1
2008/06/03 * eat & shop
expenses:food $1
expenses:supplies $1
assets:cash $-2
2008/12/31 * pay off
liabilities:debts $1
assets:bank:checking $-1
\f[R]
.fi
.PP
Normally, the journal entry\[aq]s explicit or implicit amount style is
preserved.
For example, when an amount is omitted in the journal, it will not
appear in the output.
Similarly, when a transaction price is implied but not written, it will
not appear in the output.
You can use the \f[C]-x\f[R]/\f[C]--explicit\f[R] flag to make all
amounts and transaction prices explicit, which can be useful for
troubleshooting or for making your journal more readable and robust
against data entry errors.
\f[C]-x\f[R] is also implied by using any of
\f[C]-B\f[R],\f[C]-V\f[R],\f[C]-X\f[R],\f[C]--value\f[R].
.PP
Note, \f[C]-x\f[R]/\f[C]--explicit\f[R] will cause postings with a
multi-commodity amount (these can arise when a multi-commodity
transaction has an implicit amount) to be split into multiple
single-commodity postings, keeping the output parseable.
.PP
With \f[C]-B\f[R]/\f[C]--cost\f[R], amounts with transaction prices are
converted to cost using that price.
This can be used for troubleshooting.
.PP
With \f[C]-m\f[R]/\f[C]--match\f[R] and a STR argument, print will show
at most one transaction: 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.
.PP
With \f[C]--new\f[R], for each FILE being read, hledger reads (and
writes) a special state file (\f[C].latest.FILE\f[R] 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 ignoring already-seen entries in import data, such as
downloaded CSV files.
Eg:
.IP
.nf
\f[C]
$ hledger -f bank1.csv print --new
(shows transactions added since last print --new on this file)
\f[R]
.fi
.PP
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.
.PP
This command also supports the output destination and output format
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
and (experimental) \f[C]json\f[R] and \f[C]sql\f[R].
.PP
Here\[aq]s an example of print\[aq]s CSV output:
.IP
.nf
\f[C]
$ hledger print -Ocsv
\[dq]txnidx\[dq],\[dq]date\[dq],\[dq]date2\[dq],\[dq]status\[dq],\[dq]code\[dq],\[dq]description\[dq],\[dq]comment\[dq],\[dq]account\[dq],\[dq]amount\[dq],\[dq]commodity\[dq],\[dq]credit\[dq],\[dq]debit\[dq],\[dq]posting-status\[dq],\[dq]posting-comment\[dq]
\[dq]1\[dq],\[dq]2008/01/01\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]income\[dq],\[dq]\[dq],\[dq]assets:bank:checking\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]1\[dq],\[dq]2008/01/01\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]income\[dq],\[dq]\[dq],\[dq]income:salary\[dq],\[dq]-1\[dq],\[dq]$\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]2\[dq],\[dq]2008/06/01\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]gift\[dq],\[dq]\[dq],\[dq]assets:bank:checking\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]2\[dq],\[dq]2008/06/01\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]gift\[dq],\[dq]\[dq],\[dq]income:gifts\[dq],\[dq]-1\[dq],\[dq]$\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]3\[dq],\[dq]2008/06/02\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]save\[dq],\[dq]\[dq],\[dq]assets:bank:saving\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]3\[dq],\[dq]2008/06/02\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]save\[dq],\[dq]\[dq],\[dq]assets:bank:checking\[dq],\[dq]-1\[dq],\[dq]$\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]4\[dq],\[dq]2008/06/03\[dq],\[dq]\[dq],\[dq]*\[dq],\[dq]\[dq],\[dq]eat & shop\[dq],\[dq]\[dq],\[dq]expenses:food\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]4\[dq],\[dq]2008/06/03\[dq],\[dq]\[dq],\[dq]*\[dq],\[dq]\[dq],\[dq]eat & shop\[dq],\[dq]\[dq],\[dq]expenses:supplies\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]4\[dq],\[dq]2008/06/03\[dq],\[dq]\[dq],\[dq]*\[dq],\[dq]\[dq],\[dq]eat & shop\[dq],\[dq]\[dq],\[dq]assets:cash\[dq],\[dq]-2\[dq],\[dq]$\[dq],\[dq]2\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]5\[dq],\[dq]2008/12/31\[dq],\[dq]\[dq],\[dq]*\[dq],\[dq]\[dq],\[dq]pay off\[dq],\[dq]\[dq],\[dq]liabilities:debts\[dq],\[dq]1\[dq],\[dq]$\[dq],\[dq]\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq]
\[dq]5\[dq],\[dq]2008/12/31\[dq],\[dq]\[dq],\[dq]*\[dq],\[dq]\[dq],\[dq]pay off\[dq],\[dq]\[dq],\[dq]assets:bank:checking\[dq],\[dq]-1\[dq],\[dq]$\[dq],\[dq]1\[dq],\[dq]\[dq],\[dq]\[dq],\[dq]\[dq]
\f[R]
.fi
.IP \[bu] 2
There is one CSV record per posting, with the parent transaction\[aq]s
fields repeated.
.IP \[bu] 2
The \[dq]txnidx\[dq] (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 order, etc.)
.IP \[bu] 2
The amount is separated into \[dq]commodity\[dq] (the symbol) and
\[dq]amount\[dq] (numeric quantity) fields.
.IP \[bu] 2
The numeric amount is repeated in either the \[dq]credit\[dq] or
\[dq]debit\[dq] column, for convenience.
(Those names are not accurate in the accounting sense; it just puts
negative amounts under credit and zero or greater amounts under debit.)
.SS print-unique
.PP
print-unique
.PD 0
.P
.PD
Print transactions which do not reuse an already-seen description.
.PP
Example:
.IP
.nf
\f[C]
$ cat unique.journal
1/1 test
(acct:one) 1
2/2 test
(acct:two) 2
$ LEDGER_FILE=unique.journal hledger print-unique
(-f option not supported)
2015/01/01 test
(acct:one) 1
\f[R]
.fi
.SS register
.PP
register, reg, r
.PD 0
.P
.PD
Show postings and their running total.
.PP
The register command displays matched postings, across all accounts, in
date order, with their running total or running historical balance.
(See also the \f[C]aregister\f[R] command, which shows matched
transactions in a specific account.)
.PP
register normally shows line per posting, but note that multi-commodity
amounts will occupy multiple lines (one line per commodity).
.PP
It is typically used with a query selecting a particular account, to see
that account\[aq]s activity:
.IP
.nf
\f[C]
$ hledger register checking
2008/01/01 income assets:bank:checking $1 $1
2008/06/01 gift assets:bank:checking $1 $2
2008/06/02 save assets:bank:checking $-1 $1
2008/12/31 pay off assets:bank:checking $-1 0
\f[R]
.fi
.PP
With --date2, it shows and sorts by secondary date instead.
.PP
The \f[C]--historical\f[R]/\f[C]-H\f[R] 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:
.IP
.nf
\f[C]
$ hledger register checking -b 2008/6 --historical
2008/06/01 gift assets:bank:checking $1 $2
2008/06/02 save assets:bank:checking $-1 $1
2008/12/31 pay off assets:bank:checking $-1 0
\f[R]
.fi
.PP
The \f[C]--depth\f[R] option limits the amount of sub-account detail
displayed.
.PP
The \f[C]--average\f[R]/\f[C]-A\f[R] 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 \f[C]--empty\f[R] (see below).
It is affected by \f[C]--historical\f[R].
It works best when showing just one account and one commodity.
.PP
The \f[C]--related\f[R]/\f[C]-r\f[R] flag shows the \f[I]other\f[R]
postings in the transactions of the postings which would normally be
shown.
.PP
The \f[C]--invert\f[R] flag negates all amounts.
For example, it can be used on an income account where amounts are
normally displayed as negative numbers.
It\[aq]s also useful to show postings on the checking account together
with the related account:
.IP
.nf
\f[C]
$ hledger register --related --invert assets:checking
\f[R]
.fi
.PP
With a reporting interval, register shows summary postings, one per
interval, aggregating the postings to each account:
.IP
.nf
\f[C]
$ hledger register --monthly income
2008/01 income:salary $-1 $-1
2008/06 income:gifts $-1 $-2
\f[R]
.fi
.PP
Periods with no activity, and summary postings with a zero amount, are
not shown by default; use the \f[C]--empty\f[R]/\f[C]-E\f[R] flag to see
them:
.IP
.nf
\f[C]
$ hledger register --monthly income -E
2008/01 income:salary $-1 $-1
2008/02 0 $-1
2008/03 0 $-1
2008/04 0 $-1
2008/05 0 $-1
2008/06 income:gifts $-1 $-2
2008/07 0 $-2
2008/08 0 $-2
2008/09 0 $-2
2008/10 0 $-2
2008/11 0 $-2
2008/12 0 $-2
\f[R]
.fi
.PP
Often, you\[aq]ll want to see just one line per interval.
The \f[C]--depth\f[R] option helps with this, causing subaccounts to be
aggregated:
.IP
.nf
\f[C]
$ hledger register --monthly assets --depth 1h
2008/01 assets $1 $1
2008/06 assets $-1 0
2008/12 assets $-1 $-1
\f[R]
.fi
.PP
Note when using report intervals, if you specify start/end dates these
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.
.SS Custom register output
.PP
register uses the full terminal width by default, except on windows.
You can override this by setting the \f[C]COLUMNS\f[R] environment
variable (not a bash shell variable) or by using the
\f[C]--width\f[R]/\f[C]-w\f[R] option.
.PP
The description and account columns normally share the space equally
(about half of (width - 40) each).
You can adjust this by adding a description width as part of
--width\[aq]s argument, comma-separated: \f[C]--width W,D\f[R] .
Here\[aq]s a diagram (won\[aq]t display correctly in --help):
.IP
.nf
\f[C]
<--------------------------------- width (W) ---------------------------------->
date (10) description (D) account (W-41-D) amount (12) balance (12)
DDDDDDDDDD dddddddddddddddddddd aaaaaaaaaaaaaaaaaaa AAAAAAAAAAAA AAAAAAAAAAAA
\f[R]
.fi
.PP
and some examples:
.IP
.nf
\f[C]
$ hledger reg # use terminal width (or 80 on windows)
$ hledger reg -w 100 # use width 100
$ COLUMNS=100 hledger reg # set with one-time environment variable
$ export COLUMNS=100; hledger reg # set till session end (or window resize)
$ hledger reg -w 100,40 # set overall width 100, description width 40
$ hledger reg -w $COLUMNS,40 # use terminal width, & description width 40
\f[R]
.fi
.PP
This command also supports the output destination and output format
options The output formats supported are \f[C]txt\f[R], \f[C]csv\f[R],
and (experimental) \f[C]json\f[R].
.SS register-match
.PP
register-match
.PD 0
.P
.PD
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-autosync detect already-seen transactions when importing.
.SS rewrite .SS rewrite
.PP .PP
rewrite rewrite
@ -4979,62 +4672,82 @@ For help on these, see https://github.com/feuerbach/tasty#options
(\f[C]-- --help\f[R] currently doesn\[aq]t show them). (\f[C]-- --help\f[R] currently doesn\[aq]t show them).
.SS Add-on commands .SS Add-on commands
.PP .PP
hledger also searches for external add-on commands, and will include Any programs or scripts in your PATH named named
these in the commands list. \f[C]hledger-SOMETHING\f[R] will also appear in the commands list (with
These are programs or scripts in your PATH whose name starts with a \f[C]+\f[R] mark).
\f[C]hledger-\f[R] and ends with a recognised file extension (currently: These are called add-on commands.
no extension, \f[C]bat\f[R],\f[C]com\f[R],\f[C]exe\f[R],
\f[C]hs\f[R],\f[C]lhs\f[R],\f[C]pl\f[R],\f[C]py\f[R],\f[C]rb\f[R],\f[C]rkt\f[R],\f[C]sh\f[R]).
.PP .PP
Add-ons can be invoked like any hledger command, but there are a few These offical add-ons are maintained and released along with hledger:
things to be aware of.
Eg if the \f[C]hledger-web\f[R] add-on is installed,
.IP \[bu] 2 .IP \[bu] 2
\f[C]hledger -h web\f[R] shows hledger\[aq]s help, while ui an efficient terminal interface for hledger (TUI)
.IP \[bu] 2
web a simple web interface for hledger (WUI)
.PP
These add-ons are maintained separately:
.IP \[bu] 2
iadd a more interactive alternative for the add command
.IP \[bu] 2
interest generates interest transactions according to various schemes
.IP \[bu] 2
stockquotes downloads market prices for your commodities from
AlphaVantage \f[I](experimental)\f[R]
.PP
Additional experimental add-ons, which may not be in a working state,
can be found in the bin/ directory in the hledger repo.
.SS Add-on command flags
.PP
In a hledger command line, add-on command flags must have a double dash
(\f[C]--\f[R]) preceding them.
Eg you must write:
.IP
.nf
\f[C]
$ hledger web -- --serve
\f[R]
.fi
.PP
and not:
.IP
.nf
\f[C]
$ hledger web --serve
\f[R]
.fi
.PP
(because the \f[C]--serve\f[R] flag belongs to \f[C]hledger-web\f[R],
not \f[C]hledger\f[R]).
.PP
The \f[C]-h/--help\f[R] and \f[C]--version\f[R] flags work without
\f[C]--\f[R], with their position deciding which program they refer to.
Eg \f[C]hledger -h web\f[R] shows hledger\[aq]s help,
\f[C]hledger web -h\f[R] shows hledger-web\[aq]s help. \f[C]hledger web -h\f[R] shows hledger-web\[aq]s help.
.PP
If you have any trouble with this, remember you can always run the
add-on program directly, eg:
.IP
.nf
\f[C]
$ hledger-web --serve
\f[R]
.fi
.SS Making add-on commands
.PP
Add-on commands are programs or scripts in your PATH
.IP \[bu] 2 .IP \[bu] 2
Flags specific to the add-on must have a preceding \f[C]--\f[R] to hide whose name starts with \f[C]hledger-\f[R]
them from hledger.
So \f[C]hledger web --serve --port 9000\f[R] will be rejected; you must
use \f[C]hledger web -- --serve --port 9000\f[R].
.IP \[bu] 2 .IP \[bu] 2
You can always run add-ons directly if preferred: whose name ends with a recognised file extension:
\f[C]hledger-web --serve --port 9000\f[R]. \f[C].bat\f[R],\f[C].com\f[R],\f[C].exe\f[R],
\f[C].hs\f[R],\f[C].lhs\f[R],\f[C].pl\f[R],\f[C].py\f[R],\f[C].rb\f[R],\f[C].rkt\f[R],\f[C].sh\f[R]
or none
.IP \[bu] 2
and (on unix, mac) which are executable by the current user.
.PP .PP
Add-ons are a relatively easy way to add local features or experiment Add-ons are a relatively easy way to add local features or experiment
with new ideas. with new ideas.
They can be written in any language, but haskell scripts have a big They can be written in any language, but haskell scripts have a big
advantage: they can use the same hledger (and haskell) library functions advantage: they can use the same hledger library functions that built-in
that built-in commands do, for command-line options, journal parsing, commands use for command-line options, parsing and reporting.
reporting, etc.
.PP
Two important add-ons are the hledger-ui and hledger-web user
interfaces.
These are maintained and released along with hledger:
.SS ui
.PP
hledger-ui provides an efficient terminal interface.
.SS web
.PP
hledger-web provides a simple web interface.
.PP
Third party add-ons, maintained separately from hledger, include:
.SS iadd
.PP
hledger-iadd is a more interactive, terminal UI replacement for the add
command.
.SS interest
.PP
hledger-interest generates interest transactions for an account
according to various schemes.
.SS stockquotes
.PP
hledger-stockquotes downloads market prices for the commodities in your
journal from AlphaVantage.
.PP
A few more experimental or old add-ons can be found in hledger\[aq]s
bin/ directory.
These are typically prototypes and not guaranteed to work.
.SH ENVIRONMENT .SH ENVIRONMENT
.PP .PP
\f[B]LEDGER_FILE\f[R] The journal file path when not specified with \f[B]LEDGER_FILE\f[R] The journal file path when not specified with
@ -5214,6 +4927,6 @@ Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
.SH SEE ALSO .SH SEE ALSO
hledger(1), hledger\-ui(1), hledger\-web(1), hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1)
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff