;update manuals

This commit is contained in:
Simon Michael 2020-12-08 20:10:54 -08:00
parent a2bc7f95f0
commit 6723025607
18 changed files with 1242 additions and 1239 deletions

View File

@ -1290,13 +1290,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

View File

@ -60,11 +60,37 @@ 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: CSV RULES, Prev: Top, Up: Top File: hledger_csv.info, Node: EXAMPLES, Next: Basic, Prev: Top, Up: Top
1 EXAMPLES 1 EXAMPLES
********** **********
@ -73,18 +99,11 @@ 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:
* Basic::
* Bank of Ireland::
* Amazon::
* Paypal::
 
File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Up: EXAMPLES File: hledger_csv.info, Node: Basic, Next: Bank of Ireland, Prev: EXAMPLES, Up: Top
1.1 Basic 2 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
@ -106,10 +125,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: EXAMPLES File: hledger_csv.info, Node: Bank of Ireland, Next: Amazon, Prev: Basic, Up: Top
1.2 Bank of Ireland 3 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
@ -159,10 +178,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: EXAMPLES File: hledger_csv.info, Node: Amazon, Next: Paypal, Prev: Bank of Ireland, Up: Top
1.3 Amazon 4 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
@ -217,10 +236,10 @@ $ hledger -f amazon-orders.csv print
expenses:fees $1.00 expenses:fees $1.00
 
File: hledger_csv.info, Node: Paypal, Prev: Amazon, Up: EXAMPLES File: hledger_csv.info, Node: Paypal, Next: CSV RULES, Prev: Amazon, Up: Top
1.4 Paypal 5 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:
@ -371,34 +390,19 @@ $ 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: TIPS, Prev: EXAMPLES, Up: Top File: hledger_csv.info, Node: CSV RULES, Next: skip, Prev: Paypal, Up: Top
2 CSV RULES 6 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:
* 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 File: hledger_csv.info, Node: skip, Next: fields, Prev: CSV RULES, Up: Top
2.1 'skip' 7 'skip'
========== ********
skip N skip N
@ -411,10 +415,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: CSV RULES File: hledger_csv.info, Node: fields, Next: field assignment, Prev: skip, Up: Top
2.2 'fields' 8 'fields'
============ **********
fields FIELDNAME1, FIELDNAME2, ... fields FIELDNAME1, FIELDNAME2, ...
@ -453,8 +457,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
2.2.1 Transaction field names 8.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.
@ -462,8 +466,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
2.2.2 Posting field names 8.2 Posting field names
------------------------- =======================
* Menu: * Menu:
@ -476,8 +480,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
2.2.2.1 account 8.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.
@ -494,8 +498,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
2.2.2.2 amount 8.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'
@ -521,8 +525,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
2.2.2.3 currency 8.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
@ -531,8 +535,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
2.2.2.4 balance 8.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.
@ -546,8 +550,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
2.2.2.5 comment 8.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.
@ -555,10 +559,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: CSV RULES File: hledger_csv.info, Node: field assignment, Next: separator, Prev: fields, Up: Top
2.3 field assignment 9 field assignment
==================== ******************
HLEDGERFIELDNAME FIELDVALUE HLEDGERFIELDNAME FIELDVALUE
@ -580,10 +584,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: CSV RULES File: hledger_csv.info, Node: separator, Next: if block, Prev: field assignment, Up: Top
2.4 'separator' 10 '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
@ -605,10 +609,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: CSV RULES File: hledger_csv.info, Node: if block, Next: if table, Prev: separator, Up: Top
2.5 'if' block 11 'if' block
============== *************
if MATCHER if MATCHER
RULE RULE
@ -635,8 +639,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
2.5.1 Matching the whole record 11.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:
@ -658,8 +662,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
2.5.2 Matching individual fields 11.2 Matching individual fields
-------------------------------- ===============================
Or, MATCHER can be a field matcher, like this: Or, MATCHER can be a field matcher, like this:
@ -672,8 +676,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
2.5.3 Combining matchers 11.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.
@ -689,8 +693,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
2.5.4 Rules applied on successful match 11.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
@ -715,10 +719,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: CSV RULES File: hledger_csv.info, Node: if table, Next: end, Prev: if block, Up: Top
2.6 'if' table 12 'if' table
============== *************
if,CSVFIELDNAME1,CSVFIELDNAME2,...,CSVFIELDNAMEn if,CSVFIELDNAME1,CSVFIELDNAME2,...,CSVFIELDNAMEn
MATCHER1,VALUE11,VALUE12,...,VALUE1n MATCHER1,VALUE11,VALUE12,...,VALUE1n
@ -776,10 +780,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: CSV RULES File: hledger_csv.info, Node: end, Next: date-format, Prev: if table, Up: Top
2.7 'end' 13 '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
@ -790,10 +794,10 @@ if ,,,,
end end
 
