;update manuals
This commit is contained in:
		
							parent
							
								
									a024ac14a9
								
							
						
					
					
						commit
						324dfaee49
					
				| @ -1,12 +1,12 @@ | ||||
| .\"t | ||||
| 
 | ||||
| .TH "hledger_csv" "5" "December 2020" "hledger 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER_CSV" "5" "December 2020" "hledger-lib-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .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 | ||||
| .PP | ||||
| 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. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -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) | ||||
| 
 | ||||
| hledger_csv(5) hledger 1.20.99 | ||||
| ****************************** | ||||
| 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 | ||||
| comma, semicolon, or tab) containing dated records as if they were | ||||
| @ -60,37 +60,11 @@ below. | ||||
| * Menu: | ||||
| 
 | ||||
| * EXAMPLES:: | ||||
| * Basic:: | ||||
| * Bank of Ireland:: | ||||
| * Amazon:: | ||||
| * Paypal:: | ||||
| * CSV RULES:: | ||||
| * skip:: | ||||
| * fields:: | ||||
| * field assignment:: | ||||
| * separator:: | ||||
| * if block:: | ||||
| * if table:: | ||||
| * end:: | ||||
| * date-format:: | ||||
| * decimal-mark:: | ||||
| * newest-first:: | ||||
| * include:: | ||||
| * balance-type:: | ||||
| * 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 | ||||
| ********** | ||||
| @ -99,11 +73,18 @@ Here are some sample hledger CSV rules files.  See also the full | ||||
| collection at: | ||||
| https://github.com/simonmichael/hledger/tree/master/examples/csv | ||||
| 
 | ||||
|  | ||||
| File: hledger_csv.info,  Node: Basic,  Next: Bank of Ireland,  Prev: EXAMPLES,  Up: Top | ||||
| * Menu: | ||||
| 
 | ||||
| 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 | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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: | ||||
| 
 | ||||
|  | ||||
| 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. | ||||
| Blank lines and lines beginning with '#' or ';' are ignored. | ||||
| 
 | ||||
|  | ||||
| File: hledger_csv.info,  Node: skip,  Next: fields,  Prev: CSV RULES,  Up: Top | ||||
| * Menu: | ||||
| 
 | ||||
| 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 | ||||
| 
 | ||||
| @ -415,10 +411,10 @@ whenever your CSV data contains header lines. | ||||
| 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, ... | ||||
| 
 | ||||
| @ -457,8 +453,8 @@ journal format. | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
| 8.2 Posting field names | ||||
| ======================= | ||||
| 2.2.2 Posting field names | ||||
| ------------------------- | ||||
| 
 | ||||
| * 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 | ||||
| 
 | ||||
| 8.2.1 account | ||||
| ------------- | ||||
| 2.2.2.1 account | ||||
| ............... | ||||
| 
 | ||||
| 'accountN', where N is 1 to 99, causes a posting to be generated, with | ||||
| that account name. | ||||
| @ -498,8 +494,8 @@ or "income:unknown"). | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
| 8.2.3 currency | ||||
| -------------- | ||||
| 2.2.2.3 currency | ||||
| ................ | ||||
| 
 | ||||
| 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 | ||||
| @ -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 | ||||
| 
 | ||||
| 8.2.4 balance | ||||
| ------------- | ||||
| 2.2.2.4 balance | ||||
| ............... | ||||
| 
 | ||||
| 'balanceN' sets a balance assertion amount (or if the posting amount is | ||||
| 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 | ||||
| 
 | ||||
| 8.2.5 comment | ||||
| ------------- | ||||
| 2.2.2.5 comment | ||||
| ............... | ||||
| 
 | ||||
| Finally, 'commentN' sets a comment on the Nth posting.  Comments can | ||||
| also contain tags, as usual. | ||||
| @ -559,10 +555,10 @@ also contain tags, as usual. | ||||
|    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 | ||||
| 
 | ||||
| @ -584,10 +580,10 @@ becomes '1' when interpolated) (#1051).  See TIPS below for more about | ||||
| 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 | ||||
| character-separated data.  The argument is any single separator | ||||
| @ -609,10 +605,10 @@ separator TAB | ||||
| 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 | ||||
|  RULE | ||||
| @ -639,8 +635,8 @@ descriptions. | ||||
|  | ||||
| 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: | ||||
| 
 | ||||
| @ -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 | ||||
| 
 | ||||
| 11.2 Matching individual fields | ||||
| =============================== | ||||
| 2.5.2 Matching individual fields | ||||
| -------------------------------- | ||||
| 
 | ||||
| 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 | ||||
| 
 | ||||
| 11.3 Combining matchers | ||||
| ======================= | ||||
| 2.5.3 Combining matchers | ||||
| ------------------------ | ||||
| 
 | ||||
| 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. | ||||
| @ -693,8 +689,8 @@ MATCHER | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| reading this CSV file and move on to the next input file, or to command | ||||
| @ -794,10 +790,10 @@ if ,,,, | ||||
|  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 | ||||
| 
 | ||||
| @ -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 | ||||
| 
 | ||||
|  | ||||
| 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 . | ||||
| 
 | ||||
| @ -843,10 +839,10 @@ should declare the decimal mark explicitly with this rule, to avoid | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 
 | ||||
| @ -879,19 +875,19 @@ several rules files, eg: | ||||
| 
 | ||||
| # someaccount.csv.rules | ||||
| 
 | ||||
| # someaccount-specific rules | ||||
| ## someaccount-specific rules | ||||
| fields   date,description,amount | ||||
| account1 assets:someaccount | ||||
| account2 expenses:misc | ||||
| 
 | ||||
| # common rules | ||||
| ## common 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 | ||||
| '=' type by default, which is a single-commodity, subaccount-excluding | ||||
| @ -911,16 +907,29 @@ balance-type ==* | ||||
| ==*  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 | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| enclosed in quotes, note: | ||||
| @ -946,10 +955,10 @@ enclosed in quotes, note: | ||||
|    * 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, | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| 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, | ||||
| 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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| 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 | ||||
| 
 | ||||
|  | ||||
| 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: | ||||
| 
 | ||||
| @ -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 | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| field(s): | ||||
| @ -1103,10 +1112,10 @@ amount %amt %cur | ||||
| 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 | ||||
| fields.  In the example below, there's both a CSV field and a hledger | ||||
| @ -1140,10 +1149,10 @@ if something | ||||
|  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 | ||||
| to).  First, | ||||
| @ -1183,90 +1192,85 @@ command the user specified. | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top72 | ||||
| Node: EXAMPLES3259 | ||||
| Ref: #examples3361 | ||||
| Node: Basic3507 | ||||
| Ref: #basic3615 | ||||
| Node: Bank of Ireland4157 | ||||
| Ref: #bank-of-ireland4283 | ||||
| Node: Amazon5745 | ||||
| Ref: #amazon5854 | ||||
| Node: Paypal7573 | ||||
| Ref: #paypal7676 | ||||
| Node: CSV RULES15320 | ||||
| Ref: #csv-rules15427 | ||||
| Node: skip15561 | ||||
| Ref: #skip15662 | ||||
| Node: fields16037 | ||||
| Ref: #fields16149 | ||||
| Node: Transaction field names17314 | ||||
| Ref: #transaction-field-names17470 | ||||
| Node: Posting field names17581 | ||||
| Ref: #posting-field-names17729 | ||||
| Node: account17799 | ||||
| Ref: #account17911 | ||||
| Node: amount18448 | ||||
| Ref: #amount18575 | ||||
| Node: currency19682 | ||||
| Ref: #currency19813 | ||||
| Node: balance20019 | ||||
| Ref: #balance20149 | ||||
| Node: comment20466 | ||||
| Ref: #comment20579 | ||||
| Node: field assignment20742 | ||||
| Ref: #field-assignment20875 | ||||
| Node: separator21693 | ||||
| Ref: #separator21820 | ||||
| Node: if block22360 | ||||
| Ref: #if-block22477 | ||||
| Node: Matching the whole record22878 | ||||
| Ref: #matching-the-whole-record23051 | ||||
| Node: Matching individual fields23855 | ||||
| Ref: #matching-individual-fields24057 | ||||
| Node: Combining matchers24281 | ||||
| Ref: #combining-matchers24475 | ||||
| Node: Rules applied on successful match24788 | ||||
| Ref: #rules-applied-on-successful-match24977 | ||||
| Node: if table25631 | ||||
| Ref: #if-table25742 | ||||
| Node: end27480 | ||||
| Ref: #end27584 | ||||
| Node: date-format27808 | ||||
| Ref: #date-format27932 | ||||
| Node: decimal-mark28681 | ||||
| Ref: #decimal-mark28816 | ||||
| Node: newest-first29155 | ||||
| Ref: #newest-first29286 | ||||
| Node: include29969 | ||||
| Ref: #include30090 | ||||
| Node: balance-type30532 | ||||
| Ref: #balance-type30655 | ||||
| Node: TIPS31355 | ||||
| Ref: #tips31465 | ||||
| Node: Rapid feedback31465 | ||||
| Ref: #rapid-feedback31592 | ||||
| Node: Valid CSV32052 | ||||
| Ref: #valid-csv32179 | ||||
| Node: File Extension32371 | ||||
| Ref: #file-extension32520 | ||||
| Node: Reading multiple CSV files32949 | ||||
| Ref: #reading-multiple-csv-files33131 | ||||
| Node: Valid transactions33372 | ||||
| Ref: #valid-transactions33547 | ||||
| Node: Deduplicating importing34175 | ||||
| Ref: #deduplicating-importing34351 | ||||
| Node: Setting amounts35384 | ||||
| Ref: #setting-amounts35550 | ||||
| Node: Setting currency/commodity36537 | ||||
| Ref: #setting-currencycommodity36726 | ||||
| Node: Referencing other fields37900 | ||||
| Ref: #referencing-other-fields38097 | ||||
| Node: How CSV rules are evaluated38994 | ||||
| Ref: #how-csv-rules-are-evaluated39162 | ||||
| Node: EXAMPLES2756 | ||||
| Ref: #examples2862 | ||||
| Node: Basic3070 | ||||
| Ref: #basic3170 | ||||
| Node: Bank of Ireland3712 | ||||
| Ref: #bank-of-ireland3847 | ||||
| Node: Amazon5309 | ||||
| Ref: #amazon5427 | ||||
| Node: Paypal7146 | ||||
| Ref: #paypal7240 | ||||
| Node: CSV RULES14884 | ||||
| Ref: #csv-rules14993 | ||||
| Node: skip15305 | ||||
| Ref: #skip15398 | ||||
| Node: fields15773 | ||||
| Ref: #fields15895 | ||||
| Node: Transaction field names17060 | ||||
| Ref: #transaction-field-names17220 | ||||
| Node: Posting field names17331 | ||||
| Ref: #posting-field-names17483 | ||||
| Node: account17553 | ||||
| Ref: #account17669 | ||||
| Node: amount18206 | ||||
| Ref: #amount18337 | ||||
| Node: currency19444 | ||||
| Ref: #currency19579 | ||||
| Node: balance19785 | ||||
| Ref: #balance19919 | ||||
| Node: comment20236 | ||||
| Ref: #comment20353 | ||||
| Node: field assignment20516 | ||||
| Ref: #field-assignment20659 | ||||
| Node: separator21477 | ||||
| Ref: #separator21612 | ||||
| Node: if block22152 | ||||
| Ref: #if-block22277 | ||||
| Node: Matching the whole record22678 | ||||
| Ref: #matching-the-whole-record22853 | ||||
| Node: Matching individual fields23657 | ||||
| Ref: #matching-individual-fields23861 | ||||
| Node: Combining matchers24085 | ||||
| Ref: #combining-matchers24281 | ||||
| Node: Rules applied on successful match24594 | ||||
| Ref: #rules-applied-on-successful-match24785 | ||||
| Node: if table25439 | ||||
| Ref: #if-table25558 | ||||
| Node: end27296 | ||||
| Ref: #end27408 | ||||
| Node: date-format27632 | ||||
| Ref: #date-format27764 | ||||
| Node: decimal-mark28513 | ||||
| Ref: #decimal-mark28656 | ||||
| Node: newest-first28995 | ||||
| Ref: #newest-first29136 | ||||
| Node: include29819 | ||||
| Ref: #include29950 | ||||
| Node: balance-type30394 | ||||
| Ref: #balance-type30514 | ||||
| Node: TIPS31214 | ||||
| Ref: #tips31296 | ||||
| Node: Rapid feedback31552 | ||||
| Ref: #rapid-feedback31669 | ||||
| Node: Valid CSV32129 | ||||
| Ref: #valid-csv32259 | ||||
| Node: File Extension32451 | ||||
| Ref: #file-extension32603 | ||||
| Node: Reading multiple CSV files33032 | ||||
| Ref: #reading-multiple-csv-files33217 | ||||
| Node: Valid transactions33458 | ||||
| Ref: #valid-transactions33636 | ||||
| Node: Deduplicating importing34264 | ||||
| Ref: #deduplicating-importing34443 | ||||
| Node: Setting amounts35476 | ||||
| Ref: #setting-amounts35645 | ||||
| Node: Setting currency/commodity36632 | ||||
| Ref: #setting-currencycommodity36824 | ||||
| Node: Referencing other fields37998 | ||||
| Ref: #referencing-other-fields38198 | ||||
| Node: How CSV rules are evaluated39095 | ||||
| Ref: #how-csv-rules-are-evaluated39268 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger_csv(5)               hledger User Manuals               hledger_csv(5) | ||||
| HLEDGER_CSV(5)               hledger User Manuals               HLEDGER_CSV(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 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 | ||||
|        hledger  can read CSV files (Character Separated Value - usually comma, | ||||
| @ -951,9 +951,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger 1.20.99                  December 2020                  hledger_csv(5) | ||||
| hledger-lib-1.20.99              December 2020                  HLEDGER_CSV(5) | ||||
|  | ||||
| @ -1,13 +1,12 @@ | ||||
| .\"t | ||||
| 
 | ||||
| .TH "hledger_journal" "5" "December 2020" "hledger 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER_JOURNAL" "5" "December 2020" "hledger-lib-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .PP | ||||
| Journal - hledger\[aq]s default file format, representing a General | ||||
| Journal | ||||
| hledger\[aq]s default file format, representing a General Journal. | ||||
| .SH DESCRIPTION | ||||
| .PP | ||||
| 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, | ||||
| adding colour, formatting, tab completion, and useful commands. | ||||
| See Editor configuration at hledger.org for the full list. | ||||
| .SH FILE FORMAT | ||||
| .PP | ||||
| Here\[aq]s a description of each part of the file format (and | ||||
| 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 | ||||
| linked before they are introduced, so feel free to skip over anything | ||||
| that looks unnecessary right now. | ||||
| .SS Transactions | ||||
| .SH TRANSACTIONS | ||||
| .PP | ||||
| Transactions are the main unit of information in a journal file. | ||||
| 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 | ||||
| \f[R] | ||||
| .fi | ||||
| .SS Dates | ||||
| .SH DATES | ||||
| .SS Simple dates | ||||
| .PP | ||||
| 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. | ||||
| With this syntax, DATE infers its year from the transaction and DATE2 | ||||
| infers its year from DATE. | ||||
| .SS Status | ||||
| .SH STATUS | ||||
| .PP | ||||
| Transactions, or individual postings within a transaction, can have a | ||||
| 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 | ||||
| bank soon (like uncashed checks), and no flags to see the most | ||||
| up-to-date state of your finances. | ||||
| .SS Description | ||||
| .SH DESCRIPTION | ||||
| .PP | ||||
| A transaction\[aq]s description is the rest of the line following the | ||||
| 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]). | ||||
| This may be worthwhile if you need to do more precise querying and | ||||
| pivoting by payee or by note. | ||||
| .SS Comments | ||||
| .SH COMMENTS | ||||
| .PP | ||||
| 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. | ||||
| @ -324,7 +322,7 @@ end comment | ||||
| .PP | ||||
| You can also comment larger regions of a file using \f[C]comment\f[R] | ||||
| and \f[C]end comment\f[R] directives. | ||||
| .SS Tags | ||||
| .SH TAGS | ||||
| .PP | ||||
| Tags are a way to add extra labels or labelled data to postings and | ||||
| transactions, which you can then search or pivot on. | ||||
| @ -383,7 +381,7 @@ plus \f[C]posting-tag\f[R]): | ||||
| .PP | ||||
| Tags are like Ledger\[aq]s metadata feature, except hledger\[aq]s tag | ||||
| values are simple strings. | ||||
| .SS Postings | ||||
| .SH POSTINGS | ||||
| .PP | ||||
| A posting is an addition of some amount to, or removal of some amount | ||||
| from, an account. | ||||
| @ -454,7 +452,7 @@ Ordinary non-parenthesised, non-bracketed postings are called \f[I]real | ||||
| postings\f[R]. | ||||
| You can exclude virtual postings from reports with the | ||||
| \f[C]-R/--real\f[R] flag or \f[C]real:1\f[R] query. | ||||
| .SS Account names | ||||
| .SH ACCOUNT NAMES | ||||
| .PP | ||||
| Account names typically have several parts separated by a full colon, | ||||
| 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). | ||||
| .PP | ||||
| Account names can be aliased. | ||||
| .SS Amounts | ||||
| .SH AMOUNTS | ||||
| .PP | ||||
| After the account name, there is usually an amount. | ||||
| (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]). | ||||
| (Guaranteed since hledger 1.17.1; in older versions this could vary if | ||||
| hledger was built with Decimal < 0.5.1.) | ||||
| .SS Transaction prices | ||||
| .SH TRANSACTION PRICES | ||||
| .PP | ||||
| Within a transaction, you can note an amount\[aq]s price in another | ||||
| commodity. | ||||
| @ -734,7 +732,7 @@ $ hledger bal -N --flat -B | ||||
|                 \[Eu]100  assets:euros | ||||
| \f[R] | ||||
| .fi | ||||
| .SS Lot prices and lot dates | ||||
| .SH LOT PRICES, LOT DATES | ||||
| .PP | ||||
| Ledger allows another kind of price, lot price (four variants: | ||||
| \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. | ||||
| 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. | ||||
| .SS Balance assertions | ||||
| .SH BALANCE ASSERTIONS | ||||
| .PP | ||||
| hledger supports Ledger-style balance assertions in journal files. | ||||
| 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 | ||||
| not affect balance assertions. | ||||
| Balance assertion failure messages show exact amounts. | ||||
| .SS Balance assignments | ||||
| .SH BALANCE ASSIGNMENTS | ||||
| .PP | ||||
| Ledger-style balance assignments are also supported. | ||||
| 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 | ||||
| \f[R] | ||||
| .fi | ||||
| .SS Directives | ||||
| .SH DIRECTIVES | ||||
| .PP | ||||
| A directive is a line in the journal beginning with a special keyword, | ||||
| 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. | ||||
| If account aliases are present, they are applied after the default | ||||
| parent account. | ||||
| .SS Periodic transactions | ||||
| .SH PERIODIC TRANSACTIONS | ||||
| .PP | ||||
| Periodic transaction rules describe transactions that recur. | ||||
| 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 | ||||
| See also: Budgeting and Forecasting. | ||||
| .PP | ||||
| .SS Auto postings | ||||
| .SH AUTO POSTINGS | ||||
| .PP | ||||
| \[dq]Automated postings\[dq] or \[dq]auto postings\[dq] are extra | ||||
| 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. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -2,12 +2,12 @@ This is hledger_journal.info, produced by makeinfo version 6.7 from | ||||
| 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.99 | ||||
| ********************************** | ||||
| 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 | ||||
| entries in hledger journal format.  This file represents a standard | ||||
| @ -40,27 +40,27 @@ that looks unnecessary right now. | ||||
| 
 | ||||
| * Menu: | ||||
| 
 | ||||
| * Transactions:: | ||||
| * Dates:: | ||||
| * Status:: | ||||
| * Description:: | ||||
| * Comments:: | ||||
| * Tags:: | ||||
| * Postings:: | ||||
| * Account names:: | ||||
| * Amounts:: | ||||
| * Transaction prices:: | ||||
| * Lot prices and lot dates:: | ||||
| * Balance assertions:: | ||||
| * Balance assignments:: | ||||
| * Directives:: | ||||
| * Periodic transactions:: | ||||
| * Auto postings:: | ||||
| * TRANSACTIONS:: | ||||
| * DATES:: | ||||
| * STATUS:: | ||||
| * DESCRIPTION:: | ||||
| * COMMENTS:: | ||||
| * TAGS:: | ||||
| * POSTINGS:: | ||||
| * ACCOUNT NAMES:: | ||||
| * AMOUNTS:: | ||||
| * TRANSACTION PRICES:: | ||||
| * LOT PRICES LOT DATES:: | ||||
| * BALANCE ASSERTIONS:: | ||||
| * BALANCE ASSIGNMENTS:: | ||||
| * DIRECTIVES:: | ||||
| * PERIODIC TRANSACTIONS:: | ||||
| * 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 | ||||
| @ -87,9 +87,9 @@ optional fields, separated by spaces: | ||||
|   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: | ||||
| @ -99,7 +99,7 @@ File: hledger_journal.info,  Node: Dates,  Next: Status,  Prev: Transactions,  U | ||||
| * 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 | ||||
| ================ | ||||
| @ -115,7 +115,7 @@ or the current date when the command is run.  Some examples: | ||||
| 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 | ||||
| =================== | ||||
| @ -151,7 +151,7 @@ $ hledger register checking --date2 | ||||
| 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 | ||||
| ================= | ||||
| @ -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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| @ -236,9 +236,9 @@ your bank, '-U' to see things which will probably hit your bank soon | ||||
| 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 | ||||
| @ -252,7 +252,7 @@ comments. | ||||
| * 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 | ||||
| ================== | ||||
| @ -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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| @ -304,9 +304,9 @@ end comment | ||||
| '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 | ||||
| @ -347,9 +347,9 @@ example, the following transaction has three tags ('A', 'TAG2', | ||||
| 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 | ||||
| @ -379,7 +379,7 @@ the amount, the amount will be considered part of the account name. | ||||
| * Virtual postings:: | ||||
| 
 | ||||
|  | ||||
| File: hledger_journal.info,  Node: Virtual postings,  Up: Postings | ||||
| File: hledger_journal.info,  Node: Virtual postings,  Up: 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. | ||||
| 
 | ||||
|  | ||||
| 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, | ||||
| @ -432,9 +432,9 @@ more spaces* (or newline). | ||||
|    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 | ||||
| @ -488,7 +488,7 @@ EUR 1E3 | ||||
| * 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 | ||||
| ===================== | ||||
| @ -521,7 +521,7 @@ commodity INR 9,99,99,999.00 | ||||
| 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 | ||||
| =========================== | ||||
| @ -566,7 +566,7 @@ many decimal places), use a commodity directive to set your preferred | ||||
| 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 | ||||
| ============ | ||||
| @ -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.) | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| @ -646,10 +646,10 @@ $ hledger bal -N --flat -B | ||||
|                 €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: | ||||
| '{UNITPRICE}', '{{TOTALPRICE}}', '{=FIXEDUNITPRICE}', | ||||
| @ -661,9 +661,9 @@ may appear in any order, after the posting amount and before the balance | ||||
| 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. | ||||
| @ -699,7 +699,7 @@ does not disable balance assignments, below). | ||||
| * 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 | ||||
| ============================ | ||||
| @ -718,7 +718,7 @@ control over the order of postings and assertions within a day, so you | ||||
| 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 | ||||
| ================================== | ||||
| @ -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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| ======================================= | ||||
| @ -739,7 +739,7 @@ Balance assertions don't work well across files specified with multiple | ||||
| -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 | ||||
| =============================== | ||||
| @ -787,7 +787,7 @@ commodity into its own subaccount: | ||||
|   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 | ||||
| ========================== | ||||
| @ -805,7 +805,7 @@ to generate balance assertions with prices), and because balance | ||||
| _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 | ||||
| =============================== | ||||
| @ -822,7 +822,7 @@ eg: | ||||
|   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 | ||||
| ==================================== | ||||
| @ -832,7 +832,7 @@ virtual.  They are not affected by the '--real/-R' flag or 'real:' | ||||
| 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 | ||||
| ============================= | ||||
| @ -843,9 +843,9 @@ display precision, but this will not affect balance assertions.  Balance | ||||
| 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 | ||||
| @ -880,7 +880,7 @@ hledger or do the calculations yourself, instead of just reading it. | ||||
| * 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 | ||||
| =================================== | ||||
| @ -896,9 +896,9 @@ $ hledger print --explicit | ||||
|     (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, | ||||
| @ -997,7 +997,7 @@ they affect, and whether they are focussed on input (parsing) or output | ||||
| * 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 | ||||
| ================================== | ||||
| @ -1017,7 +1017,7 @@ files. | ||||
| 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 | ||||
| =================== | ||||
| @ -1027,7 +1027,7 @@ and a line containing just 'end comment' (or the end of the current | ||||
| 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 | ||||
| ========================== | ||||
| @ -1058,7 +1058,7 @@ overriding the file extension (as described in hledger.1 -> Input | ||||
| 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 | ||||
| ================= | ||||
| @ -1084,7 +1084,7 @@ Y2010  ; change default year to 2010 | ||||
|   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 | ||||
| ========================== | ||||
| @ -1152,7 +1152,7 @@ by a 'commodity' directive.  This works similarly to account error | ||||
| 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 | ||||
| ====================== | ||||
| @ -1179,7 +1179,7 @@ D $1,000.00 | ||||
|   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 | ||||
| ============================ | ||||
| @ -1209,7 +1209,7 @@ P 2010/1/1 € $1.40 | ||||
| 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 | ||||
| ======================= | ||||
| @ -1471,7 +1471,7 @@ means: | ||||
|      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 | ||||
| ======================= | ||||
| @ -1629,7 +1629,7 @@ aliases' directive: | ||||
| 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 | ||||
| ============================ | ||||
| @ -1670,9 +1670,9 @@ If account aliases are present, they are applied after the default | ||||
| 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 | ||||
| @ -1717,7 +1717,7 @@ to define budget goals, shown in budget reports. | ||||
| * 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 | ||||
| ========================= | ||||
| @ -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. | ||||
| 
 | ||||
|  | ||||
| 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! | ||||
| ========================================================== | ||||
| @ -1765,7 +1765,7 @@ accidentally alter their meaning, as in this example: | ||||
|      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 | ||||
| =========================================== | ||||
| @ -1811,7 +1811,7 @@ examples: '--forecast=202001-202004', '--forecast=jan-', | ||||
| '--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 | ||||
| ========================================= | ||||
| @ -1826,9 +1826,9 @@ compared in budget reports. | ||||
|    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 | ||||
| @ -1904,7 +1904,7 @@ $ hledger print --auto | ||||
| * 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 | ||||
| ===================================== | ||||
| @ -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). | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| ============================ | ||||
| @ -1924,7 +1924,7 @@ precedence) a posting date in the auto posting rule itself, will also be | ||||
| 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 / | ||||
| ================================================================= | ||||
| @ -1940,7 +1940,7 @@ after auto postings are added.  This changed in hledger 1.12+; see #893 | ||||
| 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 | ||||
| ====================== | ||||
| @ -1964,142 +1964,137 @@ will have these tags added: | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top76 | ||||
| Node: Transactions2156 | ||||
| Ref: #transactions2274 | ||||
| Node: Dates3288 | ||||
| Ref: #dates3395 | ||||
| Node: Simple dates3460 | ||||
| Ref: #simple-dates3582 | ||||
| Node: Secondary dates4091 | ||||
| Ref: #secondary-dates4241 | ||||
| Node: Posting dates5577 | ||||
| Ref: #posting-dates5702 | ||||
| Node: Status7074 | ||||
| Ref: #status7182 | ||||
| Node: Description8890 | ||||
| Ref: #description9011 | ||||
| Node: Payee and note9331 | ||||
| Ref: #payee-and-note9441 | ||||
| Node: Comments9776 | ||||
| Ref: #comments9889 | ||||
| Node: Tags11083 | ||||
| Ref: #tags11185 | ||||
| Node: Postings12578 | ||||
| Ref: #postings12693 | ||||
| Node: Virtual postings13719 | ||||
| Ref: #virtual-postings13832 | ||||
| Node: Account names15137 | ||||
| Ref: #account-names15265 | ||||
| Node: Amounts15752 | ||||
| Ref: #amounts15878 | ||||
| Node: Digit group marks17002 | ||||
| Ref: #digit-group-marks17149 | ||||
| Node: Commodity display style18087 | ||||
| Ref: #commodity-display-style18263 | ||||
| Node: Rounding19806 | ||||
| Ref: #rounding19926 | ||||
| Node: Transaction prices20338 | ||||
| Ref: #transaction-prices20499 | ||||
| Node: Lot prices and lot dates22930 | ||||
| Ref: #lot-prices-and-lot-dates23114 | ||||
| Node: Balance assertions23602 | ||||
| Ref: #balance-assertions23775 | ||||
| Node: Assertions and ordering24808 | ||||
| Ref: #assertions-and-ordering24992 | ||||
| Node: Assertions and included files25692 | ||||
| Ref: #assertions-and-included-files25931 | ||||
| Node: Assertions and multiple -f options26264 | ||||
| Ref: #assertions-and-multiple--f-options26516 | ||||
| Node: Assertions and commodities26648 | ||||
| Ref: #assertions-and-commodities26876 | ||||
| Node: Assertions and prices28033 | ||||
| Ref: #assertions-and-prices28243 | ||||
| Node: Assertions and subaccounts28683 | ||||
| Ref: #assertions-and-subaccounts28908 | ||||
| Node: Assertions and virtual postings29232 | ||||
| Ref: #assertions-and-virtual-postings29470 | ||||
| Node: Assertions and precision29612 | ||||
| Ref: #assertions-and-precision29801 | ||||
| Node: Balance assignments30068 | ||||
| Ref: #balance-assignments30229 | ||||
| Node: Balance assignments and prices31393 | ||||
| Ref: #balance-assignments-and-prices31561 | ||||
| Node: Directives31785 | ||||
| Ref: #directives31931 | ||||
| Node: Directives and multiple files37429 | ||||
| Ref: #directives-and-multiple-files37608 | ||||
| Node: Comment blocks38272 | ||||
| Ref: #comment-blocks38451 | ||||
| Node: Including other files38627 | ||||
| Ref: #including-other-files38803 | ||||
| Node: Default year39727 | ||||
| Ref: #default-year39892 | ||||
| Node: Declaring commodities40299 | ||||
| Ref: #declaring-commodities40478 | ||||
| Node: Commodity error checking42322 | ||||
| Ref: #commodity-error-checking42478 | ||||
| Node: Default commodity42735 | ||||
| Ref: #default-commodity42917 | ||||
| Node: Declaring market prices43806 | ||||
| Ref: #declaring-market-prices43997 | ||||
| Node: Declaring accounts44854 | ||||
| Ref: #declaring-accounts45036 | ||||
| Node: Account error checking46238 | ||||
| Ref: #account-error-checking46410 | ||||
| Node: Account comments47589 | ||||
| Ref: #account-comments47779 | ||||
| Node: Account subdirectives48203 | ||||
| Ref: #account-subdirectives48394 | ||||
| Node: Account types48707 | ||||
| Ref: #account-types48887 | ||||
| Node: Declaring account types49623 | ||||
| Ref: #declaring-account-types49808 | ||||
| Node: Auto-detected account types50458 | ||||
| Ref: #auto-detected-account-types50705 | ||||
| Node: Interference from auto-detected account types51602 | ||||
| Ref: #interference-from-auto-detected-account-types51885 | ||||
| Node: Old account type syntax52368 | ||||
| Ref: #old-account-type-syntax52571 | ||||
| Node: Account display order52871 | ||||
| Ref: #account-display-order53037 | ||||
| Node: Rewriting accounts54188 | ||||
| Ref: #rewriting-accounts54369 | ||||
| Node: Basic aliases55126 | ||||
| Ref: #basic-aliases55268 | ||||
| Node: Regex aliases55972 | ||||
| Ref: #regex-aliases56140 | ||||
| Node: Combining aliases56859 | ||||
| Ref: #combining-aliases57048 | ||||
| Node: Aliases and multiple files58324 | ||||
| Ref: #aliases-and-multiple-files58529 | ||||
| Node: end aliases59108 | ||||
| Ref: #end-aliases59261 | ||||
| Node: Default parent account59362 | ||||
| Ref: #default-parent-account59526 | ||||
| Node: Periodic transactions60410 | ||||
| Ref: #periodic-transactions60572 | ||||
| Node: Periodic rule syntax62489 | ||||
| Ref: #periodic-rule-syntax62691 | ||||
| Node: Two spaces between period expression and description!63395 | ||||
| Ref: #two-spaces-between-period-expression-and-description63710 | ||||
| Node: Forecasting with periodic transactions64394 | ||||
| Ref: #forecasting-with-periodic-transactions64695 | ||||
| Node: Budgeting with periodic transactions66750 | ||||
| Ref: #budgeting-with-periodic-transactions66985 | ||||
| Node: Auto postings67394 | ||||
| Ref: #auto-postings67521 | ||||
| Node: Auto postings and multiple files69700 | ||||
| Ref: #auto-postings-and-multiple-files69900 | ||||
| Node: Auto postings and dates70109 | ||||
| Ref: #auto-postings-and-dates70379 | ||||
| Node: Auto postings and transaction balancing / inferred amounts / balance assertions70554 | ||||
| Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70901 | ||||
| Node: Auto posting tags71243 | ||||
| Ref: #auto-posting-tags71454 | ||||
| Node: TRANSACTIONS2111 | ||||
| Ref: #transactions2229 | ||||
| Node: DATES3243 | ||||
| Ref: #dates3350 | ||||
| Node: Simple dates3415 | ||||
| Ref: #simple-dates3537 | ||||
| Node: Secondary dates4046 | ||||
| Ref: #secondary-dates4196 | ||||
| Node: Posting dates5532 | ||||
| Ref: #posting-dates5657 | ||||
| Node: STATUS7029 | ||||
| Ref: #status7137 | ||||
| Node: DESCRIPTION8845 | ||||
| Ref: #description8966 | ||||
| Node: Payee and note9286 | ||||
| Ref: #payee-and-note9396 | ||||
| Node: COMMENTS9731 | ||||
| Ref: #comments9844 | ||||
| Node: TAGS11038 | ||||
| Ref: #tags11140 | ||||
| Node: POSTINGS12533 | ||||
| Ref: #postings12648 | ||||
| Node: Virtual postings13674 | ||||
| Ref: #virtual-postings13787 | ||||
| Node: ACCOUNT NAMES15092 | ||||
| Ref: #account-names15220 | ||||
| Node: AMOUNTS15707 | ||||
| Ref: #amounts15833 | ||||
| Node: Digit group marks16957 | ||||
| Ref: #digit-group-marks17104 | ||||
| Node: Commodity display style18042 | ||||
| Ref: #commodity-display-style18218 | ||||
| Node: Rounding19761 | ||||
| Ref: #rounding19881 | ||||
| Node: TRANSACTION PRICES20293 | ||||
| Ref: #transaction-prices20450 | ||||
| Node: LOT PRICES LOT DATES22881 | ||||
| Ref: #lot-prices-lot-dates23055 | ||||
| Node: BALANCE ASSERTIONS23543 | ||||
| Ref: #balance-assertions23712 | ||||
| Node: Assertions and ordering24745 | ||||
| Ref: #assertions-and-ordering24929 | ||||
| Node: Assertions and included files25629 | ||||
| Ref: #assertions-and-included-files25868 | ||||
| Node: Assertions and multiple -f options26201 | ||||
| Ref: #assertions-and-multiple--f-options26453 | ||||
| Node: Assertions and commodities26585 | ||||
| Ref: #assertions-and-commodities26813 | ||||
| Node: Assertions and prices27970 | ||||
| Ref: #assertions-and-prices28180 | ||||
| Node: Assertions and subaccounts28620 | ||||
| Ref: #assertions-and-subaccounts28845 | ||||
| Node: Assertions and virtual postings29169 | ||||
| Ref: #assertions-and-virtual-postings29407 | ||||
| Node: Assertions and precision29549 | ||||
| Ref: #assertions-and-precision29738 | ||||
| Node: BALANCE ASSIGNMENTS30005 | ||||
| Ref: #balance-assignments30166 | ||||
| Node: Balance assignments and prices31330 | ||||
| Ref: #balance-assignments-and-prices31498 | ||||
| Node: DIRECTIVES31722 | ||||
| Ref: #directives31868 | ||||
| Node: Directives and multiple files37366 | ||||
| Ref: #directives-and-multiple-files37545 | ||||
| Node: Comment blocks38209 | ||||
| Ref: #comment-blocks38388 | ||||
| Node: Including other files38564 | ||||
| Ref: #including-other-files38740 | ||||
| Node: Default year39664 | ||||
| Ref: #default-year39829 | ||||
| Node: Declaring commodities40236 | ||||
| Ref: #declaring-commodities40415 | ||||
| Node: Commodity error checking42259 | ||||
| Ref: #commodity-error-checking42415 | ||||
| Node: Default commodity42672 | ||||
| Ref: #default-commodity42854 | ||||
| Node: Declaring market prices43743 | ||||
| Ref: #declaring-market-prices43934 | ||||
| Node: Declaring accounts44791 | ||||
| Ref: #declaring-accounts44973 | ||||
| Node: Account error checking46175 | ||||
| Ref: #account-error-checking46347 | ||||
| Node: Account comments47526 | ||||
| Ref: #account-comments47716 | ||||
| Node: Account subdirectives48140 | ||||
| Ref: #account-subdirectives48331 | ||||
| Node: Account types48644 | ||||
| Ref: #account-types48824 | ||||
| Node: Declaring account types49560 | ||||
| Ref: #declaring-account-types49745 | ||||
| Node: Auto-detected account types50395 | ||||
| Ref: #auto-detected-account-types50642 | ||||
| Node: Interference from auto-detected account types51539 | ||||
| Ref: #interference-from-auto-detected-account-types51822 | ||||
| Node: Old account type syntax52305 | ||||
| Ref: #old-account-type-syntax52508 | ||||
| Node: Account display order52808 | ||||
| Ref: #account-display-order52974 | ||||
| Node: Rewriting accounts54125 | ||||
| Ref: #rewriting-accounts54306 | ||||
| Node: Basic aliases55063 | ||||
| Ref: #basic-aliases55205 | ||||
| Node: Regex aliases55909 | ||||
| Ref: #regex-aliases56077 | ||||
| Node: Combining aliases56796 | ||||
| Ref: #combining-aliases56985 | ||||
| Node: Aliases and multiple files58261 | ||||
| Ref: #aliases-and-multiple-files58466 | ||||
| Node: end aliases59045 | ||||
| Ref: #end-aliases59198 | ||||
| Node: Default parent account59299 | ||||
| Ref: #default-parent-account59463 | ||||
| Node: PERIODIC TRANSACTIONS60347 | ||||
| Ref: #periodic-transactions60509 | ||||
| Node: Periodic rule syntax62426 | ||||
| Ref: #periodic-rule-syntax62628 | ||||
| Node: Two spaces between period expression and description!63332 | ||||
| Ref: #two-spaces-between-period-expression-and-description63647 | ||||
| Node: Forecasting with periodic transactions64331 | ||||
| Ref: #forecasting-with-periodic-transactions64632 | ||||
| Node: Budgeting with periodic transactions66687 | ||||
| Ref: #budgeting-with-periodic-transactions66922 | ||||
| Node: AUTO POSTINGS67331 | ||||
| Ref: #auto-postings67458 | ||||
| Node: Auto postings and multiple files69637 | ||||
| Ref: #auto-postings-and-multiple-files69837 | ||||
| Node: Auto postings and dates70046 | ||||
| Ref: #auto-postings-and-dates70316 | ||||
| Node: Auto postings and transaction balancing / inferred amounts / balance assertions70491 | ||||
| Ref: #auto-postings-and-transaction-balancing-inferred-amounts-balance-assertions70838 | ||||
| Node: Auto posting tags71180 | ||||
| Ref: #auto-posting-tags71391 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger_journal(5)           hledger User Manuals           hledger_journal(5) | ||||
| HLEDGER_JOURNAL(5)           hledger User Manuals           HLEDGER_JOURNAL(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
|        Journal - hledger's default file format, representing a General Journal | ||||
|        hledger's default file format, representing a General Journal. | ||||
| 
 | ||||
| DESCRIPTION | ||||
|        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- | ||||
|        tion at hledger.org for the full list. | ||||
| 
 | ||||
| FILE FORMAT | ||||
|        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 | ||||
|        some  cases related concepts have been grouped together for easy refer- | ||||
|        ence, or linked before they are introduced, so feel free to  skip  over | ||||
|        anything that looks unnecessary right now. | ||||
| 
 | ||||
|    Transactions | ||||
| TRANSACTIONS | ||||
|        Transactions  are the main unit of information in a journal file.  They | ||||
|        represent events, typically a movement of some quantity of  commodities | ||||
|        between two or more named accounts. | ||||
| @ -66,7 +65,7 @@ FILE FORMAT | ||||
|                 assets:bank:checking   $1 | ||||
|                 income:salary         $-1 | ||||
| 
 | ||||
|    Dates | ||||
| DATES | ||||
|    Simple dates | ||||
|        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 | ||||
| @ -139,7 +138,7 @@ FILE FORMAT | ||||
|        With this syntax, DATE infers its year from the transaction  and  DATE2 | ||||
|        infers its year from DATE. | ||||
| 
 | ||||
|    Status | ||||
| STATUS | ||||
|        Transactions,  or  individual postings within a transaction, can have a | ||||
|        status mark, which is a single character  before  the  transaction  de- | ||||
|        scription  or posting account name, separated from it by a space, indi- | ||||
| @ -183,7 +182,7 @@ FILE FORMAT | ||||
|        cashed  checks),  and no flags to see the most up-to-date state of your | ||||
|        finances. | ||||
| 
 | ||||
|    Description | ||||
| DESCRIPTION | ||||
|        A transaction's description is the rest of the line following the  date | ||||
|        and  status  mark  (or  until  a comment begins).  Sometimes called the | ||||
|        "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- | ||||
|        cise querying and pivoting by payee or by note. | ||||
| 
 | ||||
|    Comments | ||||
| COMMENTS | ||||
|        Lines in the journal beginning with a semicolon (;) or hash (#) or star | ||||
|        (*)  are  comments, and will be ignored.  (Star comments cause org-mode | ||||
|        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 | ||||
|        comment directives. | ||||
| 
 | ||||
|    Tags | ||||
| TAGS | ||||
|        Tags are a way to add extra labels or labelled  data  to  postings  and | ||||
|        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 | ||||
|        are simple strings. | ||||
| 
 | ||||
|    Postings | ||||
| POSTINGS | ||||
|        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 | ||||
|        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 | ||||
|        -R/--real flag or real:1 query. | ||||
| 
 | ||||
|    Account names | ||||
| ACCOUNT NAMES | ||||
|        Account  names  typically have several parts separated by a full colon, | ||||
|        from which hledger derives a hierarchical chart of accounts.  They  can | ||||
|        be  anything you like, but in finance there are traditionally five top- | ||||
| @ -338,7 +337,7 @@ FILE FORMAT | ||||
| 
 | ||||
|        Account names can be aliased. | ||||
| 
 | ||||
|    Amounts | ||||
| AMOUNTS | ||||
|        After the account name, there is usually an  amount.   (Important:  be- | ||||
|        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 | ||||
|        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- | ||||
|        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 | ||||
| @ -521,7 +520,7 @@ FILE FORMAT | ||||
|                              EUR-100  assets:dollars  # <- the dollars' selling price | ||||
|                               EUR100  assets:euros | ||||
| 
 | ||||
|    Lot prices and lot dates | ||||
| LOT PRICES, LOT DATES | ||||
|        Ledger  allows  another kind of price, lot price (four variants: {UNIT- | ||||
|        PRICE},   {{TOTALPRICE}},   {=FIXEDUNITPRICE},   {{=FIXEDTOTALPRICE}}), | ||||
|        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, | ||||
|        after the posting amount and before the balance assertion if any. | ||||
| 
 | ||||
|    Balance assertions | ||||
| BALANCE ASSERTIONS | ||||
|        hledger  supports  Ledger-style  balance  assertions  in journal files. | ||||
|        These look like, for example, = EXPECTEDBALANCE following  a  posting's | ||||
|        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- | ||||
|        tions.  Balance assertion failure messages show exact amounts. | ||||
| 
 | ||||
|    Balance assignments | ||||
| BALANCE ASSIGNMENTS | ||||
|        Ledger-style  balance  assignments  are also supported.  These are like | ||||
|        balance assertions, but with no posting amount on the left side of  the | ||||
|        equals  sign;  instead  it is calculated automatically so as to satisfy | ||||
| @ -692,7 +691,7 @@ FILE FORMAT | ||||
|               2019-01-01 | ||||
|                   (a)         $1 @ EUR2 = $1 @ EUR2 | ||||
| 
 | ||||
|    Directives | ||||
| DIRECTIVES | ||||
|        A  directive is a line in the journal beginning with a special keyword, | ||||
|        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 | ||||
| @ -729,8 +728,6 @@ FILE FORMAT | ||||
|                                                                        play style: amounts | ||||
|                                                                        of  that  commodity | ||||
|                                                                        in reports | ||||
| 
 | ||||
| 
 | ||||
|        D                                declare a  commodity  to  be   default  commodity: | ||||
|                                         used    for    commodityless   following   commod- | ||||
|                                         amounts, and its number  no-   ityless entries un- | ||||
| @ -743,6 +740,8 @@ FILE FORMAT | ||||
|                                                                        play style: amounts | ||||
|                                                                        of  that  commodity | ||||
|                                                                        in reports | ||||
| 
 | ||||
| 
 | ||||
|        include                          include   entries/directives   what  the  included | ||||
|                                         from another file              directives affect | ||||
|        P                                declare a market price for a   amounts   of   that | ||||
| @ -1075,7 +1074,6 @@ FILE FORMAT | ||||
|        ^(debts?|lia-                Liability | ||||
|        bilit(y|ies))(:|$) | ||||
|        ^equity(:|$)                 Equity | ||||
| 
 | ||||
|        ^(income|revenue)s?(:|$)     Revenue | ||||
|        ^expenses?(:|$)              Expense | ||||
| 
 | ||||
| @ -1312,7 +1310,7 @@ FILE FORMAT | ||||
|        account aliases are present, they are applied after the default  parent | ||||
|        account. | ||||
| 
 | ||||
|    Periodic transactions | ||||
| PERIODIC TRANSACTIONS | ||||
|        Periodic  transaction rules describe transactions that recur.  They al- | ||||
|        low hledger to generate temporary  future  transactions  to  help  with | ||||
|        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. | ||||
| 
 | ||||
|    Auto postings | ||||
| AUTO POSTINGS | ||||
|        "Automated postings" or "auto postings" are extra  postings  which  get | ||||
|        added  automatically  to  transactions which match certain queries, de- | ||||
|        fined by "auto posting rules", when you use the --auto flag. | ||||
| @ -1570,9 +1568,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger 1.20.99                  December 2020              hledger_journal(5) | ||||
| hledger-lib-1.20.99              December 2020              HLEDGER_JOURNAL(5) | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| 
 | ||||
| .TH "hledger_timeclock" "5" "December 2020" "hledger 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER_TIMECLOCK" "5" "December 2020" "hledger-lib-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .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 | ||||
| .PP | ||||
| hledger can read timeclock files. | ||||
| @ -85,6 +85,6 @@ Copyright (C) 2007-2020 Simon Michael. | ||||
| Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -4,10 +4,10 @@ stdin. | ||||
|  | ||||
| File: hledger_timeclock.info,  Node: Top,  Up: (dir) | ||||
| 
 | ||||
| hledger_timeclock(5) hledger 1.20.99 | ||||
| ************************************ | ||||
| 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 | ||||
| subset of) timeclock.el's format, containing clock-in and clock-out | ||||
| @ -61,8 +61,3 @@ Tag Table: | ||||
| Node: Top78 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger_timeclock(5)         hledger User Manuals         hledger_timeclock(5) | ||||
| HLEDGER_TIMECLOCK(5)         hledger User Manuals         HLEDGER_TIMECLOCK(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 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 | ||||
|        hledger  can read timeclock files.  As with Ledger, these are (a subset | ||||
| @ -70,9 +70,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger 1.20.99                  December 2020            hledger_timeclock(5) | ||||
| hledger-lib-1.20.99              December 2020            HLEDGER_TIMECLOCK(5) | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| 
 | ||||
| .TH "hledger_timedot" "5" "December 2020" "hledger 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER_TIMEDOT" "5" "December 2020" "hledger-lib-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .PP | ||||
| Timedot - hledger\[aq]s human-friendly time logging format | ||||
| hledger\[aq]s human-friendly time logging format. | ||||
| .SH DESCRIPTION | ||||
| .PP | ||||
| 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. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -4,10 +4,10 @@ stdin. | ||||
|  | ||||
| File: hledger_timedot.info,  Node: Top,  Up: (dir) | ||||
| 
 | ||||
| hledger_timedot(5) hledger 1.20.99 | ||||
| ********************************** | ||||
| 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 | ||||
| quantities (of time, usually), supported by hledger.  It is convenient | ||||
| @ -143,8 +143,3 @@ Tag Table: | ||||
| Node: Top76 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger_timedot(5)           hledger User Manuals           hledger_timedot(5) | ||||
| HLEDGER_TIMEDOT(5)           hledger User Manuals           HLEDGER_TIMEDOT(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
|        Timedot - hledger's human-friendly time logging format | ||||
|        hledger's human-friendly time logging format. | ||||
| 
 | ||||
| DESCRIPTION | ||||
|        Timedot  is  a plain text format for logging dated, categorised quanti- | ||||
| @ -153,9 +153,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger 1.20.99                  December 2020              hledger_timedot(5) | ||||
| hledger-lib-1.20.99              December 2020              HLEDGER_TIMEDOT(5) | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| 
 | ||||
| .TH "hledger-ui" "1" "December 2020" "hledger-ui 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER-UI" "1" "December 2020" "hledger-ui-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .PP | ||||
| hledger-ui - terminal interface for the hledger accounting tool | ||||
| A terminal interface (TUI) for the hledger accounting tool. | ||||
| .SH SYNOPSIS | ||||
| .PP | ||||
| \f[C]hledger-ui [OPTIONS] [QUERYARGS]\f[R] | ||||
| @ -189,18 +189,18 @@ show version | ||||
| \f[B]\f[CB]--debug[=N]\f[B]\f[R] | ||||
| show debug output (levels 1-9, default: 1) | ||||
| .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. | ||||
| (to prevent this, insert a \f[C]--\f[R] argument before.) | ||||
| .SH keys | ||||
| (To prevent this, insert a \f[C]--\f[R] argument before.) | ||||
| .SH KEYS | ||||
| .PP | ||||
| \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 | ||||
| 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. | ||||
| the following keys work on most screens: | ||||
| (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 | ||||
| \f[C]LEFT\f[R], or \f[C]q\f[R]) to close it. | ||||
| The following keys work on most screens: | ||||
| .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, | ||||
| \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. | ||||
| @ -212,104 +212,103 @@ A tip: movement speed is limited by your keyboard repeat rate, to move | ||||
| faster you may want to adjust it. | ||||
| (If you\[aq]re on a mac, the karabiner app is one way to do that.) | ||||
| .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). | ||||
| \f[C]shift-down/up\f[R] steps downward and upward through these standard | ||||
| 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. | ||||
| 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 | ||||
| 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. | ||||
| .PP | ||||
| \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. | ||||
| 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. | ||||
| there are also keys for quickly adjusting some common filters like | ||||
| 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. | ||||
| There are also keys for quickly adjusting some common filters like | ||||
| 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. | ||||
| .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 | ||||
| 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. | ||||
| \f[I](experimental)\f[R] | ||||
| .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. | ||||
| Or, it cancels minibuffer data entry or the help dialog. | ||||
| .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 | ||||
| don\[aq]t scroll above the top). | ||||
| .PP | ||||
| \f[C]g\f[R] reloads from the data file(s) and updates the current screen | ||||
| and any previous screens. | ||||
| (with large files, this could cause a noticeable pause.) | ||||
| (With large files, this could cause a noticeable pause.) | ||||
| .PP | ||||
| \f[C]i\f[R] toggles balance assertion checking. | ||||
| disabling balance assertions temporarily can be useful for | ||||
| \f[C]I\f[R] toggles balance assertion checking. | ||||
| Disabling balance assertions temporarily can be useful for | ||||
| troubleshooting. | ||||
| .PP | ||||
| \f[C]a\f[R] runs command-line hledger\[aq]s add command, and reloads the | ||||
| updated file. | ||||
| this allows some basic data entry. | ||||
| This allows some basic data entry. | ||||
| .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. | ||||
| 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. | ||||
| .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. | ||||
| 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 | ||||
| screens, and at the error location (if possible) when invoked from the | ||||
| error screen. | ||||
| .PP | ||||
| \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). | ||||
| \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). | ||||
| .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 | ||||
| \f[C]-v/--market\f[R] flag). | ||||
| note, \[dq]current market value\[dq] means the value on the report end | ||||
| \f[C]-V/--market\f[R] flag). | ||||
| Note, \[dq]current market value\[dq] means the value on the report end | ||||
| 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. | ||||
| 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 | ||||
| the query. | ||||
| .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 | ||||
| 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 | ||||
| reliably reset to normal mode. | ||||
| .PP | ||||
| with --watch active, if you save an edit to the journal file 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. | ||||
| to work around, press g to force a manual reload, or exit the | ||||
| With \f[C]--watch\f[R] active, if you save an edit to the journal file | ||||
| 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. | ||||
| To work around, press \f[C]g\f[R] to force a manual reload, or exit the | ||||
| transaction screen. | ||||
| .PP | ||||
| \f[C]q\f[R] quits the application. | ||||
| .PP | ||||
| additional screen-specific keys are described below. | ||||
| .SH screens | ||||
| .SS accounts screen | ||||
| Additional screen-specific keys are described below. | ||||
| .SH SCREENS | ||||
| .SS Accounts screen | ||||
| .PP | ||||
| this is normally the first screen displayed. | ||||
| it lists accounts and their balances, like hledger\[aq]s balance | ||||
| This is normally the first screen displayed. | ||||
| It lists accounts and their balances, like hledger\[aq]s balance | ||||
| 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). | ||||
| 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. | ||||
| .PP | ||||
| 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. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -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) | ||||
| 
 | ||||