File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: CSV RULES File: hledger_csv.info, Node: date-format, Next: decimal-mark, Prev: end, Up: Top
2.8 'date-format' 14 'date-format'
================= ****************
date-format DATEFMT date-format DATEFMT
@ -821,10 +825,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: CSV RULES File: hledger_csv.info, Node: decimal-mark, Next: newest-first, Prev: date-format, Up: Top
2.9 'decimal-mark' 15 'decimal-mark'
================== *****************
decimal-mark . decimal-mark .
@ -839,10 +843,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: CSV RULES File: hledger_csv.info, Node: newest-first, Next: include, Prev: decimal-mark, Up: Top
2.10 'newest-first' 16 '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,
@ -861,10 +865,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: CSV RULES File: hledger_csv.info, Node: include, Next: balance-type, Prev: newest-first, Up: Top
2.11 'include' 17 'include'
============== ************
include RULESFILE include RULESFILE
@ -875,19 +879,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, Prev: include, Up: CSV RULES File: hledger_csv.info, Node: balance-type, Next: TIPS, Prev: include, Up: Top
2.12 'balance-type' 18 '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
@ -907,29 +911,16 @@ balance-type ==*
==* multi commodity, include subaccounts ==* multi commodity, include subaccounts
 
File: hledger_csv.info, Node: TIPS, Prev: CSV RULES, Up: Top File: hledger_csv.info, Node: TIPS, Next: Rapid feedback, Prev: balance-type, Up: Top
3 TIPS 19 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, Up: TIPS File: hledger_csv.info, Node: Rapid feedback, Next: Valid CSV, Prev: TIPS, Up: Top
3.1 Rapid feedback 20 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
@ -943,10 +934,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: TIPS File: hledger_csv.info, Node: Valid CSV, Next: File Extension, Prev: Rapid feedback, Up: Top
3.2 Valid CSV 21 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:
@ -955,10 +946,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: TIPS File: hledger_csv.info, Node: File Extension, Next: Reading multiple CSV files, Prev: Valid CSV, Up: Top
3.3 File Extension 22 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
@ -975,10 +966,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: TIPS File: hledger_csv.info, Node: Reading multiple CSV files, Next: Valid transactions, Prev: File Extension, Up: Top
3.4 Reading multiple CSV files 23 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
@ -986,10 +977,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: TIPS File: hledger_csv.info, Node: Valid transactions, Next: Deduplicating importing, Prev: Reading multiple CSV files, Up: Top
3.5 Valid transactions 24 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
@ -1005,10 +996,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: TIPS File: hledger_csv.info, Node: Deduplicating importing, Next: Setting amounts, Prev: Valid transactions, Up: Top
3.6 Deduplicating, importing 25 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
@ -1035,10 +1026,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: TIPS File: hledger_csv.info, Node: Setting amounts, Next: Setting currency/commodity, Prev: Deduplicating importing, Up: Top
3.7 Setting amounts 26 Setting amounts
=================== ******************
A posting amount can be set in one of these ways: A posting amount can be set in one of these ways:
@ -1064,10 +1055,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: TIPS File: hledger_csv.info, Node: Setting currency/commodity, Next: Referencing other fields, Prev: Setting amounts, Up: Top
3.8 Setting currency/commodity 27 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):
@ -1112,10 +1103,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: TIPS File: hledger_csv.info, Node: Referencing other fields, Next: How CSV rules are evaluated, Prev: Setting currency/commodity, Up: Top
3.9 Referencing other fields 28 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
@ -1149,10 +1140,10 @@ if something
comment C comment C
 