| hledger-ui(1) hledger-ui 1.20.99 | ||||
| ******************************** | ||||
| 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]' | ||||
| @ -36,18 +36,14 @@ enable "forecast mode". | ||||
| * Menu: | ||||
| 
 | ||||
| * OPTIONS:: | ||||
| * keys:: | ||||
| * screens:: | ||||
| * accounts screen:: | ||||
| * Register screen:: | ||||
| * Transaction screen:: | ||||
| * Error screen:: | ||||
| * KEYS:: | ||||
| * SCREENS:: | ||||
| * ENVIRONMENT:: | ||||
| * FILES:: | ||||
| * 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 | ||||
| ********* | ||||
| @ -208,22 +204,22 @@ the last one takes precedence. | ||||
| 
 | ||||
|      show debug output (levels 1-9, default: 1) | ||||
| 
 | ||||
|    a @file argument will be expanded to the contents of file, which | ||||
| should contain one command line option/argument per line.  (to prevent | ||||
|    A @FILE argument will be expanded to the contents of FILE, which | ||||
| should contain one command line option/argument per line.  (To prevent | ||||
| 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 | ||||
| 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 | ||||
| '?' 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', or 'LEFT', or 'q') to close it.  The following keys work on | ||||
| 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 | ||||
| down'/'home'/'end' move up and down through lists.  Emacs-style | ||||
| ('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 | ||||
| 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). | ||||
| '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 | ||||
| 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 | ||||
| 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. | ||||
| 
 | ||||
|    '/' 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 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 | ||||
| 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 | ||||
| set it, or 'ESCAPE'to cancel.  There are also keys for quickly adjusting | ||||
| 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. | ||||
| 
 | ||||
|    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 | ||||
| transactions generated by rule.  'f' toggles forecast mode, in which | ||||
| future/forecasted transactions are shown.  _(experimental)_ | ||||
| transactions generated by rule.  'F' toggles forecast mode, in which | ||||
| 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 | ||||
| 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 | ||||
| the top). | ||||
| 
 | ||||
|    '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.) | ||||
| 
 | ||||
|    'i' toggles balance assertion checking.  disabling balance assertions | ||||
|    'I' toggles balance assertion checking.  Disabling balance assertions | ||||
| temporarily can be useful for troubleshooting. | ||||
| 
 | ||||
|    '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 interface.  this key will be available if 'hledger-iadd' is | ||||
|    '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 $path. | ||||
| 
 | ||||
|    'e' runs $hledger_ui_editor, or $editor, or a default ('emacsclient | ||||
| -a "" -nw') on the journal file.  with some editors (emacs, vi), the | ||||
|    'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient | ||||
| -a "" -nw') on the journal file.  With some editors (emacs, vi), the | ||||
| cursor will be positioned at the current transaction when invoked from | ||||
| the register and transaction screens, and at the error location (if | ||||
| possible) when invoked from the error screen. | ||||
| 
 | ||||
|    'b' toggles cost mode, showing amounts in their transaction price's | ||||
| commodity (like toggling the '-b/--cost' flag). | ||||
|    'B' toggles cost mode, showing amounts in their transaction price's | ||||
| commodity (like toggling the '-B/--cost' flag). | ||||
| 
 | ||||
|    'v' toggles value mode, showing amounts' current market value in | ||||
| their default valuation commodity (like toggling the '-v/--market' | ||||
| flag).  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 temporarily set that as the report end date.  eg: to see a | ||||
|    'V' toggles value mode, showing amounts' current market value in | ||||
| their default valuation commodity (like toggling the '-V/--market' | ||||
| flag).  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 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, 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 | ||||
| mode. | ||||
| 
 | ||||
|    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 stop working.  to work around, press g to force a manual reload, or | ||||
| exit the transaction screen. | ||||
|    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 stop working.  To work around, press 'g' to force a manual reload, | ||||
| or exit the transaction screen. | ||||
| 
 | ||||
|    '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 | ||||
| their balances, like hledger's balance command.  by default, it shows | ||||
| This is normally the first screen displayed.  It lists accounts and | ||||
| their balances, like hledger's balance command.  By default, it shows | ||||
| 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. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|  | ||||
| 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 | ||||
| a check register.  Each line represents one transaction and shows: | ||||
| @ -412,10 +415,10 @@ command-line hledger). | ||||
| 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, | ||||
| 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). | ||||
| 
 | ||||
|  | ||||
| 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, | ||||
| 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.) | ||||
| 
 | ||||
|  | ||||
| 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. | ||||
| @ -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 | ||||
| 
 | ||||
| 9 FILES | ||||
| 5 FILES | ||||
| ******* | ||||
| 
 | ||||
| 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 | ||||
| 
 | ||||
| 10 BUGS | ||||
| ******* | ||||
| 6 BUGS | ||||
| ****** | ||||
| 
 | ||||
| The need to precede options with '--' when invoked from hledger is | ||||
| awkward. | ||||
| @ -516,30 +519,25 @@ program is restarted. | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top71 | ||||
| Node: OPTIONS1556 | ||||
| Ref: #options1653 | ||||
| Node: keys5720 | ||||
| Ref: #keys5815 | ||||
| Node: screens10147 | ||||
| Ref: #screens10256 | ||||
| Node: accounts screen10256 | ||||
| Ref: #accounts-screen10392 | ||||
| Node: Register screen12607 | ||||
| Ref: #register-screen12754 | ||||
| Node: Transaction screen14751 | ||||
| Ref: #transaction-screen14901 | ||||
| Node: Error screen15771 | ||||
| Ref: #error-screen15905 | ||||
| Node: ENVIRONMENT16149 | ||||
| Ref: #environment16268 | ||||
| Node: FILES17075 | ||||
| Ref: #files17174 | ||||
| Node: BUGS17387 | ||||
| Ref: #bugs17466 | ||||
| Node: OPTIONS1434 | ||||
| Ref: #options1531 | ||||
| Node: KEYS5598 | ||||
| Ref: #keys5693 | ||||
| Node: SCREENS10012 | ||||
| Ref: #screens10117 | ||||
| Node: Accounts screen10207 | ||||
| Ref: #accounts-screen10335 | ||||
| Node: Register screen12550 | ||||
| Ref: #register-screen12705 | ||||
| Node: Transaction screen14702 | ||||
| Ref: #transaction-screen14860 | ||||
| Node: Error screen15730 | ||||
| Ref: #error-screen15852 | ||||
| Node: ENVIRONMENT16096 | ||||
| Ref: #environment16210 | ||||
| Node: FILES17017 | ||||
| Ref: #files17116 | ||||
| Node: BUGS17329 | ||||
| Ref: #bugs17406 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger-ui(1)                hledger User Manuals                hledger-ui(1) | ||||
| HLEDGER-UI(1)                hledger User Manuals                HLEDGER-UI(1) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
|        hledger-ui - terminal interface for the hledger accounting tool | ||||
|        A terminal interface (TUI) for the hledger accounting tool. | ||||
| 
 | ||||