File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: TIPS File: hledger_csv.info, Node: How CSV rules are evaluated, Prev: Referencing other fields, Up: Top
3.10 How CSV rules are evaluated 29 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,
@ -1192,86 +1183,86 @@ command the user specified.
 
Tag Table: Tag Table:
Node: Top72 Node: Top72
Node: EXAMPLES2787 Node: EXAMPLES3253
Ref: #examples2893 Ref: #examples3355
Node: Basic3101 Node: Basic3501
Ref: #basic3201 Ref: #basic3609
Node: Bank of Ireland3743 Node: Bank of Ireland4151
Ref: #bank-of-ireland3878 Ref: #bank-of-ireland4277
Node: Amazon5340 Node: Amazon5739
Ref: #amazon5458 Ref: #amazon5848
Node: Paypal7177 Node: Paypal7567
Ref: #paypal7271 Ref: #paypal7670
Node: CSV RULES14915 Node: CSV RULES15314
Ref: #csv-rules15024 Ref: #csv-rules15421
Node: skip15336 Node: skip15555
Ref: #skip15429 Ref: #skip15656
Node: fields15804 Node: fields16031
Ref: #fields15926 Ref: #fields16143
Node: Transaction field names17091 Node: Transaction field names17308
Ref: #transaction-field-names17251 Ref: #transaction-field-names17464
Node: Posting field names17362 Node: Posting field names17575
Ref: #posting-field-names17514 Ref: #posting-field-names17723
Node: account17584 Node: account17793
Ref: #account17700 Ref: #account17905
Node: amount18237 Node: amount18442
Ref: #amount18368 Ref: #amount18569
Node: currency19475 Node: currency19676
Ref: #currency19610 Ref: #currency19807
Node: balance19816 Node: balance20013
Ref: #balance19950 Ref: #balance20143
Node: comment20267 Node: comment20460
Ref: #comment20384 Ref: #comment20573
Node: field assignment20547 Node: field assignment20736
Ref: #field-assignment20690 Ref: #field-assignment20869
Node: separator21508 Node: separator21687
Ref: #separator21643 Ref: #separator21814
Node: if block22183 Node: if block22354
Ref: #if-block22308 Ref: #if-block22471
Node: Matching the whole record22709 Node: Matching the whole record22872
Ref: #matching-the-whole-record22884 Ref: #matching-the-whole-record23045
Node: Matching individual fields23688 Node: Matching individual fields23849
Ref: #matching-individual-fields23892 Ref: #matching-individual-fields24051
Node: Combining matchers24116 Node: Combining matchers24275
Ref: #combining-matchers24312 Ref: #combining-matchers24469
Node: Rules applied on successful match24625 Node: Rules applied on successful match24782
Ref: #rules-applied-on-successful-match24816 Ref: #rules-applied-on-successful-match24971
Node: if table25470 Node: if table25625
Ref: #if-table25589 Ref: #if-table25736
Node: end27327 Node: end27474
Ref: #end27439 Ref: #end27578
Node: date-format27663 Node: date-format27802
Ref: #date-format27795 Ref: #date-format27926
Node: decimal-mark28544 Node: decimal-mark28675
Ref: #decimal-mark28687 Ref: #decimal-mark28810
Node: newest-first29026 Node: newest-first29149
Ref: #newest-first29167 Ref: #newest-first29280
Node: include29850 Node: include29963
Ref: #include29981 Ref: #include30084
Node: balance-type30425 Node: balance-type30526
Ref: #balance-type30545 Ref: #balance-type30649
Node: TIPS31245 Node: TIPS31349
Ref: #tips31327 Ref: #tips31459
Node: Rapid feedback31583 Node: Rapid feedback31459
Ref: #rapid-feedback31700 Ref: #rapid-feedback31586
Node: Valid CSV32160 Node: Valid CSV32046
Ref: #valid-csv32290 Ref: #valid-csv32173
Node: File Extension32482 Node: File Extension32365
Ref: #file-extension32634 Ref: #file-extension32514
Node: Reading multiple CSV files33063 Node: Reading multiple CSV files32943
Ref: #reading-multiple-csv-files33248 Ref: #reading-multiple-csv-files33125
Node: Valid transactions33489 Node: Valid transactions33366
Ref: #valid-transactions33667 Ref: #valid-transactions33541
Node: Deduplicating importing34295 Node: Deduplicating importing34169
Ref: #deduplicating-importing34474 Ref: #deduplicating-importing34345
Node: Setting amounts35507 Node: Setting amounts35378
Ref: #setting-amounts35676 Ref: #setting-amounts35544
Node: Setting currency/commodity36663 Node: Setting currency/commodity36531
Ref: #setting-currencycommodity36855 Ref: #setting-currencycommodity36720
Node: Referencing other fields38029 Node: Referencing other fields37894
Ref: #referencing-other-fields38229 Ref: #referencing-other-fields38091
Node: How CSV rules are evaluated39126 Node: How CSV rules are evaluated38988
Ref: #how-csv-rules-are-evaluated39299 Ref: #how-csv-rules-are-evaluated39156
 
End Tag Table End Tag Table

View File

@ -946,16 +946,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -2144,13 +2144,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

File diff suppressed because it is too large Load Diff

View File

@ -1563,16 +1563,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -80,13 +80,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

View File

@ -65,16 +65,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -189,13 +189,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

View File

@ -148,16 +148,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -500,13 +500,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

View File

@ -38,6 +38,10 @@ enable "forecast mode".
* OPTIONS:: * OPTIONS::
* keys:: * keys::
* screens:: * screens::
* accounts screen::
* Register screen::
* Transaction screen::
* Error screen::
* ENVIRONMENT:: * ENVIRONMENT::
* FILES:: * FILES::
* BUGS:: * BUGS::
@ -306,23 +310,16 @@ exit the transaction screen.
additional screen-specific keys are described below. additional screen-specific keys are described below.
 
File: hledger-ui.info, Node: screens, Next: ENVIRONMENT, Prev: keys, Up: Top File: hledger-ui.info, Node: screens, Next: accounts screen, 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, Up: screens File: hledger-ui.info, Node: accounts screen, Next: Register screen, Prev: screens, Up: Top
3.1 accounts screen 4 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
@ -368,10 +365,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: screens File: hledger-ui.info, Node: Register screen, Next: Transaction screen, Prev: accounts screen, Up: Top
3.2 Register screen 5 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:
@ -415,10 +412,10 @@ command-line hledger).
detail. detail.
 
File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: screens File: hledger-ui.info, Node: Transaction screen, Next: Error screen, Prev: Register screen, Up: Top
3.3 Transaction screen 6 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
@ -439,10 +436,10 @@ unfiltered journal, which is a more stable id (at least until the next
reload). reload).
 
File: hledger-ui.info, Node: Error screen, Prev: Transaction screen, Up: screens File: hledger-ui.info, Node: Error screen, Next: ENVIRONMENT, Prev: Transaction screen, Up: Top
3.4 Error screen 7 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
@ -450,9 +447,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: screens, Up: Top File: hledger-ui.info, Node: ENVIRONMENT, Next: FILES, Prev: Error screen, Up: Top
4 ENVIRONMENT 8 ENVIRONMENT
************* *************
*COLUMNS* The screen width to use. Default: the full terminal width. *COLUMNS* The screen width to use. Default: the full terminal width.
@ -480,7 +477,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
5 FILES 9 FILES
******* *******
Reads data from one or more files in hledger journal, timeclock, Reads data from one or more files in hledger journal, timeclock,
@ -491,8 +488,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
6 BUGS 10 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.
@ -519,26 +516,26 @@ program is restarted.
 