| SYNOPSIS | ||||
|        hledger-ui [OPTIONS] [QUERYARGS] | ||||
| @ -185,16 +185,16 @@ OPTIONS | ||||
|        --debug[=N] | ||||
|               show debug output (levels 1-9, default: 1) | ||||
| 
 | ||||
|        a @file argument will be expanded to the contents of file, which should | ||||
|        contain  one  command line option/argument per line.  (to prevent this, | ||||
|        A @FILE argument will be expanded to the contents of FILE, which should | ||||
|        contain  one  command line option/argument per line.  (To prevent this, | ||||
|        insert a -- argument before.) | ||||
| 
 | ||||
| keys | ||||
|        ? 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, | ||||
|        or left, or q) to close it.  the following keys work on most screens: | ||||
| KEYS | ||||
|        ? 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, | ||||
|        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 | ||||
|        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, | ||||
| @ -202,87 +202,87 @@ keys | ||||
|        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.) | ||||
| 
 | ||||
|        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- | ||||
|        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. | ||||
|        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 | ||||
|        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. | ||||
| 
 | ||||
|        / 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 | ||||
|        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 | ||||
|        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 | ||||
|        it, or ESCAPEto cancel.  There are also keys for quickly adjusting some | ||||
|        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- | ||||
|        actions  generated  by  rule.   f  toggles  forecast mode, in which fu- | ||||
|        ture/forecasted transactions are shown.  (experimental) | ||||
|        actions  generated  by  rule.   F  toggles  forecast mode, in which fu- | ||||
|        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- | ||||
|        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 | ||||
|        top). | ||||
| 
 | ||||
|        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.) | ||||
| 
 | ||||
|        i toggles balance assertion  checking.   disabling  balance  assertions | ||||
|        I toggles balance assertion  checking.   Disabling  balance  assertions | ||||
|        temporarily can be useful for troubleshooting. | ||||
| 
 | ||||
|        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 | ||||
|        interface.   this key will be available if hledger-iadd is installed in | ||||
|        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 | ||||
|        $path. | ||||
| 
 | ||||
|        e runs $hledger_ui_editor, or $editor, or a default (emacsclient -a  "" | ||||
|        -nw)  on  the  journal file.  with some editors (emacs, vi), the cursor | ||||
|        E runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (emacsclient -a  "" | ||||
|        -nw)  on  the  journal file.  With some editors (emacs, vi), the cursor | ||||
|        will be positioned at the current transaction  when  invoked  from  the | ||||
|        register  and transaction screens, and at the error location (if possi- | ||||
|        ble) when invoked from the error screen. | ||||
| 
 | ||||
|        b toggles cost mode, showing amounts in their transaction price's  com- | ||||
|        modity (like toggling the -b/--cost flag). | ||||
|        B toggles cost mode, showing amounts in their transaction price's  com- | ||||
|        modity (like toggling the -B/--cost flag). | ||||
| 
 | ||||