Tag Table: Tag Table:
Node: Top71 Node: Top71
Node: OPTIONS1470 Node: OPTIONS1550
Ref: #options1567 Ref: #options1647
Node: keys5634 Node: keys5714
Ref: #keys5729 Ref: #keys5809
Node: screens10061 Node: screens10141
Ref: #screens10166 Ref: #screens10250
Node: accounts screen10256 Node: accounts screen10250
Ref: #accounts-screen10384 Ref: #accounts-screen10386
Node: Register screen12599 Node: Register screen12601
Ref: #register-screen12754 Ref: #register-screen12748
Node: Transaction screen14751 Node: Transaction screen14745
Ref: #transaction-screen14909 Ref: #transaction-screen14895
Node: Error screen15779 Node: Error screen15765
Ref: #error-screen15901 Ref: #error-screen15899
Node: ENVIRONMENT16145 Node: ENVIRONMENT16143
Ref: #environment16259 Ref: #environment16262
Node: FILES17066 Node: FILES17069
Ref: #files17165 Ref: #files17168
Node: BUGS17378 Node: BUGS17381
Ref: #bugs17455 Ref: #bugs17460
 
End Tag Table End Tag Table

View File

@ -447,16 +447,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -605,13 +605,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

View File

@ -540,16 +540,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org

View File

@ -663,9 +663,9 @@ options, run: \f[C]hledger COMMAND -h\f[R].
Command-specific options must be written after the command name, eg: Command-specific options must be written after the command name, eg:
\f[C]hledger print -x\f[R]. \f[C]hledger print -x\f[R].
.PP .PP
Additionally, if the command is an addon, you may need to put its Additionally, if the command is an add-on, you may need to put its
options after a double-hyphen, eg: \f[C]hledger ui -- --watch\f[R]. options after a double-hyphen, eg: \f[C]hledger ui -- --watch\f[R].
Or, you can run the addon executable directly: Or, you can run the add-on executable directly:
\f[C]hledger-ui --watch\f[R]. \f[C]hledger-ui --watch\f[R].
.SS Command arguments .SS Command arguments
.PP .PP
@ -861,9 +861,10 @@ or:
\f[C]hledger balance cur:\[rs]\[rs]$\f[R] \f[C]hledger balance cur:\[rs]\[rs]$\f[R]
.SS Even more escaping .SS Even more escaping
.PP .PP
When hledger runs an addon executable (eg you type \f[C]hledger ui\f[R], When hledger runs an add-on executable (eg you type
hledger runs \f[C]hledger-ui\f[R]), it de-escapes command-line options \f[C]hledger ui\f[R], hledger runs \f[C]hledger-ui\f[R]), it de-escapes
and arguments once, so you might need to \f[I]triple\f[R]-escape. command-line options and arguments once, so you might need to
\f[I]triple\f[R]-escape.
Eg in bash, running the ui command and matching the dollar sign, Eg in bash, running the ui command and matching the dollar sign,
it\[aq]s: it\[aq]s:
.PP .PP
@ -903,8 +904,8 @@ T}
(The number of backslashes in fish shell is left as an exercise for the (The number of backslashes in fish shell is left as an exercise for the
reader.) reader.)
.PP .PP
You can always avoid the extra escaping for addons by running the addon You can always avoid the extra escaping for add-ons by running the
directly: add-on directly:
.PP .PP
\f[C]hledger-ui cur:\[rs]\[rs]$\f[R] \f[C]hledger-ui cur:\[rs]\[rs]$\f[R]
.SS Less escaping .SS Less escaping
@ -3595,7 +3596,7 @@ the old \f[C]check-dates\f[R] command)
.IP \[bu] 2 .IP \[bu] 2
\f[B]uniqueleafnames\f[R] - all account leaf names are unique (similar \f[B]uniqueleafnames\f[R] - all account leaf names are unique (similar
to the old \f[C]check-dupes\f[R] command) to the old \f[C]check-dupes\f[R] command)
.SS Addon checks .SS Add-on checks
.PP .PP
Some checks are not yet integrated with this command, but are available Some checks are not yet integrated with this command, but are available
as add-on commands in as add-on commands in
@ -5026,6 +5027,10 @@ command.
.PP .PP
hledger-interest generates interest transactions for an account hledger-interest generates interest transactions for an account
according to various schemes. according to various schemes.
.SS stockquotes
.PP
hledger-stockquotes downloads market prices for the commodities in your
journal from AlphaVantage.
.PP .PP
A few more experimental or old add-ons can be found in hledger\[aq]s A few more experimental or old add-ons can be found in hledger\[aq]s
bin/ directory. bin/ directory.
@ -5072,8 +5077,8 @@ timedot, or CSV format specified with \f[C]-f\f[R], or
perhaps \f[C]C:/Users/USER/.hledger.journal\f[R]). perhaps \f[C]C:/Users/USER/.hledger.journal\f[R]).
.SH LIMITATIONS .SH LIMITATIONS
.PP .PP
The need to precede addon command options with \f[C]--\f[R] when invoked The need to precede add-on command options with \f[C]--\f[R] when
from hledger is awkward. invoked from hledger is awkward.
.PP .PP
When input data contains non-ascii characters, a suitable system locale When input data contains non-ascii characters, a suitable system locale
must be configured (or there will be an unhelpful error). must be configured (or there will be an unhelpful error).
@ -5204,13 +5209,11 @@ Simon Michael <simon@joyful.com> and contributors
.SH COPYRIGHT .SH COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
.br .br
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\-api(1), hledger(1), hledger\-ui(1), hledger\-web(1),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5),
ledger(1) ledger(1)
http://hledger.org