|        v  toggles  value  mode, showing amounts' current market value in their | ||||
|        default valuation  commodity  (like  toggling  the  -v/--market  flag). | ||||
|        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 | ||||
|        temporarily  set that as the report end date.  eg: to see a transaction | ||||
|        V  toggles  value  mode, showing amounts' current market value in their | ||||
|        default valuation  commodity  (like  toggling  the  -V/--market  flag). | ||||
|        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 | ||||
|        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, | ||||
|        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. | ||||
| 
 | ||||
|        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 | ||||
|        stop working.  to work around, press g to force  a  manual  reload,  or | ||||
|        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 | ||||
|        stop working.  To work around, press g to force  a  manual  reload,  or | ||||
|        exit the transaction screen. | ||||
| 
 | ||||
|        q quits the application. | ||||
| 
 | ||||
|        additional screen-specific keys are described below. | ||||
|        Additional screen-specific keys are described below. | ||||
| 
 | ||||
| screens | ||||
|    accounts screen | ||||
|        this  is  normally  the  first screen displayed.  it lists accounts and | ||||
|        their balances, like hledger's balance command.  by default,  it  shows | ||||
| SCREENS | ||||
|    Accounts screen | ||||
|        This  is  normally  the  first screen displayed.  It lists accounts and | ||||
|        their balances, like hledger's balance command.  By default,  it  shows | ||||
|        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. | ||||
| 
 | ||||
|        Account  names  are  shown as a flat list by default; press t to toggle | ||||
| @ -452,9 +452,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger-ui 1.20.99               December 2020                   hledger-ui(1) | ||||
| hledger-ui-1.20.99               December 2020                   HLEDGER-UI(1) | ||||
|  | ||||
| @ -1,11 +1,11 @@ | ||||
| 
 | ||||
| .TH "hledger-web" "1" "December 2020" "hledger-web 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER-WEB" "1" "December 2020" "hledger-web-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .PP | ||||
| hledger-web - web interface for the hledger accounting tool | ||||
| A web interface (WUI) for the hledger accounting tool. | ||||
| .SH SYNOPSIS | ||||
| .PP | ||||
| \f[C]hledger-web [OPTIONS]\f[R] | ||||
| @ -610,6 +610,6 @@ Copyright (C) 2007-2020 Simon Michael. | ||||
| Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
| @ -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) | ||||
| 
 | ||||
| hledger-web(1) hledger-web 1.20.99 | ||||
| ********************************** | ||||
| 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]' | ||||
| @ -589,26 +589,21 @@ awkward. | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top72 | ||||
| Node: OPTIONS1752 | ||||
| Ref: #options1857 | ||||
| Node: PERMISSIONS8956 | ||||
| Ref: #permissions9095 | ||||
| Node: EDITING UPLOADING DOWNLOADING10307 | ||||
| Ref: #editing-uploading-downloading10488 | ||||
| Node: RELOADING11322 | ||||
| Ref: #reloading11456 | ||||
| Node: JSON API11889 | ||||
| Ref: #json-api12003 | ||||
| Node: ENVIRONMENT17493 | ||||
| Ref: #environment17609 | ||||
| Node: FILES18342 | ||||
| Ref: #files18442 | ||||
| Node: BUGS18655 | ||||
| Ref: #bugs18733 | ||||
| Node: OPTIONS1707 | ||||
| Ref: #options1812 | ||||
| Node: PERMISSIONS8911 | ||||
| Ref: #permissions9050 | ||||
| Node: EDITING UPLOADING DOWNLOADING10262 | ||||
| Ref: #editing-uploading-downloading10443 | ||||
| Node: RELOADING11277 | ||||
| Ref: #reloading11411 | ||||
| Node: JSON API11844 | ||||
| Ref: #json-api11958 | ||||
| Node: ENVIRONMENT17448 | ||||
| Ref: #environment17564 | ||||
| Node: FILES18297 | ||||
| Ref: #files18397 | ||||
| Node: BUGS18610 | ||||
| Ref: #bugs18688 | ||||
|  | ||||
| End Tag Table | ||||
| 
 | ||||
|  | ||||
| Local Variables: | ||||
| coding: utf-8 | ||||
| End: | ||||
|  | ||||
| @ -1,10 +1,10 @@ | ||||
| 
 | ||||
| hledger-web(1)               hledger User Manuals               hledger-web(1) | ||||
| HLEDGER-WEB(1)               hledger User Manuals               HLEDGER-WEB(1) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| NAME | ||||
|        hledger-web - web interface for the hledger accounting tool | ||||
|        A web interface (WUI) for the hledger accounting tool. | ||||
| 
 | ||||
| SYNOPSIS | ||||
|        hledger-web [OPTIONS] | ||||
| @ -545,9 +545,11 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger_csv(5), | ||||
|        hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), ledger(1) | ||||
|        hledger(1), hledger-ui(1), hledger-web(1), ledger(1) | ||||
| 
 | ||||
|        hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| hledger-web 1.20.99              December 2020                  hledger-web(1) | ||||
| hledger-web-1.20.99              December 2020                  HLEDGER-WEB(1) | ||||
|  | ||||
| @ -1,23 +1,20 @@ | ||||
| .\"t | ||||
| 
 | ||||
| .TH "hledger" "1" "December 2020" "hledger 1.20.99" "hledger User Manuals" | ||||
| .TH "HLEDGER" "1" "December 2020" "hledger-1.20.99 " "hledger User Manuals" | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| .SH NAME | ||||
| .PP | ||||
| hledger - a command-line accounting tool | ||||
| A command-line accounting tool for both power users and folks new to | ||||
| accounting. | ||||
| .SH SYNOPSIS | ||||
| .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] | ||||
| .PP | ||||
| \f[C]hledger [-f FILE] COMMAND [OPTIONS] [ARGS]\f[R] | ||||
| .PP | ||||
| \f[C]hledger [-f FILE] ADDONCMD -- [OPTIONS] [ARGS]\f[R] | ||||
| .SH DESCRIPTION | ||||
| .PP | ||||
| hledger is a reliable, cross-platform set of programs for tracking | ||||
| @ -1328,10 +1325,11 @@ T} | ||||
| .TE | ||||
| .SS Report start & end date | ||||
| .PP | ||||
| Most hledger reports show the full span of time represented by the | ||||
| journal data, by default. | ||||
| So, the effective report start and end dates will be the earliest and | ||||
| latest transaction or posting dates found in the journal. | ||||
| By default, most hledger reports will show the full span of time | ||||
| represented by the journal data. | ||||
| The report start date will be the earliest transaction or posting date, | ||||
| and the report end date will be the latest transaction, posting, or | ||||
| market price date. | ||||
| .PP | ||||
| Often you will want to see a shorter time span, such as the current | ||||
| month. | ||||
| @ -1789,7 +1787,7 @@ prices will be used. | ||||
| .PP | ||||
| For single period reports, if an explicit report end date is specified, | ||||
| that will be used as the valuation date; otherwise the valuation date is | ||||
| \[dq]today\[dq]. | ||||
| the journal\[aq]s end date. | ||||
| .PP | ||||
| For multiperiod reports, each column/period is valued on the last day of | ||||
| the period, by default. | ||||
| @ -2466,22 +2464,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). | ||||
| .SH COMMANDS | ||||
| .PP | ||||
| hledger provides a number of subcommands; \f[C]hledger\f[R] with no | ||||
| arguments shows a list. | ||||
| hledger provides a number of commands for producing reports and managing | ||||
| your data. | ||||
| Run \f[C]hledger\f[R] with no arguments to list the commands available. | ||||
| .PP | ||||
| If you install additional \f[C]hledger-*\f[R] packages, or if you put | ||||
| programs or scripts named \f[C]hledger-NAME\f[R] in your PATH, these | ||||
| will also be listed as subcommands. | ||||
| To run a command, write its name (or its abbreviation shown in the | ||||
| commands list, or any unambiguous prefix of the name) as hledger\[aq]s | ||||
| first argument. | ||||
| Eg: \f[C]hledger balance\f[R] or \f[C]hledger bal\f[R]. | ||||
| .PP | ||||
| Run a subcommand by writing its name as first argument (eg | ||||
| \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]). | ||||
| Here are the built-in commands: | ||||
| .PP | ||||
| Here are all the builtin commands in alphabetical order. | ||||
| See also \f[C]hledger\f[R] for a more organised command list, and | ||||
| \f[C]hledger CMD -h\f[R] for detailed command help. | ||||
| \f[B]Data entry (these modify the journal file):\f[R] | ||||
| .IP \[bu] 2 | ||||
| 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 | ||||
| .PP | ||||
| accounts, a | ||||
| @ -2664,6 +2725,10 @@ shown. | ||||
| .PP | ||||
| Transactions making a net change of zero are not shown by default; add | ||||
| 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 | ||||
| .PP | ||||
| Transactions whose date is outside the report period can still be shown, | ||||
| @ -2677,11 +2742,6 @@ To filter strictly by transaction date instead, add the | ||||
| \f[C]--txn-dates\f[R] flag. | ||||
| 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. | ||||
| .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 | ||||
| Examples: | ||||
| .PP | ||||
| @ -2734,6 +2794,10 @@ Then the balance command will show real-world account balances. | ||||
| In some cases the -H/--historical flag is used to ensure this (more | ||||
| below). | ||||
| .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: | ||||
| .SS Classic balance report | ||||
| .PP | ||||
| @ -3378,11 +3442,6 @@ Budget performance in 2019/01: | ||||
|                                         ||        0 [                 0]  | ||||
| \f[R] | ||||
| .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 | ||||
| .PP | ||||
| balancesheet, bs | ||||
| @ -4047,371 +4106,6 @@ Petrol | ||||
| Snacks | ||||
| \f[R] | ||||
| .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 | ||||
| .PP | ||||
| rewrite | ||||
| @ -4979,62 +4673,82 @@ For help on these, see https://github.com/feuerbach/tasty#options | ||||
| (\f[C]-- --help\f[R] currently doesn\[aq]t show them). | ||||
| .SS Add-on commands | ||||
| .PP | ||||
| hledger also searches for external add-on commands, and will include | ||||
| these in the commands list. | ||||
| These are programs or scripts in your PATH whose name starts with | ||||
| \f[C]hledger-\f[R] and ends with a recognised file extension (currently: | ||||
| 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]). | ||||
| Any programs or scripts in your PATH named named | ||||
| \f[C]hledger-SOMETHING\f[R] will also appear in the commands list (with | ||||
| a \f[C]+\f[R] mark). | ||||
| These are called add-on commands. | ||||
| .PP | ||||
| Add-ons can be invoked like any hledger command, but there are a few | ||||
| things to be aware of. | ||||
| Eg if the \f[C]hledger-web\f[R] add-on is installed, | ||||
| These offical add-ons are maintained and released along with hledger: | ||||
| .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. | ||||
| .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 | ||||
| Flags specific to the add-on must have a preceding \f[C]--\f[R] to hide | ||||
| 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]. | ||||
| whose name starts with \f[C]hledger-\f[R] | ||||
| .IP \[bu] 2 | ||||
| You can always run add-ons directly if preferred: | ||||
| \f[C]hledger-web --serve --port 9000\f[R]. | ||||
| whose name ends with a recognised file 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] | ||||
| or none | ||||
| .IP \[bu] 2 | ||||
| and (on unix, mac) which are executable by the current user. | ||||
| .PP | ||||
| Add-ons are a relatively easy way to add local features or experiment | ||||
| with new ideas. | ||||
| They can be written in any language, but haskell scripts have a big | ||||
| advantage: they can use the same hledger (and haskell) library functions | ||||
| that built-in commands do, for command-line options, journal parsing, | ||||
| reporting, etc. | ||||
| .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. | ||||
| advantage: they can use the same hledger library functions that built-in | ||||
| commands use for command-line options, parsing and reporting. | ||||
| .SH ENVIRONMENT | ||||
| .PP | ||||
| \f[B]LEDGER_FILE\f[R] The journal file path when not specified with | ||||
| @ -5214,6 +4928,6 @@ Copyright (C) 2007-2020 Simon Michael. | ||||
| Released under GNU GPL v3 or later. | ||||
| 
 | ||||
| .SH SEE ALSO | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), | ||||
| hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_timedot(5), | ||||
| ledger(1) | ||||
| hledger(1), hledger\-ui(1), hledger\-web(1), ledger(1) | ||||
| 
 | ||||
| hledger_journal(5), hledger_csv(5), hledger_timeclock(5), hledger_timedot(5) | ||||
|  | ||||
							
								
								
									
										1590
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
							
						
						
									
										1590
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1122
									
								
								hledger/hledger.txt
									
									
									
									
									
								
							
							
						
						
									
										1122
									
								
								hledger/hledger.txt
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user