File diff suppressed because it is too large Load Diff

View File

@ -561,9 +561,9 @@ OPTIONS
Command-specific options must be written after the command name, eg: Command-specific options must be written after the command name, eg:
hledger print -x. hledger print -x.
Additionally, if the command is an addon, you may need to put its op- Additionally, if the command is an add-on, you may need to put its op-
tions after a double-hyphen, eg: hledger ui -- --watch. Or, you can tions after a double-hyphen, eg: hledger ui -- --watch. Or, you can
run the addon executable directly: hledger-ui --watch. run the add-on executable directly: hledger-ui --watch.
Command arguments Command arguments
Most hledger commands accept arguments after the command name, which Most hledger commands accept arguments after the command name, which
@ -729,7 +729,7 @@ OPTIONS
hledger balance cur:\\$ hledger balance cur:\\$
Even more escaping Even more escaping
When hledger runs an addon executable (eg you type hledger ui, hledger When hledger runs an add-on executable (eg you type hledger ui, hledger
runs hledger-ui), it de-escapes command-line options and arguments runs hledger-ui), it de-escapes command-line options and arguments
once, so you might need to triple-escape. Eg in bash, running the ui once, so you might need to triple-escape. Eg in bash, running the ui
command and matching the dollar sign, it's: command and matching the dollar sign, it's:
@ -750,8 +750,8 @@ OPTIONS
(The number of backslashes in fish shell is left as an exercise for the (The number of backslashes in fish shell is left as an exercise for the
reader.) reader.)
You can always avoid the extra escaping for addons by running the addon You can always avoid the extra escaping for add-ons by running the add-
directly: on directly:
hledger-ui cur:\\$ hledger-ui cur:\\$
@ -2600,7 +2600,7 @@ COMMANDS
o uniqueleafnames - all account leaf names are unique (similar to the o uniqueleafnames - all account leaf names are unique (similar to the
old check-dupes command) old check-dupes command)
Addon checks Add-on checks
Some checks are not yet integrated with this command, but are available Some checks are not yet integrated with this command, but are available
as add-on commands in https://github.com/simonmichael/hledger/tree/mas- as add-on commands in https://github.com/simonmichael/hledger/tree/mas-
ter/bin: ter/bin:
@ -3690,20 +3690,24 @@ COMMANDS
hledger-interest generates interest transactions for an account accord- hledger-interest generates interest transactions for an account accord-
ing to various schemes. ing to various schemes.
A few more experimental or old add-ons can be found in hledger's bin/ stockquotes
hledger-stockquotes downloads market prices for the commodities in your
journal from AlphaVantage.
A few more experimental or old add-ons can be found in hledger's bin/
directory. These are typically prototypes and not guaranteed to work. directory. These are typically prototypes and not guaranteed to work.
ENVIRONMENT ENVIRONMENT
LEDGER_FILE The journal file path when not specified with -f. Default: LEDGER_FILE The journal file path when not specified with -f. Default:
~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour- ~/.hledger.journal (on windows, perhaps C:/Users/USER/.hledger.jour-
nal). nal).
A typical value is ~/DIR/YYYY.journal, where DIR is a version-con- A typical value is ~/DIR/YYYY.journal, where DIR is a version-con-
trolled finance directory and YYYY is the current year. Or ~/DIR/cur- trolled finance directory and YYYY is the current year. Or ~/DIR/cur-
rent.journal, where current.journal is a symbolic link to YYYY.journal. rent.journal, where current.journal is a symbolic link to YYYY.journal.
On Mac computers, you can set this and other environment variables in a On Mac computers, you can set this and other environment variables in a
more thorough way that also affects applications started from the GUI more thorough way that also affects applications started from the GUI
(say, an Emacs dock icon). Eg on MacOS Catalina I have a ~/.MacOSX/en- (say, an Emacs dock icon). Eg on MacOS Catalina I have a ~/.MacOSX/en-
vironment.plist file containing vironment.plist file containing
@ -3713,21 +3717,21 @@ ENVIRONMENT
To see the effect you may need to killall Dock, or reboot. To see the effect you may need to killall Dock, or reboot.
COLUMNS The screen width used by the register command. Default: the COLUMNS The screen width used by the register command. Default: the
full terminal width. full terminal width.
NO_COLOR If this variable exists with any value, hledger will not use NO_COLOR If this variable exists with any value, hledger will not use
ANSI color codes in terminal output. This overrides the ANSI color codes in terminal output. This overrides the
--color/--colour option. --color/--colour option.
FILES FILES
Reads data from one or more files in hledger journal, timeclock, time- Reads data from one or more files in hledger journal, timeclock, time-
dot, or CSV format specified with -f, or $LEDGER_FILE, or dot, or CSV format specified with -f, or $LEDGER_FILE, or
$HOME/.hledger.journal (on windows, perhaps $HOME/.hledger.journal (on windows, perhaps
C:/Users/USER/.hledger.journal). C:/Users/USER/.hledger.journal).
LIMITATIONS LIMITATIONS
The need to precede addon command options with -- when invoked from The need to precede add-on command options with -- when invoked from
hledger is awkward. hledger is awkward.
When input data contains non-ascii characters, a suitable system locale When input data contains non-ascii characters, a suitable system locale
@ -3743,36 +3747,36 @@ LIMITATIONS
In a Cygwin/MSYS/Mintty window, the tab key is not supported in hledger In a Cygwin/MSYS/Mintty window, the tab key is not supported in hledger
add. add.
Not all of Ledger's journal file syntax is supported. See file format Not all of Ledger's journal file syntax is supported. See file format
differences. differences.
On large data files, hledger is slower and uses more memory than On large data files, hledger is slower and uses more memory than
Ledger. Ledger.
TROUBLESHOOTING TROUBLESHOOTING
Here are some issues you might encounter when you run hledger (and re- Here are some issues you might encounter when you run hledger (and re-
member you can also seek help from the IRC channel, mail list or bug member you can also seek help from the IRC channel, mail list or bug
tracker): tracker):
Successfully installed, but "No command 'hledger' found" Successfully installed, but "No command 'hledger' found"
stack and cabal install binaries into a special directory, which should stack and cabal install binaries into a special directory, which should
be added to your PATH environment variable. Eg on unix-like systems, be added to your PATH environment variable. Eg on unix-like systems,
that is ~/.local/bin and ~/.cabal/bin respectively. that is ~/.local/bin and ~/.cabal/bin respectively.
I set a custom LEDGER_FILE, but hledger is still using the default file I set a custom LEDGER_FILE, but hledger is still using the default file
LEDGER_FILE should be a real environment variable, not just a shell LEDGER_FILE should be a real environment variable, not just a shell
variable. The command env | grep LEDGER_FILE should show it. You may variable. The command env | grep LEDGER_FILE should show it. You may
need to use export. Here's an explanation. need to use export. Here's an explanation.
Getting errors like "Illegal byte sequence" or "Invalid or incomplete Getting errors like "Illegal byte sequence" or "Invalid or incomplete
multibyte or wide character" or "commitAndReleaseBuffer: invalid argu- multibyte or wide character" or "commitAndReleaseBuffer: invalid argu-
ment (invalid character)" ment (invalid character)"
Programs compiled with GHC (hledger, haskell build tools, etc.) need to Programs compiled with GHC (hledger, haskell build tools, etc.) need to
have a UTF-8-aware locale configured in the environment, otherwise they have a UTF-8-aware locale configured in the environment, otherwise they
will fail with these kinds of errors when they encounter non-ascii will fail with these kinds of errors when they encounter non-ascii
characters. characters.
To fix it, set the LANG environment variable to some locale which sup- To fix it, set the LANG environment variable to some locale which sup-
ports UTF-8. The locale you choose must be installed on your system. ports UTF-8. The locale you choose must be installed on your system.
Here's an example of setting LANG temporarily, on Ubuntu GNU/Linux: Here's an example of setting LANG temporarily, on Ubuntu GNU/Linux:
@ -3787,8 +3791,8 @@ TROUBLESHOOTING
POSIX POSIX
$ LANG=en_US.utf8 hledger -f my.journal print # ensure it is used for this command $ LANG=en_US.utf8 hledger -f my.journal print # ensure it is used for this command
If available, C.UTF-8 will also work. If your preferred locale isn't If available, C.UTF-8 will also work. If your preferred locale isn't
listed by locale -a, you might need to install it. Eg on Ubuntu/De- listed by locale -a, you might need to install it. Eg on Ubuntu/De-
bian: bian:
$ apt-get install language-pack-fr $ apt-get install language-pack-fr
@ -3808,8 +3812,8 @@ TROUBLESHOOTING
$ echo "export LANG=en_US.utf8" >>~/.bash_profile $ echo "export LANG=en_US.utf8" >>~/.bash_profile
$ bash --login $ bash --login
Exact spelling and capitalisation may be important. Note the differ- Exact spelling and capitalisation may be important. Note the differ-
ence on MacOS (UTF-8, not utf8). Some platforms (eg ubuntu) allow ence on MacOS (UTF-8, not utf8). Some platforms (eg ubuntu) allow
variant spellings, but others (eg macos) require it to be exact: variant spellings, but others (eg macos) require it to be exact:
$ locale -a | grep -iE en_us.*utf $ locale -a | grep -iE en_us.*utf
@ -3819,7 +3823,7 @@ TROUBLESHOOTING
REPORTING BUGS REPORTING BUGS
Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel Report bugs at http://bugs.hledger.org (or on the #hledger IRC channel
or hledger mail list) or hledger mail list)
@ -3828,16 +3832,13 @@ AUTHORS
COPYRIGHT COPYRIGHT
Copyright (C) 2007-2019 Simon Michael. Copyright (C) 2007-2020 Simon Michael.
Released under GNU GPL v3 or later. Released under GNU GPL v3 or later.
SEE ALSO SEE ALSO
hledger(1), hledger-ui(1), hledger-web(1), hledger-api(1), hledger(1), hledger-ui(1), hledger-web(1), hledger_csv(5),
hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1)
dot(5), ledger(1)
http://hledger.org