documentation changed to reflect new bs/is/cf and -V behavior
This commit is contained in:
		
							parent
							
								
									b41d11c6e9
								
							
						
					
					
						commit
						600132445c
					
				| @ -1,32 +1,30 @@ | |||||||
| This is hledger-api/doc/hledger-api.1.info, produced by makeinfo | This is hledger-api.1.info, produced by makeinfo version 5.2 from stdin. | ||||||
| version 4.8 from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-api.1.info,  Node: Top,  Up: (dir) | File: hledger-api.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-api(1) hledger-api dev | hledger-api(1) hledger-api dev | ||||||
| ****************************** | ****************************** | ||||||
| 
 | 
 | ||||||
| hledger-api is a simple web API server, intended to support client-side | hledger-api is a simple web API server, intended to support client-side | ||||||
| web apps operating on hledger data. It comes with a series of simple | web apps operating on hledger data.  It comes with a series of simple | ||||||
| client-side app examples, which drive its evolution. | client-side app examples, which drive its evolution. | ||||||
| 
 | 
 | ||||||
|    Like hledger, it reads data from one or more files in hledger |    Like hledger, it reads data from one or more files in hledger | ||||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | journal, timeclock, timedot, or CSV format specified with '-f', or | ||||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||||
| hledger_journal(5) etc. | hledger_journal(5) etc. | ||||||
| 
 | 
 | ||||||
|    The server listens on IP address 127.0.0.1, accessible only to local |    The server listens on IP address 127.0.0.1, accessible only to local | ||||||
| requests, by default. You can change this with `--host', eg `--host | requests, by default.  You can change this with '--host', eg '--host | ||||||
| 0.0.0.0' to listen on all addresses. Note there is no other access | 0.0.0.0' to listen on all addresses.  Note there is no other access | ||||||
| control, so you will need to hide hledger-api behind an authenticating | control, so you will need to hide hledger-api behind an authenticating | ||||||
| proxy if you want to restrict access. You can change the TCP port | proxy if you want to restrict access.  You can change the TCP port | ||||||
| (default: 8001) with `-p PORT'. | (default: 8001) with '-p PORT'. | ||||||
| 
 | 
 | ||||||
|    If invoked as `hledger-api --swagger', instead of starting a server |    If invoked as 'hledger-api --swagger', instead of starting a server | ||||||
| the API docs will be printed in Swagger 2.0 format. | the API docs will be printed in Swagger 2.0 format. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * OPTIONS:: | * OPTIONS:: | ||||||
| @ -37,56 +35,57 @@ File: hledger-api.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top | |||||||
| 1 OPTIONS | 1 OPTIONS | ||||||
| ********* | ********* | ||||||
| 
 | 
 | ||||||
| Note: if invoking hledger-api as a hledger subcommand, write `--' | Note: if invoking hledger-api as a hledger subcommand, write '--' before | ||||||
| before options as shown above. | options as shown above. | ||||||
| 
 | 
 | ||||||
| `-d --static-dir=DIR' | '-d --static-dir=DIR' | ||||||
|      serve files from a different directory (default: `.') | 
 | ||||||
|  |      serve files from a different directory (default: '.') | ||||||
|  | '-p --port=PORT' | ||||||
| 
 | 
 | ||||||
| `-p --port=PORT' |  | ||||||
|      use a different TCP port (default: 8001) |      use a different TCP port (default: 8001) | ||||||
|  | '--swagger' | ||||||
| 
 | 
 | ||||||
| `--swagger' |  | ||||||
|      print API docs in Swagger 2.0 format, and exit |      print API docs in Swagger 2.0 format, and exit | ||||||
| 
 | 
 | ||||||
|    hledger general options: |    hledger general options: | ||||||
| 
 | 
 | ||||||
| `-h' | '-h' | ||||||
|      show general usage (or after COMMAND, the command's usage) | 
 | ||||||
|  |      show general usage (or after COMMAND, the command's usage) | ||||||
|  | '--help' | ||||||
| 
 | 
 | ||||||
| `--help' |  | ||||||
|      show the current program's manual as plain text (or after an add-on |      show the current program's manual as plain text (or after an add-on | ||||||
|      COMMAND, the add-on's manual) |      COMMAND, the add-on's manual) | ||||||
|  | '--man' | ||||||
| 
 | 
 | ||||||
| `--man' |  | ||||||
|      show the current program's manual with man |      show the current program's manual with man | ||||||
|  | '--info' | ||||||
| 
 | 
 | ||||||
| `--info' |  | ||||||
|      show the current program's manual with info |      show the current program's manual with info | ||||||
|  | '--version' | ||||||
| 
 | 
 | ||||||
| `--version' |  | ||||||
|      show version |      show version | ||||||
|  | '--debug[=N]' | ||||||
| 
 | 
 | ||||||
| `--debug[=N]' |  | ||||||
|      show debug output (levels 1-9, default: 1) |      show debug output (levels 1-9, default: 1) | ||||||
|  | '-f FILE --file=FILE' | ||||||
| 
 | 
 | ||||||
| `-f FILE --file=FILE' |      use a different input file.  For stdin, use - | ||||||
|      use a different input file. For stdin, use - | '--rules-file=RULESFILE' | ||||||
| 
 | 
 | ||||||
| `--rules-file=RULESFILE' |  | ||||||
|      Conversion rules file to use when reading CSV (default: FILE.rules) |      Conversion rules file to use when reading CSV (default: FILE.rules) | ||||||
|  | '--alias=OLD=NEW' | ||||||
| 
 | 
 | ||||||
| `--alias=OLD=NEW' |  | ||||||
|      display accounts named OLD as NEW |      display accounts named OLD as NEW | ||||||
|  | '-I --ignore-assertions' | ||||||
| 
 | 
 | ||||||
| `-I --ignore-assertions' |  | ||||||
|      ignore any failing balance assertions in the journal |      ignore any failing balance assertions in the journal | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top90 | Node: Top74 | ||||||
| Node: OPTIONS1216 | Node: OPTIONS1220 | ||||||
| Ref: #options1303 | Ref: #options1307 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -1,23 +1,21 @@ | |||||||
| This is hledger-lib/doc/hledger_csv.5.info, produced by makeinfo | This is hledger_csv.5.info, produced by makeinfo version 5.2 from stdin. | ||||||
| version 4.8 from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger_csv.5.info,  Node: Top,  Up: (dir) | File: hledger_csv.5.info,  Node: Top,  Next: CSV RULES,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger_csv(5) hledger dev | hledger_csv(5) hledger dev | ||||||
| ************************** | ************************** | ||||||
| 
 | 
 | ||||||
| hledger can read CSV files, converting each CSV record into a journal | hledger can read CSV files, converting each CSV record into a journal | ||||||
| entry (transaction), if you provide some conversion hints in a "rules | entry (transaction), if you provide some conversion hints in a "rules | ||||||
| file". This file should be named like the CSV file with an additional | file".  This file should be named like the CSV file with an additional | ||||||
| `.rules' suffix (eg: `mybank.csv.rules'); or, you can specify the file | '.rules' suffix (eg: 'mybank.csv.rules'); or, you can specify the file | ||||||
| with `--rules-file PATH'. hledger will create it if necessary, with | with '--rules-file PATH'.  hledger will create it if necessary, with | ||||||
| some default rules which you'll need to adjust. At minimum, the rules | some default rules which you'll need to adjust.  At minimum, the rules | ||||||
| file must specify the `date' and `amount' fields. For an example, see | file must specify the 'date' and 'amount' fields.  For an example, see | ||||||
| How to read CSV files. | How to read CSV files. | ||||||
| 
 | 
 | ||||||
|    To learn about _exporting_ CSV, see CSV output. |    To learn about _exporting_ CSV, see CSV output. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * CSV RULES:: | * CSV RULES:: | ||||||
| @ -30,8 +28,7 @@ File: hledger_csv.5.info,  Node: CSV RULES,  Next: TIPS,  Prev: Top,  Up: Top | |||||||
| *********** | *********** | ||||||
| 
 | 
 | ||||||
| The following six kinds of rule can appear in the rules file, in any | The following six kinds of rule can appear in the rules file, in any | ||||||
| order. Blank lines and lines beginning with `#' or `;' are ignored. | order.  Blank lines and lines beginning with '#' or ';' are ignored. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * skip:: | * skip:: | ||||||
| @ -47,11 +44,10 @@ File: hledger_csv.5.info,  Node: skip,  Next: date-format,  Up: CSV RULES | |||||||
| 1.1 skip | 1.1 skip | ||||||
| ======== | ======== | ||||||
| 
 | 
 | ||||||
| `skip'_`N'_ | 'skip'_'N'_ | ||||||
| 
 |  | ||||||
|    Skip this number of CSV records at the beginning. You'll need this |  | ||||||
| whenever your CSV data contains header lines. Eg: |  | ||||||
| 
 | 
 | ||||||
|  |    Skip this number of CSV records at the beginning.  You'll need this | ||||||
|  | whenever your CSV data contains header lines.  Eg: | ||||||
| 
 | 
 | ||||||
| # ignore the first CSV line | # ignore the first CSV line | ||||||
| skip 1 | skip 1 | ||||||
| @ -62,26 +58,22 @@ File: hledger_csv.5.info,  Node: date-format,  Next: field list,  Prev: skip,  U | |||||||
| 1.2 date-format | 1.2 date-format | ||||||
| =============== | =============== | ||||||
| 
 | 
 | ||||||
| `date-format'_`DATEFMT'_ | 'date-format'_'DATEFMT'_ | ||||||
| 
 | 
 | ||||||
|    When your CSV date fields are not formatted like `YYYY/MM/DD' (or |    When your CSV date fields are not formatted like 'YYYY/MM/DD' (or | ||||||
| `YYYY-MM-DD' or `YYYY.MM.DD'), you'll need to specify the format. | 'YYYY-MM-DD' or 'YYYY.MM.DD'), you'll need to specify the format. | ||||||
| DATEFMT is a strptime-like date parsing pattern, which must parse the | DATEFMT is a strptime-like date parsing pattern, which must parse the | ||||||
| date field values completely. Examples: | date field values completely.  Examples: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # for dates like "6/11/2013": | # for dates like "6/11/2013": | ||||||
| date-format %-d/%-m/%Y | date-format %-d/%-m/%Y | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # for dates like "11/06/2013": | # for dates like "11/06/2013": | ||||||
| date-format %m/%d/%Y | date-format %m/%d/%Y | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # for dates like "2013-Nov-06": | # for dates like "2013-Nov-06": | ||||||
| date-format %Y-%h-%d | date-format %Y-%h-%d | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # for dates like "11/6/2013 11:32 PM": | # for dates like "11/6/2013 11:32 PM": | ||||||
| date-format %-m/%-d/%Y %l:%M %p | date-format %-m/%-d/%Y %l:%M %p | ||||||
| 
 | 
 | ||||||
| @ -91,15 +83,13 @@ File: hledger_csv.5.info,  Node: field list,  Next: field assignment,  Prev: dat | |||||||
| 1.3 field list | 1.3 field list | ||||||
| ============== | ============== | ||||||
| 
 | 
 | ||||||
| `fields'_`FIELDNAME1'_, _`FIELDNAME2'_... | 'fields'_'FIELDNAME1'_, _'FIELDNAME2'_... | ||||||
| 
 | 
 | ||||||
|    This (a) names the CSV fields, in order (names may not contain |    This (a) names the CSV fields, in order (names may not contain | ||||||
| whitespace; uninteresting names may be left blank), and (b) assigns them | whitespace; uninteresting names may be left blank), and (b) assigns them | ||||||
| to journal entry fields if you use any of these standard field names: | to journal entry fields if you use any of these standard field names: | ||||||
| `date', `date2', `status', `code', `description', `comment', | 'date', 'date2', 'status', 'code', 'description', 'comment', 'account1', | ||||||
| `account1', `account2', `amount', `amount-in', `amount-out', | 'account2', 'amount', 'amount-in', 'amount-out', 'currency'.  Eg: | ||||||
| `currency'. Eg: |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # use the 1st, 2nd and 4th CSV fields as the entry's date, description and amount, | # use the 1st, 2nd and 4th CSV fields as the entry's date, description and amount, | ||||||
| # and give the 7th and 8th fields meaningful names for later reference: | # and give the 7th and 8th fields meaningful names for later reference: | ||||||
| @ -115,17 +105,15 @@ File: hledger_csv.5.info,  Node: field assignment,  Next: conditional block,  Pr | |||||||
| 1.4 field assignment | 1.4 field assignment | ||||||
| ==================== | ==================== | ||||||
| 
 | 
 | ||||||
| _`ENTRYFIELDNAME'_ _`FIELDVALUE'_ | _'ENTRYFIELDNAME'_ _'FIELDVALUE'_ | ||||||
| 
 | 
 | ||||||
|    This sets a journal entry field (one of the standard names above) to |    This sets a journal entry field (one of the standard names above) to | ||||||
| the given text value, which can include CSV field values interpolated by | the given text value, which can include CSV field values interpolated by | ||||||
| name (`%CSVFIELDNAME') or 1-based position (`%N'). Eg: | name ('%CSVFIELDNAME') or 1-based position ('%N').  Eg: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # set the amount to the 4th CSV field with "USD " prepended | # set the amount to the 4th CSV field with "USD " prepended | ||||||
| amount USD %4 | amount USD %4 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # combine three fields to make a comment (containing two tags) | # combine three fields to make a comment (containing two tags) | ||||||
| comment note: %somefield - %anotherfield, date: %1 | comment note: %somefield - %anotherfield, date: %1 | ||||||
| 
 | 
 | ||||||
| @ -138,28 +126,26 @@ File: hledger_csv.5.info,  Node: conditional block,  Next: include,  Prev: field | |||||||
| 1.5 conditional block | 1.5 conditional block | ||||||
| ===================== | ===================== | ||||||
| 
 | 
 | ||||||
| `if' _`PATTERN'_ | 'if' _'PATTERN'_ | ||||||
| _`FIELDASSIGNMENTS'_... |     _'FIELDASSIGNMENTS'_... | ||||||
| 
 | 
 | ||||||
|    `if' |    'if' | ||||||
| _`PATTERN'_ | _'PATTERN'_ | ||||||
| _`PATTERN'_... | _'PATTERN'_... | ||||||
| _`FIELDASSIGNMENTS'_... |     _'FIELDASSIGNMENTS'_... | ||||||
| 
 | 
 | ||||||
|    This applies one or more field assignments, only to those CSV records |    This applies one or more field assignments, only to those CSV records | ||||||
| matched by one of the PATTERNs. The patterns are case-insensitive | matched by one of the PATTERNs.  The patterns are case-insensitive | ||||||
| regular expressions which match anywhere within the whole CSV record | regular expressions which match anywhere within the whole CSV record | ||||||
| (it's not yet possible to match within a specific field). When there are | (it's not yet possible to match within a specific field).  When there | ||||||
| multiple patterns they can be written on separate lines, unindented. The | are multiple patterns they can be written on separate lines, unindented. | ||||||
| field assignments are on separate lines indented by at least one space. | The field assignments are on separate lines indented by at least one | ||||||
| Examples: | space.  Examples: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| # if the CSV record contains "groceries", set account2 to "expenses:groceries" | # if the CSV record contains "groceries", set account2 to "expenses:groceries" | ||||||
| if groceries | if groceries | ||||||
|  account2 expenses:groceries |  account2 expenses:groceries | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # if the CSV record contains any of these patterns, set account2 and comment as shown | # if the CSV record contains any of these patterns, set account2 and comment as shown | ||||||
| if | if | ||||||
| monthly service fee | monthly service fee | ||||||
| @ -174,13 +160,12 @@ File: hledger_csv.5.info,  Node: include,  Prev: conditional block,  Up: CSV RUL | |||||||
| 1.6 include | 1.6 include | ||||||
| =========== | =========== | ||||||
| 
 | 
 | ||||||
| `include'_`RULESFILE'_ | 'include'_'RULESFILE'_ | ||||||
| 
 | 
 | ||||||
|    Include another rules file at this point. `RULESFILE' is either an |    Include another rules file at this point.  'RULESFILE' is either an | ||||||
| absolute file path or a path relative to the current file's directory. | absolute file path or a path relative to the current file's directory. | ||||||
| Eg: | Eg: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # rules reused with several CSV files | # rules reused with several CSV files | ||||||
| include common.rules | include common.rules | ||||||
| 
 | 
 | ||||||
| @ -190,42 +175,41 @@ File: hledger_csv.5.info,  Node: TIPS,  Prev: CSV RULES,  Up: Top | |||||||
| 2 TIPS | 2 TIPS | ||||||
| ****** | ****** | ||||||
| 
 | 
 | ||||||
| Each generated journal entry will have two postings, to `account1' and | Each generated journal entry will have two postings, to 'account1' and | ||||||
| `account2' respectively. Currently it's not possible to generate | 'account2' respectively.  Currently it's not possible to generate | ||||||
| entries with more than two postings. | entries with more than two postings. | ||||||
| 
 | 
 | ||||||
|    If the CSV has debit/credit amounts in separate fields, assign to the |    If the CSV has debit/credit amounts in separate fields, assign to the | ||||||
| `amount-in' and `amount-out' pseudo fields instead of `amount'. | 'amount-in' and 'amount-out' pseudo fields instead of 'amount'. | ||||||
| 
 | 
 | ||||||
|    If the CSV has the currency in a separate field, assign that to the |    If the CSV has the currency in a separate field, assign that to the | ||||||
| `currency' pseudo field which will be automatically prepended to the | 'currency' pseudo field which will be automatically prepended to the | ||||||
| amount. (Or you can do the same thing with a field assignment.) | amount.  (Or you can do the same thing with a field assignment.) | ||||||
| 
 | 
 | ||||||
|    If an amount value is parenthesised, it will be de-parenthesised and |    If an amount value is parenthesised, it will be de-parenthesised and | ||||||
| sign-flipped automatically. | sign-flipped automatically. | ||||||
| 
 | 
 | ||||||
|    The generated journal entries will be sorted by date. The original |    The generated journal entries will be sorted by date.  The original | ||||||
| order of same-day entries will be preserved, usually. | order of same-day entries will be preserved, usually. | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top90 | Node: Top74 | ||||||
| Node: CSV RULES795 | Node: CSV RULES800 | ||||||
| Ref: #csv-rules901 | Ref: #csv-rules906 | ||||||
| Node: skip1144 | Node: skip1149 | ||||||
| Ref: #skip1240 | Ref: #skip1245 | ||||||
| Node: date-format1411 | Node: date-format1417 | ||||||
| Ref: #date-format1540 | Ref: #date-format1546 | ||||||
| Node: field list2049 | Node: field list2052 | ||||||
| Ref: #field-list2188 | Ref: #field-list2191 | ||||||
| Node: field assignment2883 | Node: field assignment2886 | ||||||
| Ref: #field-assignment3040 | Ref: #field-assignment3043 | ||||||
| Node: conditional block3545 | Node: conditional block3547 | ||||||
| Ref: #conditional-block3701 | Ref: #conditional-block3703 | ||||||
| Node: include4588 | Node: include4599 | ||||||
| Ref: #include4699 | Ref: #include4710 | ||||||
| Node: TIPS4930 | Node: TIPS4941 | ||||||
| Ref: #tips5014 | Ref: #tips5025 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -124,27 +124,27 @@ CSV RULES | |||||||
|               include common.rules |               include common.rules | ||||||
| 
 | 
 | ||||||
| TIPS | TIPS | ||||||
|        Each generated journal entry will have two postings,  to  account1  and |        Each  generated  journal  entry will have two postings, to account1 and | ||||||
|        account2 respectively.  Currently it's not possible to generate entries |        account2 respectively.  Currently it's not possible to generate entries | ||||||
|        with more than two postings. |        with more than two postings. | ||||||
| 
 | 
 | ||||||
|        If the CSV has debit/credit amounts in separate fields, assign  to  the |        If  the  CSV has debit/credit amounts in separate fields, assign to the | ||||||
|        amount-in and amount-out pseudo fields instead of amount. |        amount-in and amount-out pseudo fields instead of amount. | ||||||
| 
 | 
 | ||||||
|        If  the  CSV  has  the currency in a separate field, assign that to the |        If the CSV has the currency in a separate field,  assign  that  to  the | ||||||
|        currency pseudo field which will  be  automatically  prepended  to  the |        currency  pseudo  field  which  will  be automatically prepended to the | ||||||
|        amount.  (Or you can do the same thing with a field assignment.) |        amount.  (Or you can do the same thing with a field assignment.) | ||||||
| 
 | 
 | ||||||
|        If  an  amount  value is parenthesised, it will be de-parenthesised and |        If an amount value is parenthesised, it will  be  de-parenthesised  and | ||||||
|        sign-flipped automatically. |        sign-flipped automatically. | ||||||
| 
 | 
 | ||||||
|        The generated journal entries will be sorted  by  date.   The  original |        The  generated  journal  entries  will be sorted by date.  The original | ||||||
|        order of same-day entries will be preserved, usually. |        order of same-day entries will be preserved, usually. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -158,7 +158,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -7,23 +7,23 @@ NAME | |||||||
|        Journal - hledger's default file format, representing a General Journal |        Journal - hledger's default file format, representing a General Journal | ||||||
| 
 | 
 | ||||||
| DESCRIPTION | DESCRIPTION | ||||||
|        hledger's usual data source is a plain  text  file  containing  journal |        hledger's  usual  data  source  is a plain text file containing journal | ||||||
|        entries  in  hledger  journal  format.  This file represents a standard |        entries in hledger journal format.  This  file  represents  a  standard | ||||||
|        accounting general journal.  I use file names ending in  .journal,  but |        accounting  general  journal.  I use file names ending in .journal, but | ||||||
|        that's not required.  The journal file contains a number of transaction |        that's not required.  The journal file contains a number of transaction | ||||||
|        entries, each describing a transfer of money (or any commodity) between |        entries, each describing a transfer of money (or any commodity) between | ||||||
|        two or more named accounts, in a simple format readable by both hledger |        two or more named accounts, in a simple format readable by both hledger | ||||||
|        and humans. |        and humans. | ||||||
| 
 | 
 | ||||||
|        hledger's journal format is a compatible subset,  mostly,  of  ledger's |        hledger's  journal  format  is a compatible subset, mostly, of ledger's | ||||||
|        journal  format,  so  hledger  can  work with compatible ledger journal |        journal format, so hledger can  work  with  compatible  ledger  journal | ||||||
|        files as well.  It's safe, and encouraged,  to  run  both  hledger  and |        files  as  well.   It's  safe,  and encouraged, to run both hledger and | ||||||
|        ledger on the same journal file, eg to validate the results you're get- |        ledger on the same journal file, eg to validate the results you're get- | ||||||
|        ting. |        ting. | ||||||
| 
 | 
 | ||||||
|        You can use hledger without learning any more about this file; just use |        You can use hledger without learning any more about this file; just use | ||||||
|        the  add  or web commands to create and update it.  Many users, though, |        the add or web commands to create and update it.  Many  users,  though, | ||||||
|        also edit the  journal  file  directly  with  a  text  editor,  perhaps |        also  edit  the  journal  file  directly  with  a  text editor, perhaps | ||||||
|        assisted by the helper modes for emacs or vim. |        assisted by the helper modes for emacs or vim. | ||||||
| 
 | 
 | ||||||
|        Here's an example: |        Here's an example: | ||||||
| @ -53,18 +53,18 @@ DESCRIPTION | |||||||
| 
 | 
 | ||||||
| FILE FORMAT | FILE FORMAT | ||||||
|    Transactions |    Transactions | ||||||
|        Transactions  are  represented  by journal entries.  Each begins with a |        Transactions are represented by journal entries.  Each  begins  with  a | ||||||
|        simple date in column 0, followed by three optional fields with  spaces |        simple  date in column 0, followed by three optional fields with spaces | ||||||
|        between them: |        between them: | ||||||
| 
 | 
 | ||||||
|        o a  status  flag,  which  can be empty or ! or * (meaning "uncleared", |        o a status flag, which can be empty or !  or  *  (meaning  "uncleared", | ||||||
|          "pending" and "cleared", or whatever you want) |          "pending" and "cleared", or whatever you want) | ||||||
| 
 | 
 | ||||||
|        o a transaction code (eg a check number), |        o a transaction code (eg a check number), | ||||||
| 
 | 
 | ||||||
|        o and/or a description |        o and/or a description | ||||||
| 
 | 
 | ||||||
|        then some number of postings, of some amount  to  some  account.   Each |        then  some  number  of  postings, of some amount to some account.  Each | ||||||
|        posting is on its own line, consisting of: |        posting is on its own line, consisting of: | ||||||
| 
 | 
 | ||||||
|        o indentation of one or more spaces (or tabs) |        o indentation of one or more spaces (or tabs) | ||||||
| @ -76,34 +76,34 @@ FILE FORMAT | |||||||
|        o optionally, two or more spaces or tabs followed by an amount |        o optionally, two or more spaces or tabs followed by an amount | ||||||
| 
 | 
 | ||||||
|        Usually there are two or more postings, though one or none is also pos- |        Usually there are two or more postings, though one or none is also pos- | ||||||
|        sible.  The posting amounts within a transaction must  always  balance, |        sible.   The  posting amounts within a transaction must always balance, | ||||||
|        ie add up to 0.  Optionally one amount can be left blank, in which case |        ie add up to 0.  Optionally one amount can be left blank, in which case | ||||||
|        it will be inferred. |        it will be inferred. | ||||||
| 
 | 
 | ||||||
|    Dates |    Dates | ||||||
|    Simple dates |    Simple dates | ||||||
|        Within a journal file, transaction dates use Y/M/D (or Y-M-D or  Y.M.D) |        Within  a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D) | ||||||
|        Leading  zeros are optional.  The year may be omitted, in which case it |        Leading zeros are optional.  The year may be omitted, in which case  it | ||||||
|        will be inferred from  the  context  -  the  current  transaction,  the |        will  be  inferred  from  the  context  -  the current transaction, the | ||||||
|        default  year  set  with  a default year directive, or the current date |        default year set with a default year directive,  or  the  current  date | ||||||
|        when the command is run.  Some examples: 2010/01/31, 1/31,  2010-01-31, |        when  the command is run.  Some examples: 2010/01/31, 1/31, 2010-01-31, | ||||||
|        2010.1.31. |        2010.1.31. | ||||||
| 
 | 
 | ||||||
|    Secondary dates |    Secondary dates | ||||||
|        Real-life  transactions  sometimes  involve more than one date - eg the |        Real-life transactions sometimes involve more than one date  -  eg  the | ||||||
|        date you write a cheque, and the date it clears in your bank.  When you |        date you write a cheque, and the date it clears in your bank.  When you | ||||||
|        want  to  model  this,  eg  for more accurate balances, you can specify |        want to model this, eg for more  accurate  balances,  you  can  specify | ||||||
|        individual posting dates, which I recommend.  Or, you can use the  sec- |        individual  posting dates, which I recommend.  Or, you can use the sec- | ||||||
|        ondary  dates  (aka  auxiliary/effective  dates) feature, supported for |        ondary dates (aka auxiliary/effective  dates)  feature,  supported  for | ||||||
|        compatibility with Ledger. |        compatibility with Ledger. | ||||||
| 
 | 
 | ||||||
|        A secondary date can be written after the primary date, separated by an |        A secondary date can be written after the primary date, separated by an | ||||||
|        equals  sign.   The  primary date, on the left, is used by default; the |        equals sign.  The primary date, on the left, is used  by  default;  the | ||||||
|        secondary date, on the right, is used when the --date2 flag  is  speci- |        secondary  date,  on the right, is used when the --date2 flag is speci- | ||||||
|        fied (--aux-date or --effective also work). |        fied (--aux-date or --effective also work). | ||||||
| 
 | 
 | ||||||
|        The  meaning of secondary dates is up to you, but it's best to follow a |        The meaning of secondary dates is up to you, but it's best to follow  a | ||||||
|        consistent rule.  Eg write the bank's clearing  date  as  primary,  and |        consistent  rule.   Eg  write  the bank's clearing date as primary, and | ||||||
|        when needed, the date the transaction was initiated as secondary. |        when needed, the date the transaction was initiated as secondary. | ||||||
| 
 | 
 | ||||||
|        Here's an example.  Note that a secondary date will use the year of the |        Here's an example.  Note that a secondary date will use the year of the | ||||||
| @ -119,18 +119,18 @@ FILE FORMAT | |||||||
|               $ hledger register checking --date2 |               $ hledger register checking --date2 | ||||||
|               2010/02/19 movie ticket         assets:checking                $-10         $-10 |               2010/02/19 movie ticket         assets:checking                $-10         $-10 | ||||||
| 
 | 
 | ||||||
|        Secondary dates require some effort; you must use them consistently  in |        Secondary  dates require some effort; you must use them consistently in | ||||||
|        your journal entries and remember whether to use or not use the --date2 |        your journal entries and remember whether to use or not use the --date2 | ||||||
|        flag for your reports.  They are included in hledger for Ledger compat- |        flag for your reports.  They are included in hledger for Ledger compat- | ||||||
|        ibility,  but  posting  dates  are  a  more powerful and less confusing |        ibility, but posting dates are  a  more  powerful  and  less  confusing | ||||||
|        alternative. |        alternative. | ||||||
| 
 | 
 | ||||||
|    Posting dates |    Posting dates | ||||||
|        You can give individual postings a different  date  from  their  parent |        You  can  give  individual  postings a different date from their parent | ||||||
|        transaction,  by  adding a posting comment containing a tag (see below) |        transaction, by adding a posting comment containing a tag  (see  below) | ||||||
|        like date:DATE.  This is probably the best way to control posting dates |        like date:DATE.  This is probably the best way to control posting dates | ||||||
|        precisely.   Eg  in  this  example  the  expense  should  appear in May |        precisely.  Eg in  this  example  the  expense  should  appear  in  May | ||||||
|        reports, and the deduction from checking should be reported on 6/1  for |        reports,  and the deduction from checking should be reported on 6/1 for | ||||||
|        easy bank reconciliation: |        easy bank reconciliation: | ||||||
| 
 | 
 | ||||||
|               2015/5/30 |               2015/5/30 | ||||||
| @ -143,23 +143,23 @@ FILE FORMAT | |||||||
|               $ hledger -f t.j register checking |               $ hledger -f t.j register checking | ||||||
|               2015/06/01                      assets:checking               $-10          $-10 |               2015/06/01                      assets:checking               $-10          $-10 | ||||||
| 
 | 
 | ||||||
|        DATE  should be a simple date; if the year is not specified it will use |        DATE should be a simple date; if the year is not specified it will  use | ||||||
|        the year of the transaction's date.  You can  set  the  secondary  date |        the  year  of  the  transaction's date.  You can set the secondary date | ||||||
|        similarly,  with  date2:DATE2.   The  date:  or date2: tags must have a |        similarly, with date2:DATE2.  The date: or  date2:  tags  must  have  a | ||||||
|        valid simple date value if they are present, eg a  date:  tag  with  no |        valid  simple  date  value  if they are present, eg a date: tag with no | ||||||
|        value is not allowed. |        value is not allowed. | ||||||
| 
 | 
 | ||||||
|        Ledger's earlier, more compact bracketed date syntax is also supported: |        Ledger's earlier, more compact bracketed date syntax is also supported: | ||||||
|        [DATE], [DATE=DATE2] or [=DATE2].  hledger will attempt  to  parse  any |        [DATE],  [DATE=DATE2]  or  [=DATE2].  hledger will attempt to parse any | ||||||
|        square-bracketed sequence of the 0123456789/-.= characters in this way. |        square-bracketed sequence of the 0123456789/-.= characters in this way. | ||||||
|        With this syntax, DATE infers its year from the transaction  and  DATE2 |        With  this  syntax, DATE infers its year from the transaction and DATE2 | ||||||
|        infers its year from DATE. |        infers its year from DATE. | ||||||
| 
 | 
 | ||||||
|    Account names |    Account names | ||||||
|        Account  names  typically have several parts separated by a full colon, |        Account names typically have several parts separated by a  full  colon, | ||||||
|        from which hledger derives a hierarchical chart of accounts.  They  can |        from  which hledger derives a hierarchical chart of accounts.  They can | ||||||
|        be  anything  you  like,  but  in  finance there are traditionally five |        be anything you like, but  in  finance  there  are  traditionally  five | ||||||
|        top-level accounts: assets, liabilities, income, expenses, and  equity. |        top-level accounts: assets, liabilities, income, expenses, and equity. | ||||||
| 
 | 
 | ||||||
|        Account  names  may  contain single spaces, eg: assets:accounts receiv- |        Account  names  may  contain single spaces, eg: assets:accounts receiv- | ||||||
|        able.  Because of this, they must always be followed  by  two  or  more |        able.  Because of this, they must always be followed  by  two  or  more | ||||||
| @ -206,31 +206,31 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        o if there is a commodity directive specifying the format, that is used |        o if there is a commodity directive specifying the format, that is used | ||||||
| 
 | 
 | ||||||
|        o otherwise the format is inferred from the  first  posting  amount  in |        o otherwise  the  format  is  inferred from the first posting amount in | ||||||
|          that  commodity  in the journal, and the precision (number of decimal |          that commodity in the journal, and the precision (number  of  decimal | ||||||
|          places) will be the maximum from all posting amounts in that commmod- |          places) will be the maximum from all posting amounts in that commmod- | ||||||
|          ity |          ity | ||||||
| 
 | 
 | ||||||
|        o or  if  there are no such amounts in the journal, a default format is |        o or if there are no such amounts in the journal, a default  format  is | ||||||
|          used (like $1000.00). |          used (like $1000.00). | ||||||
| 
 | 
 | ||||||
|        Price amounts and amounts in D directives usually don't  affect  amount |        Price  amounts  and amounts in D directives usually don't affect amount | ||||||
|        format  inference,  but  in  some situations they can do so indirectly. |        format inference, but in some situations they  can  do  so  indirectly. | ||||||
|        (Eg when D's default commodity is applied to a  commodity-less  amount, |        (Eg  when  D's default commodity is applied to a commodity-less amount, | ||||||
|        or when an amountless posting is balanced using a price's commodity, or |        or when an amountless posting is balanced using a price's commodity, or | ||||||
|        when -V is used.) If you find this causing problems,  set  the  desired |        when  -V  is  used.) If you find this causing problems, set the desired | ||||||
|        format with a commodity directive. |        format with a commodity directive. | ||||||
| 
 | 
 | ||||||
|    Virtual Postings |    Virtual Postings | ||||||
|        When  you  parenthesise  the  account name in a posting, we call that a |        When you parenthesise the account name in a posting,  we  call  that  a | ||||||
|        virtual posting, which means: |        virtual posting, which means: | ||||||
| 
 | 
 | ||||||
|        o it is ignored when checking that the transaction is balanced |        o it is ignored when checking that the transaction is balanced | ||||||
| 
 | 
 | ||||||
|        o it is excluded from reports when the --real/-R flag is used,  or  the |        o it  is  excluded from reports when the --real/-R flag is used, or the | ||||||
|          real:1 query. |          real:1 query. | ||||||
| 
 | 
 | ||||||
|        You  could  use  this,  eg, to set an account's opening balance without |        You could use this, eg, to set an  account's  opening  balance  without | ||||||
|        needing to use the equity:opening balances account: |        needing to use the equity:opening balances account: | ||||||
| 
 | 
 | ||||||
|               1/1 special unbalanced posting to set initial balance |               1/1 special unbalanced posting to set initial balance | ||||||
| @ -238,8 +238,8 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        When the account name is bracketed, we call it a balanced virtual post- |        When the account name is bracketed, we call it a balanced virtual post- | ||||||
|        ing.  This is like an ordinary virtual posting except the balanced vir- |        ing.  This is like an ordinary virtual posting except the balanced vir- | ||||||
|        tual postings in a transaction must balance to 0, like the  real  post- |        tual  postings  in a transaction must balance to 0, like the real post- | ||||||
|        ings  (but  separately  from them).  Balanced virtual postings are also |        ings (but separately from them).  Balanced virtual  postings  are  also | ||||||
|        excluded by --real/-R or real:1. |        excluded by --real/-R or real:1. | ||||||
| 
 | 
 | ||||||
|               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere |               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere | ||||||
| @ -249,13 +249,13 @@ FILE FORMAT | |||||||
|                 [assets:checking:budget:food]  $-10 |                 [assets:checking:budget:food]  $-10 | ||||||
| 
 | 
 | ||||||
|        Virtual postings have some legitimate uses, but those are few.  You can |        Virtual postings have some legitimate uses, but those are few.  You can | ||||||
|        usually  find an equivalent journal entry using real postings, which is |        usually find an equivalent journal entry using real postings, which  is | ||||||
|        more correct and provides better error checking. |        more correct and provides better error checking. | ||||||
| 
 | 
 | ||||||
|    Balance Assertions |    Balance Assertions | ||||||
|        hledger supports Ledger-style  balance  assertions  in  journal  files. |        hledger  supports  Ledger-style  balance  assertions  in journal files. | ||||||
|        These  look  like =EXPECTEDBALANCE following a posting's amount.  Eg in |        These look like =EXPECTEDBALANCE following a posting's amount.   Eg  in | ||||||
|        this example we assert the expected dollar balance in accounts a and  b |        this  example we assert the expected dollar balance in accounts a and b | ||||||
|        after each posting: |        after each posting: | ||||||
| 
 | 
 | ||||||
|               2013/1/1 |               2013/1/1 | ||||||
| @ -267,31 +267,31 @@ FILE FORMAT | |||||||
|                 b  $-1  =$-2 |                 b  $-1  =$-2 | ||||||
| 
 | 
 | ||||||
|        After reading a journal file, hledger will check all balance assertions |        After reading a journal file, hledger will check all balance assertions | ||||||
|        and report an error if any of them fail.  Balance assertions  can  pro- |        and  report  an error if any of them fail.  Balance assertions can pro- | ||||||
|        tect  you  from, eg, inadvertently disrupting reconciled balances while |        tect you from, eg, inadvertently disrupting reconciled  balances  while | ||||||
|        cleaning up old entries.  You can disable  them  temporarily  with  the |        cleaning  up  old  entries.   You can disable them temporarily with the | ||||||
|        --ignore-assertions  flag,  which  can be useful for troubleshooting or |        --ignore-assertions flag, which can be useful  for  troubleshooting  or | ||||||
|        for reading Ledger files. |        for reading Ledger files. | ||||||
| 
 | 
 | ||||||
|    Assertions and ordering |    Assertions and ordering | ||||||
|        hledger sorts an account's postings and assertions first  by  date  and |        hledger  sorts  an  account's postings and assertions first by date and | ||||||
|        then  (for postings on the same day) by parse order.  Note this is dif- |        then (for postings on the same day) by parse order.  Note this is  dif- | ||||||
|        ferent from Ledger, which sorts assertions only by parse order.  (Also, |        ferent from Ledger, which sorts assertions only by parse order.  (Also, | ||||||
|        Ledger  assertions  do not see the accumulated effect of repeated post- |        Ledger assertions do not see the accumulated effect of  repeated  post- | ||||||
|        ings to the same account within a transaction.) |        ings to the same account within a transaction.) | ||||||
| 
 | 
 | ||||||
|        So, hledger balance assertions keep  working  if  you  reorder  differ- |        So,  hledger  balance  assertions  keep  working if you reorder differ- | ||||||
|        ently-dated  transactions  within  the  journal.   But  if  you reorder |        ently-dated transactions  within  the  journal.   But  if  you  reorder | ||||||
|        same-dated transactions or postings, assertions might break and require |        same-dated transactions or postings, assertions might break and require | ||||||
|        updating.   This order dependence does bring an advantage: precise con- |        updating.  This order dependence does bring an advantage: precise  con- | ||||||
|        trol over the order of postings and assertions within a day, so you can |        trol over the order of postings and assertions within a day, so you can | ||||||
|        assert intra-day balances. |        assert intra-day balances. | ||||||
| 
 | 
 | ||||||
|    Assertions and included files |    Assertions and included files | ||||||
|        With  included  files, things are a little more complicated.  Including |        With included files, things are a little more  complicated.   Including | ||||||
|        preserves the ordering of postings and assertions.  If you have  multi- |        preserves  the ordering of postings and assertions.  If you have multi- | ||||||
|        ple  postings  to  an  account  on the same day, split across different |        ple postings to an account on the  same  day,  split  across  different | ||||||
|        files, and you also want to assert the account's balance  on  the  same |        files,  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. |        day, you'll have to put the assertion in the right file. | ||||||
| 
 | 
 | ||||||
|    Assertions and multiple -f options |    Assertions and multiple -f options | ||||||
| @ -299,21 +299,21 @@ FILE FORMAT | |||||||
|        -f options.  Use include or concatenate the files instead. |        -f options.  Use include or concatenate the files instead. | ||||||
| 
 | 
 | ||||||
|    Assertions and commodities |    Assertions and commodities | ||||||
|        The asserted balance must be a simple single-commodity amount,  and  in |        The  asserted  balance must be a simple single-commodity amount, and in | ||||||
|        fact  the  assertion  checks  only  this commodity's balance within the |        fact the assertion checks only  this  commodity's  balance  within  the | ||||||
|        (possibly multi-commodity) account balance.  We could call this a  par- |        (possibly  multi-commodity) account balance.  We could call this a par- | ||||||
|        tial  balance  assertion.  This is compatible with Ledger, and makes it |        tial balance assertion.  This is compatible with Ledger, and  makes  it | ||||||
|        possible to make assertions about accounts containing multiple commodi- |        possible to make assertions about accounts containing multiple commodi- | ||||||
|        ties. |        ties. | ||||||
| 
 | 
 | ||||||
|        To  assert  each commodity's balance in such a multi-commodity account, |        To assert each commodity's balance in such a  multi-commodity  account, | ||||||
|        you can add multiple postings (with amount 0 if necessary).   But  note |        you  can  add multiple postings (with amount 0 if necessary).  But note | ||||||
|        that  no  matter  how  many  assertions  you add, you can't be sure the |        that no matter how many assertions you  add,  you  can't  be  sure  the | ||||||
|        account does not contain some unexpected commodity.  (We'll add support |        account does not contain some unexpected commodity.  (We'll add support | ||||||
|        for this kind of total balance assertion if there's demand.) |        for this kind of total balance assertion if there's demand.) | ||||||
| 
 | 
 | ||||||
|    Assertions and subaccounts |    Assertions and subaccounts | ||||||
|        Balance  assertions  do  not  count  the balance from subaccounts; they |        Balance assertions do not count  the  balance  from  subaccounts;  they | ||||||
|        check the posted account's exclusive balance.  For example: |        check the posted account's exclusive balance.  For example: | ||||||
| 
 | 
 | ||||||
|               1/1 |               1/1 | ||||||
| @ -321,7 +321,7 @@ FILE FORMAT | |||||||
|                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 |                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 | ||||||
|                 equity |                 equity | ||||||
| 
 | 
 | ||||||
|        The balance report's flat mode  shows  these  exclusive  balances  more |        The  balance  report's  flat  mode  shows these exclusive balances more | ||||||
|        clearly: |        clearly: | ||||||
| 
 | 
 | ||||||
|               $ hledger bal checking --flat |               $ hledger bal checking --flat | ||||||
| @ -335,10 +335,10 @@ FILE FORMAT | |||||||
|        tual.  They are not affected by the --real/-R flag or real: query. |        tual.  They are not affected by the --real/-R flag or real: query. | ||||||
| 
 | 
 | ||||||
|    Balance Assignments |    Balance Assignments | ||||||
|        Ledger-style balance assignments are also supported.   These  are  like |        Ledger-style  balance  assignments  are also supported.  These are like | ||||||
|        balance  assertions, but with no posting amount on the left side of the |        balance assertions, but with no posting amount on the left side of  the | ||||||
|        equals sign; instead it is calculated automatically so  as  to  satisfy |        equals  sign;  instead  it is calculated automatically so as to satisfy | ||||||
|        the  assertion.   This  can be a convenience during data entry, eg when |        the assertion.  This can be a convenience during data  entry,  eg  when | ||||||
|        setting opening balances: |        setting opening balances: | ||||||
| 
 | 
 | ||||||
|               ; starting a new journal, set asset account balances |               ; starting a new journal, set asset account balances | ||||||
| @ -356,27 +356,27 @@ FILE FORMAT | |||||||
|                 expenses:misc |                 expenses:misc | ||||||
| 
 | 
 | ||||||
|        The calculated amount depends on the account's balance in the commodity |        The calculated amount depends on the account's balance in the commodity | ||||||
|        at  that  point  (which depends on the previously-dated postings of the |        at that point (which depends on the previously-dated  postings  of  the | ||||||
|        commodity to that account since the last balance assertion  or  assign- |        commodity  to  that account since the last balance assertion or assign- | ||||||
|        ment).  Note that using balance assignments makes your journal a little |        ment).  Note that using balance assignments makes your journal a little | ||||||
|        less explicit; to know the exact amount posted, you have to run hledger |        less explicit; to know the exact amount posted, you have to run hledger | ||||||
|        or do the calculations yourself, instead of just reading it. |        or do the calculations yourself, instead of just reading it. | ||||||
| 
 | 
 | ||||||
|    Prices |    Prices | ||||||
|    Transaction prices |    Transaction prices | ||||||
|        Within  a  transaction  posting,  you  can  record an amount's price in |        Within a transaction posting, you  can  record  an  amount's  price  in | ||||||
|        another commodity.  This can be used to document the cost (for  a  pur- |        another  commodity.   This can be used to document the cost (for a pur- | ||||||
|        chase),  or  selling  price (for a sale), or the exchange rate that was |        chase), or selling price (for a sale), or the exchange  rate  that  was | ||||||
|        used, for this transaction.  These transaction prices are fixed, and do |        used, for this transaction.  These transaction prices are fixed, and do | ||||||
|        not change over time. |        not change over time. | ||||||
| 
 | 
 | ||||||
|        Amounts  with  transaction  prices  can be displayed in the transaction |        Amounts with transaction prices can be  displayed  in  the  transaction | ||||||
|        price's commodity, by  using  the  --cost/-B  flag  supported  by  most |        price's  commodity,  by  using  the  --cost/-B  flag  supported by most | ||||||
|        hledger commands (mnemonic: "cost Basis"). |        hledger commands (mnemonic: "cost Basis"). | ||||||
| 
 | 
 | ||||||
|        There are several ways to record a transaction price: |        There are several ways to record a transaction price: | ||||||
| 
 | 
 | ||||||
|        1. Write  the  unit price (aka exchange rate), as @ UNITPRICE after the |        1. Write the unit price (aka exchange rate), as @ UNITPRICE  after  the | ||||||
|           amount: |           amount: | ||||||
| 
 | 
 | ||||||
|                   2009/1/1 |                   2009/1/1 | ||||||
| @ -390,7 +390,7 @@ FILE FORMAT | |||||||
|                     assets:cash |                     assets:cash | ||||||
| 
 | 
 | ||||||
|        3. Or let hledger infer the price so as to balance the transaction.  To |        3. Or let hledger infer the price so as to balance the transaction.  To | ||||||
|           permit  this,  you must fully specify all posting amounts, and their |           permit this, you must fully specify all posting amounts,  and  their | ||||||
|           sum must have a non-zero amount in exactly two commodities: |           sum must have a non-zero amount in exactly two commodities: | ||||||
| 
 | 
 | ||||||
|                   2009/1/1 |                   2009/1/1 | ||||||
| @ -404,38 +404,38 @@ FILE FORMAT | |||||||
|                   assets:foreign currency       $135.00 |                   assets:foreign currency       $135.00 | ||||||
|                   assets:cash                  $-135.00 |                   assets:cash                  $-135.00 | ||||||
| 
 | 
 | ||||||
|        Example use for transaction prices: recording the effective  conversion |        Example  use for transaction prices: recording the effective conversion | ||||||
|        rate of purchases made in a foreign currency. |        rate of purchases made in a foreign currency. | ||||||
| 
 | 
 | ||||||
|    Market prices |    Market prices | ||||||
|        Market  prices are not tied to a particular transaction; they represent |        Market prices are not tied to a particular transaction; they  represent | ||||||
|        historical exchange rates between two commodities.  (Ledger calls  them |        historical  exchange rates between two commodities.  (Ledger calls them | ||||||
|        historical  prices.)  For  example,  the  prices  published  by a stock |        historical prices.) For  example,  the  prices  published  by  a  stock | ||||||
|        exchange or the foreign exchange market.  Some commands (balance,  cur- |        exchange  or the foreign exchange market.  Some commands (balance, cur- | ||||||
|        rently)  can use this information to show the market value of things at |        rently) can use this information to show the market value of things  at | ||||||
|        a given date. |        a given date. | ||||||
| 
 | 
 | ||||||
|        To record market prices, use P directives in the main journal or in  an |        To  record market prices, use P directives in the main journal or in an | ||||||
|        included file.  Their format is: |        included file.  Their format is: | ||||||
| 
 | 
 | ||||||
|               P DATE COMMODITYBEINGPRICED UNITPRICE |               P DATE COMMODITYBEINGPRICED UNITPRICE | ||||||
| 
 | 
 | ||||||
|        DATE  is a simple date as usual.  COMMODITYBEINGPRICED is the symbol of |        DATE is a simple date as usual.  COMMODITYBEINGPRICED is the symbol  of | ||||||
|        the commodity being priced.  UNITPRICE is an  ordinary  amount  (symbol |        the  commodity  being  priced.  UNITPRICE is an ordinary amount (symbol | ||||||
|        and  quantity) in a second commodity, specifying the unit price or con- |        and quantity) in a second commodity, specifying the unit price or  con- | ||||||
|        version rate for the first commodity in terms of  the  second,  on  the |        version  rate  for  the  first commodity in terms of the second, on the | ||||||
|        given date. |        given date. | ||||||
| 
 | 
 | ||||||
|        For  example, the following directives say that one euro was worth 1.35 |        For example, the following directives say that one euro was worth  1.35 | ||||||
|        US dollars during 2009, and $1.40 from 2010 onward: |        US dollars during 2009, and $1.40 from 2010 onward: | ||||||
| 
 | 
 | ||||||
|               P 2009/1/1  $1.35 |               P 2009/1/1  $1.35 | ||||||
|               P 2010/1/1  $1.40 |               P 2010/1/1  $1.40 | ||||||
| 
 | 
 | ||||||
|    Comments |    Comments | ||||||
|        Lines in the journal beginning with a semicolon  (;)  or  hash  (#)  or |        Lines  in  the  journal  beginning  with a semicolon (;) or hash (#) or | ||||||
|        asterisk  (*)  are  comments,  and will be ignored.  (Asterisk comments |        asterisk (*) are comments, and will  be  ignored.   (Asterisk  comments | ||||||
|        make it easy to treat your journal like an org-mode outline in  emacs.) |        make it easy to treat your journal like an org-mode outline in emacs.) | ||||||
| 
 | 
 | ||||||
|        Also,   anything  between  comment  and  end comment  directives  is  a |        Also,   anything  between  comment  and  end comment  directives  is  a | ||||||
|        (multi-line) comment.  If there is no end comment, the comment  extends |        (multi-line) comment.  If there is no end comment, the comment  extends | ||||||
| @ -551,27 +551,27 @@ FILE FORMAT | |||||||
|        Or, you can use the --alias 'OLD=NEW' option on the command line.  This |        Or, you can use the --alias 'OLD=NEW' option on the command line.  This | ||||||
|        affects all entries.  It's useful for trying out aliases interactively. |        affects all entries.  It's useful for trying out aliases interactively. | ||||||
| 
 | 
 | ||||||
|        OLD and NEW are full account names.  hledger will  replace  any  occur- |        OLD  and  NEW  are full account names.  hledger will replace any occur- | ||||||
|        rence  of  the old account name with the new one.  Subaccounts are also |        rence of the old account name with the new one.  Subaccounts  are  also | ||||||
|        affected.  Eg: |        affected.  Eg: | ||||||
| 
 | 
 | ||||||
|               alias checking = assets:bank:wells fargo:checking |               alias checking = assets:bank:wells fargo:checking | ||||||
|               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" |               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" | ||||||
| 
 | 
 | ||||||
|    Regex aliases |    Regex aliases | ||||||
|        There is also a more powerful variant that uses a  regular  expression, |        There  is  also a more powerful variant that uses a regular expression, | ||||||
|        indicated  by  the forward slashes.  (This was the default behaviour in |        indicated by the forward slashes.  (This was the default  behaviour  in | ||||||
|        hledger 0.24-0.25): |        hledger 0.24-0.25): | ||||||
| 
 | 
 | ||||||
|               alias /REGEX/ = REPLACEMENT |               alias /REGEX/ = REPLACEMENT | ||||||
| 
 | 
 | ||||||
|        or --alias '/REGEX/=REPLACEMENT'. |        or --alias '/REGEX/=REPLACEMENT'. | ||||||
| 
 | 
 | ||||||
|        REGEX is a case-insensitive regular expression.   Anywhere  it  matches |        REGEX  is  a  case-insensitive regular expression.  Anywhere it matches | ||||||
|        inside  an  account name, the matched part will be replaced by REPLACE- |        inside an account name, the matched part will be replaced  by  REPLACE- | ||||||
|        MENT.  If REGEX contains parenthesised match groups, these can be  ref- |        MENT.   If REGEX contains parenthesised match groups, these can be ref- | ||||||
|        erenced by the usual numeric backreferences in REPLACEMENT.  Note, cur- |        erenced by the usual numeric backreferences in REPLACEMENT.  Note, cur- | ||||||
|        rently regular expression  aliases  may  cause  noticeable  slow-downs. |        rently  regular  expression  aliases  may  cause noticeable slow-downs. | ||||||
|        (And if you use Ledger on your hledger file, they will be ignored.) Eg: |        (And if you use Ledger on your hledger file, they will be ignored.) Eg: | ||||||
| 
 | 
 | ||||||
|               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 |               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 | ||||||
| @ -730,7 +730,6 @@ EDITOR SUPPORT | |||||||
|        These  were  written  with  Ledger  in mind, but also work with hledger |        These  were  written  with  Ledger  in mind, but also work with hledger | ||||||
|        files: |        files: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        Emacs              http://www.ledger-cli.org/3.0/doc/ledger-mode.html |        Emacs              http://www.ledger-cli.org/3.0/doc/ledger-mode.html | ||||||
|        Vim                https://github.com/ledger/ledger/wiki/Get- |        Vim                https://github.com/ledger/ledger/wiki/Get- | ||||||
|                           ting-started |                           ting-started | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| This is hledger-lib/doc/hledger_timeclock.5.info, produced by makeinfo | This is hledger_timeclock.5.info, produced by makeinfo version 5.2 from | ||||||
| version 4.8 from stdin. | stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger_timeclock.5.info,  Node: Top,  Up: (dir) | File: hledger_timeclock.5.info,  Node: Top,  Up: (dir) | ||||||
| @ -7,24 +7,22 @@ File: hledger_timeclock.5.info,  Node: Top,  Up: (dir) | |||||||
| hledger_timeclock(5) hledger dev | hledger_timeclock(5) hledger dev | ||||||
| ******************************** | ******************************** | ||||||
| 
 | 
 | ||||||
| hledger can read timeclock files. As with Ledger, these are (a subset | hledger can read timeclock files.  As with Ledger, these are (a subset | ||||||
| of) timeclock.el's format, containing clock-in and clock-out entries as | of) timeclock.el's format, containing clock-in and clock-out entries as | ||||||
| in the example below. The date is a simple date. The time format is | in the example below.  The date is a simple date.  The time format is | ||||||
| HH:MM[:SS][+-ZZZZ]. Seconds and timezone are optional. The timezone, if | HH:MM[:SS][+-ZZZZ]. Seconds and timezone are optional.  The timezone, if | ||||||
| present, must be four digits and is ignored (currently the time is | present, must be four digits and is ignored (currently the time is | ||||||
| always interpreted as a local time). | always interpreted as a local time). | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| i 2015/03/30 09:00:00 some:account name  optional description after two spaces | i 2015/03/30 09:00:00 some:account name  optional description after two spaces | ||||||
| o 2015/03/30 09:20:00 | o 2015/03/30 09:20:00 | ||||||
| i 2015/03/31 22:21:45 another account | i 2015/03/31 22:21:45 another account | ||||||
| o 2015/04/01 02:00:34 | o 2015/04/01 02:00:34 | ||||||
| 
 | 
 | ||||||
|    hledger treats each clock-in/clock-out pair as a transaction posting |    hledger treats each clock-in/clock-out pair as a transaction posting | ||||||
| some number of hours to an account. Or if the session spans more than | some number of hours to an account.  Or if the session spans more than | ||||||
| one day, it is split into several transactions, one for each day. For | one day, it is split into several transactions, one for each day.  For | ||||||
| the above time log, `hledger print' generates these journal entries: | the above time log, 'hledger print' generates these journal entries: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| $ hledger -f t.timeclock print | $ hledger -f t.timeclock print | ||||||
| 2015/03/30 * optional description after two spaces | 2015/03/30 * optional description after two spaces | ||||||
| @ -38,7 +36,6 @@ $ hledger -f t.timeclock print | |||||||
| 
 | 
 | ||||||
|    Here is a sample.timeclock to download and some queries to try: |    Here is a sample.timeclock to download and some queries to try: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ hledger -f sample.timeclock balance                               # current time balances | $ hledger -f sample.timeclock balance                               # current time balances | ||||||
| $ hledger -f sample.timeclock register -p 2009/3                    # sessions in march 2009 | $ hledger -f sample.timeclock register -p 2009/3                    # sessions in march 2009 | ||||||
| $ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summary by week | $ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summary by week | ||||||
| @ -50,18 +47,16 @@ $ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summa | |||||||
| 
 | 
 | ||||||
|    * at the command line, use these bash aliases: |    * at the command line, use these bash aliases: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|      alias ti="echo i `date '+%Y-%m-%d %H:%M:%S'` \$* >>$TIMELOG" |      alias ti="echo i `date '+%Y-%m-%d %H:%M:%S'` \$* >>$TIMELOG" | ||||||
|      alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" |      alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" | ||||||
| 
 | 
 | ||||||
|    * or use the old `ti' and `to' scripts in the ledger 2.x repository. |    * or use the old 'ti' and 'to' scripts in the ledger 2.x repository. | ||||||
|      These rely on a "timeclock" executable which I think is just the |      These rely on a "timeclock" executable which I think is just the | ||||||
|      ledger 2 executable renamed. |      ledger 2 executable renamed. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top96 | Node: Top80 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -7,11 +7,11 @@ NAME | |||||||
|        Timeclock - the time logging format of timeclock.el, as read by hledger |        Timeclock - the time logging format of timeclock.el, as read by hledger | ||||||
| 
 | 
 | ||||||
| DESCRIPTION | DESCRIPTION | ||||||
|        hledger can read timeclock files.  As with Ledger, these are (a  subset |        hledger  can read timeclock files.  As with Ledger, these are (a subset | ||||||
|        of) timeclock.el's format, containing clock-in and clock-out entries as |        of) timeclock.el's format, containing clock-in and clock-out entries as | ||||||
|        in the example below.  The date is a simple date.  The time  format  is |        in  the  example below.  The date is a simple date.  The time format is | ||||||
|        HH:MM[:SS][+-ZZZZ].   Seconds and timezone are optional.  The timezone, |        HH:MM[:SS][+-ZZZZ].  Seconds and timezone are optional.  The  timezone, | ||||||
|        if present, must be four digits and is ignored (currently the  time  is |        if  present,  must be four digits and is ignored (currently the time is | ||||||
|        always interpreted as a local time). |        always interpreted as a local time). | ||||||
| 
 | 
 | ||||||
|               i 2015/03/30 09:00:00 some:account name  optional description after two spaces |               i 2015/03/30 09:00:00 some:account name  optional description after two spaces | ||||||
| @ -19,9 +19,9 @@ DESCRIPTION | |||||||
|               i 2015/03/31 22:21:45 another account |               i 2015/03/31 22:21:45 another account | ||||||
|               o 2015/04/01 02:00:34 |               o 2015/04/01 02:00:34 | ||||||
| 
 | 
 | ||||||
|        hledger  treats  each  clock-in/clock-out pair as a transaction posting |        hledger treats each clock-in/clock-out pair as  a  transaction  posting | ||||||
|        some number of hours to an account.  Or if the session spans more  than |        some  number of hours to an account.  Or if the session spans more than | ||||||
|        one  day, it is split into several transactions, one for each day.  For |        one day, it is split into several transactions, one for each day.   For | ||||||
|        the above time log, hledger print generates these journal entries: |        the above time log, hledger print generates these journal entries: | ||||||
| 
 | 
 | ||||||
|               $ hledger -f t.timeclock print |               $ hledger -f t.timeclock print | ||||||
| @ -42,7 +42,7 @@ DESCRIPTION | |||||||
| 
 | 
 | ||||||
|        To generate time logs, ie to clock in and clock out, you could: |        To generate time logs, ie to clock in and clock out, you could: | ||||||
| 
 | 
 | ||||||
|        o use emacs and  the  built-in  timeclock.el,  or  the  extended  time- |        o use  emacs  and  the  built-in  timeclock.el,  or  the extended time- | ||||||
|          clock-x.el and perhaps the extras in ledgerutils.el |          clock-x.el and perhaps the extras in ledgerutils.el | ||||||
| 
 | 
 | ||||||
|        o at the command line, use these bash aliases: |        o at the command line, use these bash aliases: | ||||||
| @ -51,13 +51,13 @@ DESCRIPTION | |||||||
|                 alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" |                 alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" | ||||||
| 
 | 
 | ||||||
|        o or use the old ti and to scripts in the ledger 2.x repository.  These |        o or use the old ti and to scripts in the ledger 2.x repository.  These | ||||||
|          rely on a "timeclock" executable which I think is just the  ledger  2 |          rely  on  a "timeclock" executable which I think is just the ledger 2 | ||||||
|          executable renamed. |          executable renamed. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -71,7 +71,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,24 +1,23 @@ | |||||||
| This is hledger-lib/doc/hledger_timedot.5.info, produced by makeinfo | This is hledger_timedot.5.info, produced by makeinfo version 5.2 from | ||||||
| version 4.8 from stdin. | stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger_timedot.5.info,  Node: Top,  Up: (dir) | File: hledger_timedot.5.info,  Node: Top,  Next: FILE FORMAT,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger_timedot(5) hledger dev | hledger_timedot(5) hledger dev | ||||||
| ****************************** | ****************************** | ||||||
| 
 | 
 | ||||||
| Timedot is a plain text format for logging dated, categorised quantities | Timedot is a plain text format for logging dated, categorised quantities | ||||||
| (eg time), supported by hledger. It is convenient for approximate and | (eg time), supported by hledger.  It is convenient for approximate and | ||||||
| retroactive time logging, eg when the real-time clock-in/out required | retroactive time logging, eg when the real-time clock-in/out required | ||||||
| with a timeclock file is too precise or too interruptive. It can be | with a timeclock file is too precise or too interruptive.  It can be | ||||||
| formatted like a bar chart, making clear at a glance where time was | formatted like a bar chart, making clear at a glance where time was | ||||||
| spent. | spent. | ||||||
| 
 | 
 | ||||||
|    Though called "timedot", the format does not specify the commodity |    Though called "timedot", the format does not specify the commodity | ||||||
| being logged, so could represent other dated, quantifiable things. Eg | being logged, so could represent other dated, quantifiable things.  Eg | ||||||
| you could record a single-entry journal of financial transactions, | you could record a single-entry journal of financial transactions, | ||||||
| perhaps slightly more conveniently than with hledger_journal(5) format. | perhaps slightly more conveniently than with hledger_journal(5) format. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * FILE FORMAT:: | * FILE FORMAT:: | ||||||
| @ -29,26 +28,24 @@ File: hledger_timedot.5.info,  Node: FILE FORMAT,  Prev: Top,  Up: Top | |||||||
| 1 FILE FORMAT | 1 FILE FORMAT | ||||||
| ************* | ************* | ||||||
| 
 | 
 | ||||||
| A timedot file contains a series of day entries. A day entry begins with | A timedot file contains a series of day entries.  A day entry begins | ||||||
| a date, and is followed by category/quantity pairs, one per line. Dates | with a date, and is followed by category/quantity pairs, one per line. | ||||||
| are hledger-style simple dates (see hledger_journal(5)). Categories are | Dates are hledger-style simple dates (see hledger_journal(5)). | ||||||
| hledger-style account names, optionally indented. There must be at least | Categories are hledger-style account names, optionally indented.  There | ||||||
| two spaces between the category and the quantity. Quantities can be | must be at least two spaces between the category and the quantity. | ||||||
| written in two ways: | Quantities can be written in two ways: | ||||||
| 
 | 
 | ||||||
|   1. a series of dots (period characters). Each dot represents "a |   1. a series of dots (period characters).  Each dot represents "a | ||||||
|      quarter" - eg, a quarter hour. Spaces can be used to group dots |      quarter" - eg, a quarter hour.  Spaces can be used to group dots | ||||||
|      into hours, for easier counting. |      into hours, for easier counting. | ||||||
| 
 | 
 | ||||||
|   2. a number (integer or decimal), representing "units" - eg, hours. A |   2. a number (integer or decimal), representing "units" - eg, hours.  A | ||||||
|      good alternative when dots are cumbersome. (A number also can |      good alternative when dots are cumbersome.  (A number also can | ||||||
|      record negative quantities.) |      record negative quantities.) | ||||||
| 
 | 
 | ||||||
| 
 |    Blank lines and lines beginning with #, ; or * are ignored.  An | ||||||
|    Blank lines and lines beginning with #, ; or * are ignored. An |  | ||||||
| example: | example: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| # on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc. | # on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc. | ||||||
| 2016/2/1 | 2016/2/1 | ||||||
| inc:client1   .... .... .... .... .... .... | inc:client1   .... .... .... .... .... .... | ||||||
| @ -61,7 +58,6 @@ biz:research  . | |||||||
| 
 | 
 | ||||||
|    Or with numbers: |    Or with numbers: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 2016/2/3 | 2016/2/3 | ||||||
| inc:client1   4 | inc:client1   4 | ||||||
| fos:hledger   3 | fos:hledger   3 | ||||||
| @ -69,7 +65,6 @@ biz:research  1 | |||||||
| 
 | 
 | ||||||
|    Reporting: |    Reporting: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ hledger -f t.timedot print date:2016/2/2 | $ hledger -f t.timedot print date:2016/2/2 | ||||||
| 2016/02/02 * | 2016/02/02 * | ||||||
|     (inc:client1)          2.00 |     (inc:client1)          2.00 | ||||||
| @ -77,7 +72,6 @@ $ hledger -f t.timedot print date:2016/2/2 | |||||||
| 2016/02/02 * | 2016/02/02 * | ||||||
|     (biz:research)          0.25 |     (biz:research)          0.25 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ hledger -f t.timedot bal --daily --tree | $ hledger -f t.timedot bal --daily --tree | ||||||
| Balance changes in 2016/02/01-2016/02/03: | Balance changes in 2016/02/01-2016/02/03: | ||||||
| 
 | 
 | ||||||
| @ -93,15 +87,13 @@ Balance changes in 2016/02/01-2016/02/03: | |||||||
| ------------++---------------------------------------- | ------------++---------------------------------------- | ||||||
|             ||         7.75         2.25         8.00 |             ||         7.75         2.25         8.00 | ||||||
| 
 | 
 | ||||||
|    I prefer to use period for separating account components. We can make |    I prefer to use period for separating account components.  We can | ||||||
| this work with an account alias: | make this work with an account alias: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| 2016/2/4 | 2016/2/4 | ||||||
| fos.hledger.timedot  4 | fos.hledger.timedot  4 | ||||||
| fos.ledger           .. | fos.ledger           .. | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | ||||||
|                 4.50  fos |                 4.50  fos | ||||||
|                 4.00    hledger:timedot |                 4.00    hledger:timedot | ||||||
| @ -111,11 +103,10 @@ $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | |||||||
| 
 | 
 | ||||||
|    Here is a sample.timedot. |    Here is a sample.timedot. | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top94 | Node: Top78 | ||||||
| Node: FILE FORMAT876 | Node: FILE FORMAT882 | ||||||
| Ref: #file-format979 | Ref: #file-format985 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -63,12 +63,6 @@ show period balances (changes) at startup instead of historical balances | |||||||
| show full account names, unindented | show full account names, unindented | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP |  | ||||||
| .B \f[C]\-V\ \-\-value\f[] |  | ||||||
| show amounts as their current market value in their default valuation |  | ||||||
| commodity (accounts screen only) |  | ||||||
| .RS |  | ||||||
| .RE |  | ||||||
| .PP | .PP | ||||||
| hledger general options: | hledger general options: | ||||||
| .TP | .TP | ||||||
| @ -208,6 +202,12 @@ price, if any) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-V\ \-\-value\f[] | ||||||
|  | convert amounts to their market value on the report end date (using the | ||||||
|  | most recent applicable market price, if any) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-pivot\ TAGNAME\f[] | .B \f[C]\-\-pivot\ TAGNAME\f[] | ||||||
| organize reports by some tag\[aq]s value instead of by account | organize reports by some tag\[aq]s value instead of by account | ||||||
| .RS | .RS | ||||||
|  | |||||||
| @ -1,24 +1,22 @@ | |||||||
| This is hledger-ui/doc/hledger-ui.1.info, produced by makeinfo version | This is hledger-ui.1.info, produced by makeinfo version 5.2 from stdin. | ||||||
| 4.8 from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.1.info,  Node: Top,  Up: (dir) | File: hledger-ui.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-ui(1) hledger-ui dev | hledger-ui(1) hledger-ui dev | ||||||
| **************************** | **************************** | ||||||
| 
 | 
 | ||||||
| hledger-ui is hledger's curses-style interface, providing an efficient | hledger-ui is hledger's curses-style interface, providing an efficient | ||||||
| full-window text UI for viewing accounts and transactions, and some | full-window text UI for viewing accounts and transactions, and some | ||||||
| limited data entry capability. It is easier than hledger's command-line | limited data entry capability.  It is easier than hledger's command-line | ||||||
| interface, and sometimes quicker and more convenient than the web | interface, and sometimes quicker and more convenient than the web | ||||||
| interface. | interface. | ||||||
| 
 | 
 | ||||||
|    Like hledger, it reads data from one or more files in hledger |    Like hledger, it reads data from one or more files in hledger | ||||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | journal, timeclock, timedot, or CSV format specified with '-f', or | ||||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||||
| hledger_journal(5) etc. | hledger_journal(5) etc. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * OPTIONS:: | * OPTIONS:: | ||||||
| @ -31,121 +29,124 @@ File: hledger-ui.1.info,  Node: OPTIONS,  Next: KEYS,  Prev: Top,  Up: Top | |||||||
| 1 OPTIONS | 1 OPTIONS | ||||||
| ********* | ********* | ||||||
| 
 | 
 | ||||||
| Note: if invoking hledger-ui as a hledger subcommand, write `--' before | Note: if invoking hledger-ui as a hledger subcommand, write '--' before | ||||||
| options as shown above. | options as shown above. | ||||||
| 
 | 
 | ||||||
|    Any QUERYARGS are interpreted as a hledger search query which filters |    Any QUERYARGS are interpreted as a hledger search query which filters | ||||||
| the data. | the data. | ||||||
| 
 | 
 | ||||||
| `--watch' | '--watch' | ||||||
|  | 
 | ||||||
|      watch for data and date changes and reload automatically |      watch for data and date changes and reload automatically | ||||||
|  | '--theme=default|terminal|greenterm' | ||||||
| 
 | 
 | ||||||
| `--theme=default|terminal|greenterm' |  | ||||||
|      use this custom display theme |      use this custom display theme | ||||||
|  | '--register=ACCTREGEX' | ||||||
| 
 | 
 | ||||||
| `--register=ACCTREGEX' |  | ||||||
|      start in the (first) matched account's register screen |      start in the (first) matched account's register screen | ||||||
|  | '--change' | ||||||
| 
 | 
 | ||||||
| `--change' |  | ||||||
|      show period balances (changes) at startup instead of historical |      show period balances (changes) at startup instead of historical | ||||||
|      balances |      balances | ||||||
|  | '--flat' | ||||||
| 
 | 
 | ||||||
| `--flat' |  | ||||||
|      show full account names, unindented |      show full account names, unindented | ||||||
| 
 | 
 | ||||||
| `-V --value' |  | ||||||
|      show amounts as their current market value in their default |  | ||||||
|      valuation commodity (accounts screen only) |  | ||||||
| 
 |  | ||||||
|    hledger general options: |    hledger general options: | ||||||
| 
 | 
 | ||||||
| `-h' | '-h' | ||||||
|      show general usage (or after COMMAND, the command's usage) | 
 | ||||||
|  |      show general usage (or after COMMAND, the command's usage) | ||||||
|  | '--help' | ||||||
| 
 | 
 | ||||||
| `--help' |  | ||||||
|      show the current program's manual as plain text (or after an add-on |      show the current program's manual as plain text (or after an add-on | ||||||
|      COMMAND, the add-on's manual) |      COMMAND, the add-on's manual) | ||||||
|  | '--man' | ||||||
| 
 | 
 | ||||||
| `--man' |  | ||||||
|      show the current program's manual with man |      show the current program's manual with man | ||||||
|  | '--info' | ||||||
| 
 | 
 | ||||||
| `--info' |  | ||||||
|      show the current program's manual with info |      show the current program's manual with info | ||||||
|  | '--version' | ||||||
| 
 | 
 | ||||||
| `--version' |  | ||||||
|      show version |      show version | ||||||
|  | '--debug[=N]' | ||||||
| 
 | 
 | ||||||
| `--debug[=N]' |  | ||||||
|      show debug output (levels 1-9, default: 1) |      show debug output (levels 1-9, default: 1) | ||||||
|  | '-f FILE --file=FILE' | ||||||
| 
 | 
 | ||||||
| `-f FILE --file=FILE' |      use a different input file.  For stdin, use - | ||||||
|      use a different input file. For stdin, use - | '--rules-file=RULESFILE' | ||||||
| 
 | 
 | ||||||
| `--rules-file=RULESFILE' |  | ||||||
|      Conversion rules file to use when reading CSV (default: FILE.rules) |      Conversion rules file to use when reading CSV (default: FILE.rules) | ||||||
|  | '--alias=OLD=NEW' | ||||||
| 
 | 
 | ||||||
| `--alias=OLD=NEW' |  | ||||||
|      display accounts named OLD as NEW |      display accounts named OLD as NEW | ||||||
|  | '-I --ignore-assertions' | ||||||
| 
 | 
 | ||||||
| `-I --ignore-assertions' |  | ||||||
|      ignore any failing balance assertions in the journal |      ignore any failing balance assertions in the journal | ||||||
| 
 | 
 | ||||||
|    hledger reporting options: |    hledger reporting options: | ||||||
| 
 | 
 | ||||||
| `-b --begin=DATE' | '-b --begin=DATE' | ||||||
|  | 
 | ||||||
|      include postings/txns on or after this date |      include postings/txns on or after this date | ||||||
|  | '-e --end=DATE' | ||||||
| 
 | 
 | ||||||
| `-e --end=DATE' |  | ||||||
|      include postings/txns before this date |      include postings/txns before this date | ||||||
|  | '-D --daily' | ||||||
| 
 | 
 | ||||||
| `-D --daily' |  | ||||||
|      multiperiod/multicolumn report by day |      multiperiod/multicolumn report by day | ||||||
|  | '-W --weekly' | ||||||
| 
 | 
 | ||||||
| `-W --weekly' |  | ||||||
|      multiperiod/multicolumn report by week |      multiperiod/multicolumn report by week | ||||||
|  | '-M --monthly' | ||||||
| 
 | 
 | ||||||
| `-M --monthly' |  | ||||||
|      multiperiod/multicolumn report by month |      multiperiod/multicolumn report by month | ||||||
|  | '-Q --quarterly' | ||||||
| 
 | 
 | ||||||
| `-Q --quarterly' |  | ||||||
|      multiperiod/multicolumn report by quarter |      multiperiod/multicolumn report by quarter | ||||||
|  | '-Y --yearly' | ||||||
| 
 | 
 | ||||||
| `-Y --yearly' |  | ||||||
|      multiperiod/multicolumn report by year |      multiperiod/multicolumn report by year | ||||||
|  | '-p --period=PERIODEXP' | ||||||
| 
 | 
 | ||||||
| `-p --period=PERIODEXP' |  | ||||||
|      set start date, end date, and/or reporting interval all at once |      set start date, end date, and/or reporting interval all at once | ||||||
|      (overrides the flags above) |      (overrides the flags above) | ||||||
|  | '--date2' | ||||||
| 
 | 
 | ||||||
| `--date2' |  | ||||||
|      show, and match with -b/-e/-p/date:, secondary dates instead |      show, and match with -b/-e/-p/date:, secondary dates instead | ||||||
|  | '-C --cleared' | ||||||
| 
 | 
 | ||||||
| `-C --cleared' |  | ||||||
|      include only cleared postings/txns |      include only cleared postings/txns | ||||||
|  | '--pending' | ||||||
| 
 | 
 | ||||||
| `--pending' |  | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
|  | '-U --uncleared' | ||||||
| 
 | 
 | ||||||
| `-U --uncleared' |  | ||||||
|      include only uncleared (and pending) postings/txns |      include only uncleared (and pending) postings/txns | ||||||
|  | '-R --real' | ||||||
| 
 | 
 | ||||||
| `-R --real' |  | ||||||
|      include only non-virtual postings |      include only non-virtual postings | ||||||
|  | '--depth=N' | ||||||
| 
 | 
 | ||||||
| `--depth=N' |  | ||||||
|      hide accounts/postings deeper than N |      hide accounts/postings deeper than N | ||||||
|  | '-E --empty' | ||||||
| 
 | 
 | ||||||
| `-E --empty' |  | ||||||
|      show items with zero amount, normally hidden |      show items with zero amount, normally hidden | ||||||
|  | '-B --cost' | ||||||
| 
 | 
 | ||||||
| `-B --cost' |  | ||||||
|      convert amounts to their cost at transaction time (using the |      convert amounts to their cost at transaction time (using the | ||||||
|      transaction price, if any) |      transaction price, if any) | ||||||
|  | '-V --value' | ||||||
|  | 
 | ||||||
|  |      convert amounts to their market value on the report end date (using | ||||||
|  |      the most recent applicable market price, if any) | ||||||
|  | '--pivot TAGNAME' | ||||||
| 
 | 
 | ||||||
| `--pivot TAGNAME' |  | ||||||
|      organize reports by some tag's value instead of by account |      organize reports by some tag's value instead of by account | ||||||
|  | '--anon' | ||||||
| 
 | 
 | ||||||
| `--anon' |  | ||||||
|      show anonymized accounts and payees |      show anonymized accounts and payees | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| @ -154,57 +155,57 @@ File: hledger-ui.1.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top | |||||||
| 2 KEYS | 2 KEYS | ||||||
| ****** | ****** | ||||||
| 
 | 
 | ||||||
| `?' shows a help dialog listing all keys. (Some of these also appear in | '?' shows a help dialog listing all keys.  (Some of these also appear in | ||||||
| the quick help at the bottom of each screen.) Press `?' again (or | the quick help at the bottom of each screen.)  Press '?' again (or | ||||||
| `ESCAPE', or `LEFT') to close it. The following keys work on most | 'ESCAPE', or 'LEFT') to close it.  The following keys work on most | ||||||
| screens: | screens: | ||||||
| 
 | 
 | ||||||
|    The cursor keys navigate: `right' (or `enter') goes deeper, `left' |    The cursor keys navigate: 'right' (or 'enter') goes deeper, 'left' | ||||||
| returns to the previous screen, `up'/`down'/`page up'/`page | returns to the previous screen, 'up'/'down'/'page up'/'page | ||||||
| down'/`home'/`end' move up and down through lists. Vi-style | down'/'home'/'end' move up and down through lists.  Vi-style | ||||||
| `h'/`j'/`k'/`l' movement keys are also supported. A tip: movement speed | 'h'/'j'/'k'/'l' movement keys are also supported.  A tip: movement speed | ||||||
| is limited by your keyboard repeat rate, to move faster you may want to | 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 | adjust it.  (If you're on a mac, the Karabiner app is one way to do | ||||||
| that.) | that.) | ||||||
| 
 | 
 | ||||||
|    With shift pressed, the cursor keys adjust the report period, |    With shift pressed, the cursor keys adjust the report period, | ||||||
| limiting the transactions to be shown (by default, all are shown). | limiting the transactions to be shown (by default, all are shown). | ||||||
| `shift-down/up' steps downward and upward through these standard report | 'shift-down/up' steps downward and upward through these standard report | ||||||
| period durations: year, quarter, month, week, day. Then, | period durations: year, quarter, month, week, day.  Then, | ||||||
| `shift-left/right' moves to the previous/next period. `t' sets the | 'shift-left/right' moves to the previous/next period.  't' sets the | ||||||
| report period to today. With the `--watch' option, when viewing a | report period to today.  With the '--watch' option, when viewing a | ||||||
| "current" period (the current day, week, month, quarter, or year), the | "current" period (the current day, week, month, quarter, or year), the | ||||||
| period will move automatically to track the current date. To set a | period will move automatically to track the current date.  To set a | ||||||
| non-standard period, you can use `/' and a `date:' query. | non-standard period, you can use '/' and a 'date:' query. | ||||||
| 
 | 
 | ||||||
|    `/' lets you set a general filter query limiting the data shown, |    '/' lets you set a general filter query limiting the data shown, | ||||||
| using the same query terms as in hledger and hledger-web. While editing | using the same query terms as in hledger and hledger-web.  While editing | ||||||
| the query, you can use CTRL-a/e/d/k, BS, cursor keys; press `ENTER' to | the query, you can use CTRL-a/e/d/k, BS, cursor keys; press 'ENTER' to | ||||||
| set it, or `ESCAPE'to cancel. There are also keys for quickly adjusting | set it, or 'ESCAPE'to cancel.  There are also keys for quickly adjusting | ||||||
| some common filters like account depth and cleared/uncleared (see | some common filters like account depth and cleared/uncleared (see | ||||||
| below). `BACKSPACE' or `DELETE' removes all filters, showing all | below).  'BACKSPACE' or 'DELETE' removes all filters, showing all | ||||||
| transactions. | transactions. | ||||||
| 
 | 
 | ||||||
|    `ESCAPE' removes all filters and jumps back to the top screen. Or, |    'ESCAPE' removes all filters and jumps back to the top screen.  Or, | ||||||
| it cancels a minibuffer edit or help dialog in progress. | it cancels a minibuffer edit or help dialog in progress. | ||||||
| 
 | 
 | ||||||
|    `g' reloads from the data file(s) and updates the current screen and |    'g' reloads from the data file(s) and updates the current screen and | ||||||
| any previous screens. (With large files, this could cause a noticeable | any previous screens.  (With large files, this could cause a noticeable | ||||||
| pause.) | pause.) | ||||||
| 
 | 
 | ||||||
|    `I' toggles balance assertion checking. Disabling balance assertions |    'I' toggles balance assertion checking.  Disabling balance assertions | ||||||
| temporarily can be useful for troubleshooting. | temporarily can be useful for troubleshooting. | ||||||
| 
 | 
 | ||||||
|    `a' runs command-line hledger's add command, and reloads the updated |    'a' runs command-line hledger's add command, and reloads the updated | ||||||
| file. This allows some basic data entry. | file.  This allows some basic data entry. | ||||||
| 
 | 
 | ||||||
|    `E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (`emacsclient |    'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient | ||||||
| -a "" -nw') on the journal file. With some editors (emacs, vi), the | -a "" -nw') on the journal file.  With some editors (emacs, vi), the | ||||||
| cursor will be positioned at the current transaction when invoked from | cursor will be positioned at the current transaction when invoked from | ||||||
| the register and transaction screens, and at the error location (if | the register and transaction screens, and at the error location (if | ||||||
| possible) when invoked from the error screen. | possible) when invoked from the error screen. | ||||||
| 
 | 
 | ||||||
|    `q' quits the application. |    'q' quits the application. | ||||||
| 
 | 
 | ||||||
|    Additional screen-specific keys are described below. |    Additional screen-specific keys are described below. | ||||||
| 
 | 
 | ||||||
| @ -227,45 +228,45 @@ File: hledger-ui.1.info,  Node: Accounts screen,  Next: Register screen,  Up: SC | |||||||
| 3.1 Accounts screen | 3.1 Accounts screen | ||||||
| =================== | =================== | ||||||
| 
 | 
 | ||||||
| This is normally the first screen displayed. It lists accounts and their | This is normally the first screen displayed.  It lists accounts and | ||||||
| balances, like hledger's balance command. By default, it shows all | their balances, like hledger's balance command.  By default, it shows | ||||||
| accounts and their latest ending balances (including the balances of | all accounts and their latest ending balances (including the balances of | ||||||
| subaccounts). if you specify a query on the command line, it shows just | subaccounts).  if you specify a query on the command line, it shows just | ||||||
| the matched accounts and the balances from matched transactions. | the matched accounts and the balances from matched transactions. | ||||||
| 
 | 
 | ||||||
|    Account names are normally indented to show the hierarchy (tree |    Account names are normally indented to show the hierarchy (tree | ||||||
| mode).  To see less detail, set a depth limit by pressing a number key, | mode).  To see less detail, set a depth limit by pressing a number key, | ||||||
| `1' to `9'. `0' shows even less detail, collapsing all accounts to a | '1' to '9'.  '0' shows even less detail, collapsing all accounts to a | ||||||
| single total. `-' and `+' (or `=') decrease and increase the depth | single total.  '-' and '+' (or '=') decrease and increase the depth | ||||||
| limit. To remove the depth limit, set it higher than the maximum | limit.  To remove the depth limit, set it higher than the maximum | ||||||
| account depth, or press `ESCAPE'. | account depth, or press 'ESCAPE'. | ||||||
| 
 | 
 | ||||||
|    `F' toggles flat mode, in which accounts are shown as a flat list, |    'F' toggles flat mode, in which accounts are shown as a flat list, | ||||||
| with their full names. In this mode, account balances exclude | with their full names.  In this mode, account balances exclude | ||||||
| subaccounts, except for accounts at the depth limit (as with hledger's | subaccounts, except for accounts at the depth limit (as with hledger's | ||||||
| balance command). | balance command). | ||||||
| 
 | 
 | ||||||
|    `H' toggles between showing historical balances or period balances. |    'H' toggles between showing historical balances or period balances. | ||||||
| Historical balances (the default) are ending balances at the end of the | Historical balances (the default) are ending balances at the end of the | ||||||
| report period, taking into account all transactions before that date | report period, taking into account all transactions before that date | ||||||
| (filtered by the filter query if any), including transactions before the | (filtered by the filter query if any), including transactions before the | ||||||
| start of the report period. In other words, historical balances are what | start of the report period.  In other words, historical balances are | ||||||
| you would see on a bank statement for that account (unless disturbed by | what you would see on a bank statement for that account (unless | ||||||
| a filter query). Period balances ignore transactions before the report | disturbed by a filter query).  Period balances ignore transactions | ||||||
| start date, so they show the change in balance during the report period. | before the report start date, so they show the change in balance during | ||||||
| They are more useful eg when viewing a time log. | the report period.  They are more useful eg when viewing a time log. | ||||||
| 
 | 
 | ||||||
|    `C' toggles cleared mode, in which uncleared transactions and |    'C' toggles cleared mode, in which uncleared transactions and | ||||||
| postings are not shown. `U' toggles uncleared mode, in which only | postings are not shown.  'U' toggles uncleared mode, in which only | ||||||
| uncleared transactions/postings are shown. | uncleared transactions/postings are shown. | ||||||
| 
 | 
 | ||||||
|    `R' toggles real mode, in which virtual postings are ignored. |    'R' toggles real mode, in which virtual postings are ignored. | ||||||
| 
 | 
 | ||||||
|    `Z' toggles nonzero mode, in which only accounts with nonzero |    'Z' toggles nonzero mode, in which only accounts with nonzero | ||||||
| balances are shown (hledger-ui shows zero items by default, unlike | balances are shown (hledger-ui shows zero items by default, unlike | ||||||
| command-line hledger). | command-line hledger). | ||||||
| 
 | 
 | ||||||
|    Press `right' or `enter' to view an account's transactions register. |    Press 'right' or 'enter' to view an account's transactions register. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.1.info,  Node: Register screen,  Next: Transaction screen,  Prev: Accounts screen,  Up: SCREENS | File: hledger-ui.1.info,  Node: Register screen,  Next: Transaction screen,  Prev: Accounts screen,  Up: SCREENS | ||||||
| @ -274,44 +275,42 @@ File: hledger-ui.1.info,  Node: Register screen,  Next: Transaction screen,  Pre | |||||||
| =================== | =================== | ||||||
| 
 | 
 | ||||||
| This screen shows the transactions affecting a particular account, like | This screen shows the transactions affecting a particular account, like | ||||||
| a check register. Each line represents one transaction and shows: | a check register.  Each line represents one transaction and shows: | ||||||
| 
 | 
 | ||||||
|    * the other account(s) involved, in abbreviated form. (If there are |    * the other account(s) involved, in abbreviated form.  (If there are | ||||||
|      both real and virtual postings, it shows only the accounts |      both real and virtual postings, it shows only the accounts affected | ||||||
|      affected by real postings.) |      by real postings.) | ||||||
| 
 | 
 | ||||||
|    * the overall change to the current account's balance; positive for |    * the overall change to the current account's balance; positive for | ||||||
|      an inflow to this account, negative for an outflow. |      an inflow to this account, negative for an outflow. | ||||||
| 
 | 
 | ||||||
|    * the running historical total or period total for the current |    * the running historical total or period total for the current | ||||||
|      account, after the transaction. This can be toggled with `H'. |      account, after the transaction.  This can be toggled with 'H'. | ||||||
|      Similar to the accounts screen, the historical total is affected |      Similar to the accounts screen, the historical total is affected by | ||||||
|      by transactions (filtered by the filter query) before the report |      transactions (filtered by the filter query) before the report start | ||||||
|      start date, while the period total is not. If the historical total |      date, while the period total is not.  If the historical total is | ||||||
|      is not disturbed by a filter query, it will be the running |      not disturbed by a filter query, it will be the running historical | ||||||
|      historical balance you would see on a bank register for the |      balance you would see on a bank register for the current account. | ||||||
|      current account. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|    If the accounts screen was in tree mode, the register screen will |    If the accounts screen was in tree mode, the register screen will | ||||||
| include transactions from both the current account and its subaccounts. | include transactions from both the current account and its subaccounts. | ||||||
| If the accounts screen was in flat mode, and a non-depth-clipped account | If the accounts screen was in flat mode, and a non-depth-clipped account | ||||||
| was selected, the register screen will exclude transactions from | was selected, the register screen will exclude transactions from | ||||||
| subaccounts. In other words, the register always shows the transactions | subaccounts.  In other words, the register always shows the transactions | ||||||
| responsible for the period balance shown on the accounts screen. As on | responsible for the period balance shown on the accounts screen.  As on | ||||||
| the accounts screen, this can be toggled with `F'. | the accounts screen, this can be toggled with 'F'. | ||||||
| 
 | 
 | ||||||
|    `C' toggles cleared mode, in which uncleared transactions and |    'C' toggles cleared mode, in which uncleared transactions and | ||||||
| postings are not shown. `U' toggles uncleared mode, in which only | postings are not shown.  'U' toggles uncleared mode, in which only | ||||||
| uncleared transactions/postings are shown. | uncleared transactions/postings are shown. | ||||||
| 
 | 
 | ||||||
|    `R' toggles real mode, in which virtual postings are ignored. |    'R' toggles real mode, in which virtual postings are ignored. | ||||||
| 
 | 
 | ||||||
|    `Z' toggles nonzero mode, in which only transactions posting a |    'Z' toggles nonzero mode, in which only transactions posting a | ||||||
| nonzero change are shown (hledger-ui shows zero items by default, unlike | nonzero change are shown (hledger-ui shows zero items by default, unlike | ||||||
| command-line hledger). | command-line hledger). | ||||||
| 
 | 
 | ||||||
|    Press `right' (or `enter') to view the selected transaction in |    Press 'right' (or 'enter') to view the selected transaction in | ||||||
| detail. | detail. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| @ -329,11 +328,11 @@ description, comments, along with all of its account postings are shown. | |||||||
| Simple transactions have two postings, but there can be more (or in | Simple transactions have two postings, but there can be more (or in | ||||||
| certain cases, fewer). | certain cases, fewer). | ||||||
| 
 | 
 | ||||||
|    `up' and `down' will step through all transactions listed in the |    'up' and 'down' will step through all transactions listed in the | ||||||
| previous account register screen. In the title bar, the numbers in | previous account register screen.  In the title bar, the numbers in | ||||||
| parentheses show your position within that account register. They will | parentheses show your position within that account register.  They will | ||||||
| vary depending on which account register you came from (remember most | vary depending on which account register you came from (remember most | ||||||
| transactions appear in multiple account registers). The #N number | transactions appear in multiple account registers).  The #N number | ||||||
| preceding them is the transaction's position within the complete | preceding them is the transaction's position within the complete | ||||||
| unfiltered journal, which is a more stable id (at least until the next | unfiltered journal, which is a more stable id (at least until the next | ||||||
| reload). | reload). | ||||||
| @ -345,27 +344,26 @@ File: hledger-ui.1.info,  Node: Error screen,  Prev: Transaction screen,  Up: SC | |||||||
| ================ | ================ | ||||||
| 
 | 
 | ||||||
| This screen will appear if there is a problem, such as a parse error, | This screen will appear if there is a problem, such as a parse error, | ||||||
| when you press g to reload. Once you have fixed the problem, press g | when you press g to reload.  Once you have fixed the problem, press g | ||||||
| again to reload and resume normal operation. (Or, you can press escape | again to reload and resume normal operation.  (Or, you can press escape | ||||||
| to cancel the reload attempt.) | to cancel the reload attempt.) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top88 | Node: Top73 | ||||||
| Node: OPTIONS823 | Node: OPTIONS825 | ||||||
| Ref: #options922 | Ref: #options924 | ||||||
| Node: KEYS3611 | Node: KEYS3631 | ||||||
| Ref: #keys3708 | Ref: #keys3728 | ||||||
| Node: SCREENS6278 | Node: SCREENS6316 | ||||||
| Ref: #screens6365 | Ref: #screens6403 | ||||||
| Node: Accounts screen6455 | Node: Accounts screen6493 | ||||||
| Ref: #accounts-screen6585 | Ref: #accounts-screen6623 | ||||||
| Node: Register screen8623 | Node: Register screen8672 | ||||||
| Ref: #register-screen8780 | Ref: #register-screen8829 | ||||||
| Node: Transaction screen10668 | Node: Transaction screen10718 | ||||||
| Ref: #transaction-screen10828 | Ref: #transaction-screen10878 | ||||||
| Node: Error screen11695 | Node: Error screen11748 | ||||||
| Ref: #error-screen11819 | Ref: #error-screen11872 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -50,15 +50,11 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        --flat show full account names, unindented |        --flat show full account names, unindented | ||||||
| 
 | 
 | ||||||
|        -V --value |  | ||||||
|               show amounts as their current market value in their default val- |  | ||||||
|               uation commodity (accounts screen only) |  | ||||||
| 
 |  | ||||||
|        hledger general options: |        hledger general options: | ||||||
| 
 | 
 | ||||||
|        -h     show general usage (or after COMMAND, the command's usage) |        -h     show general usage (or after COMMAND, the command's usage) | ||||||
| 
 | 
 | ||||||
|        --help show the current program's manual as plain  text  (or  after  an |        --help show  the  current  program's  manual as plain text (or after an | ||||||
|               add-on COMMAND, the add-on's manual) |               add-on COMMAND, the add-on's manual) | ||||||
| 
 | 
 | ||||||
|        --man  show the current program's manual with man |        --man  show the current program's manual with man | ||||||
| @ -75,7 +71,7 @@ OPTIONS | |||||||
|               use a different input file.  For stdin, use - |               use a different input file.  For stdin, use - | ||||||
| 
 | 
 | ||||||
|        --rules-file=RULESFILE |        --rules-file=RULESFILE | ||||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: |               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||||
|               FILE.rules) |               FILE.rules) | ||||||
| 
 | 
 | ||||||
|        --alias=OLD=NEW |        --alias=OLD=NEW | ||||||
| @ -108,7 +104,7 @@ OPTIONS | |||||||
|               multiperiod/multicolumn report by year |               multiperiod/multicolumn report by year | ||||||
| 
 | 
 | ||||||
|        -p --period=PERIODEXP |        -p --period=PERIODEXP | ||||||
|               set start date, end date, and/or reporting interval all at  once |               set  start date, end date, and/or reporting interval all at once | ||||||
|               (overrides the flags above) |               (overrides the flags above) | ||||||
| 
 | 
 | ||||||
|        --date2 |        --date2 | ||||||
| @ -133,9 +129,13 @@ OPTIONS | |||||||
|               show items with zero amount, normally hidden |               show items with zero amount, normally hidden | ||||||
| 
 | 
 | ||||||
|        -B --cost |        -B --cost | ||||||
|               convert  amounts  to  their  cost at transaction time (using the |               convert amounts to their cost at  transaction  time  (using  the | ||||||
|               transaction price, if any) |               transaction price, if any) | ||||||
| 
 | 
 | ||||||
|  |        -V --value | ||||||
|  |               convert  amounts  to  their  market value on the report end date | ||||||
|  |               (using the most recent applicable market price, if any) | ||||||
|  | 
 | ||||||
|        --pivot TAGNAME |        --pivot TAGNAME | ||||||
|               organize reports by some tag's value instead of by account |               organize reports by some tag's value instead of by account | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -258,6 +258,12 @@ price, if any) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-V\ \-\-value\f[] | ||||||
|  | convert amounts to their market value on the report end date (using the | ||||||
|  | most recent applicable market price, if any) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-pivot\ TAGNAME\f[] | .B \f[C]\-\-pivot\ TAGNAME\f[] | ||||||
| organize reports by some tag\[aq]s value instead of by account | organize reports by some tag\[aq]s value instead of by account | ||||||
| .RS | .RS | ||||||
|  | |||||||
| @ -1,69 +1,68 @@ | |||||||
| This is hledger-web/doc/hledger-web.1.info, produced by makeinfo | This is hledger-web.1.info, produced by makeinfo version 5.2 from stdin. | ||||||
| version 4.8 from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.1.info,  Node: Top,  Up: (dir) | File: hledger-web.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-web(1) hledger-web dev | hledger-web(1) hledger-web dev | ||||||
| ****************************** | ****************************** | ||||||
| 
 | 
 | ||||||
| hledger-web is hledger's web interface. It starts a simple web | hledger-web is hledger's web interface.  It starts a simple web | ||||||
| application for browsing and adding transactions, and optionally opens | application for browsing and adding transactions, and optionally opens | ||||||
| it in a web browser window if possible. It provides a more user-friendly | it in a web browser window if possible.  It provides a more | ||||||
| UI than the hledger CLI or hledger-ui interface, showing more at once | user-friendly UI than the hledger CLI or hledger-ui interface, showing | ||||||
| (accounts, the current account register, balance charts) and allowing | more at once (accounts, the current account register, balance charts) | ||||||
| history-aware data entry, interactive searching, and bookmarking. | and allowing history-aware data entry, interactive searching, and | ||||||
|  | bookmarking. | ||||||
| 
 | 
 | ||||||
|    hledger-web also lets you share a ledger with multiple users, or even |    hledger-web also lets you share a ledger with multiple users, or even | ||||||
| the public web. There is no access control, so if you need that you | the public web.  There is no access control, so if you need that you | ||||||
| should put it behind a suitable web proxy. As a small protection against | should put it behind a suitable web proxy.  As a small protection | ||||||
| data loss when running an unprotected instance, it writes a numbered | against data loss when running an unprotected instance, it writes a | ||||||
| backup of the main journal file (only ?) on every edit. | numbered backup of the main journal file (only ?)  on every edit. | ||||||
| 
 | 
 | ||||||
|    Like hledger, it reads data from one or more files in hledger |    Like hledger, it reads data from one or more files in hledger | ||||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | journal, timeclock, timedot, or CSV format specified with '-f', or | ||||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||||
| hledger_journal(5) etc. | hledger_journal(5) etc. | ||||||
| 
 | 
 | ||||||
|    By default, hledger-web starts the web app in "transient mode" and |    By default, hledger-web starts the web app in "transient mode" and | ||||||
| also opens it in your default web browser if possible. In this mode the | also opens it in your default web browser if possible.  In this mode the | ||||||
| web app will keep running for as long as you have it open in a browser | web app will keep running for as long as you have it open in a browser | ||||||
| window, and will exit after two minutes of inactivity (no requests and | window, and will exit after two minutes of inactivity (no requests and | ||||||
| no browser windows viewing it). With `--serve', it just runs the web | no browser windows viewing it).  With '--serve', it just runs the web | ||||||
| app without exiting, and logs requests to the console. | app without exiting, and logs requests to the console. | ||||||
| 
 | 
 | ||||||
|    By default the server listens on IP address 127.0.0.1, accessible |    By default the server listens on IP address 127.0.0.1, accessible | ||||||
| only to local requests. You can use `--host' to change this, eg `--host | only to local requests.  You can use '--host' to change this, eg '--host | ||||||
| 0.0.0.0' to listen on all configured addresses. | 0.0.0.0' to listen on all configured addresses. | ||||||
| 
 | 
 | ||||||
|    Similarly, use `--port' to set a TCP port other than 5000, eg if you |    Similarly, use '--port' to set a TCP port other than 5000, eg if you | ||||||
| are running multiple hledger-web instances. | are running multiple hledger-web instances. | ||||||
| 
 | 
 | ||||||
|    You can use `--base-url' to change the protocol, hostname, port and |    You can use '--base-url' to change the protocol, hostname, port and | ||||||
| path that appear in hyperlinks, useful eg for integrating hledger-web | path that appear in hyperlinks, useful eg for integrating hledger-web | ||||||
| within a larger website. The default is `http://HOST:PORT/' using the | within a larger website.  The default is 'http://HOST:PORT/' using the | ||||||
| server's configured host address and TCP port (or `http://HOST' if PORT | server's configured host address and TCP port (or 'http://HOST' if PORT | ||||||
| is 80). | is 80). | ||||||
| 
 | 
 | ||||||
|    With `--file-url' you can set a different base url for static files, |    With '--file-url' you can set a different base url for static files, | ||||||
| eg for better caching or cookie-less serving on high performance | eg for better caching or cookie-less serving on high performance | ||||||
| websites. | websites. | ||||||
| 
 | 
 | ||||||
|    Note there is no built-in access control (aside from listening on |    Note there is no built-in access control (aside from listening on | ||||||
| 127.0.0.1 by default). So you will need to hide hledger-web behind an | 127.0.0.1 by default).  So you will need to hide hledger-web behind an | ||||||
| authenticating proxy (such as apache or nginx) if you want to restrict | authenticating proxy (such as apache or nginx) if you want to restrict | ||||||
| who can see and add entries to your journal. | who can see and add entries to your journal. | ||||||
| 
 | 
 | ||||||
|    Command-line options and arguments may be used to set an initial |    Command-line options and arguments may be used to set an initial | ||||||
| filter on the data. This is not shown in the web UI, but it will be | filter on the data.  This is not shown in the web UI, but it will be | ||||||
| applied in addition to any search query entered there. | applied in addition to any search query entered there. | ||||||
| 
 | 
 | ||||||
|    With journal and timeclock files (but not CSV files, currently) the |    With journal and timeclock files (but not CSV files, currently) the | ||||||
| web app detects changes made by other means and will show the new data | web app detects changes made by other means and will show the new data | ||||||
| on the next request. If a change makes the file unparseable, hledger-web | on the next request.  If a change makes the file unparseable, | ||||||
| will show an error until the file has been fixed. | hledger-web will show an error until the file has been fixed. | ||||||
| 
 |  | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| * OPTIONS:: | * OPTIONS:: | ||||||
| @ -74,125 +73,131 @@ File: hledger-web.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top | |||||||
| 1 OPTIONS | 1 OPTIONS | ||||||
| ********* | ********* | ||||||
| 
 | 
 | ||||||
| Note: if invoking hledger-web as a hledger subcommand, write `--' | Note: if invoking hledger-web as a hledger subcommand, write '--' before | ||||||
| before options as shown above. | options as shown above. | ||||||
|  | 
 | ||||||
|  | '--serve' | ||||||
| 
 | 
 | ||||||
| `--serve' |  | ||||||
|      serve and log requests, don't browse or auto-exit |      serve and log requests, don't browse or auto-exit | ||||||
|  | '--host=IPADDR' | ||||||
| 
 | 
 | ||||||
| `--host=IPADDR' |  | ||||||
|      listen on this IP address (default: 127.0.0.1) |      listen on this IP address (default: 127.0.0.1) | ||||||
|  | '--port=PORT' | ||||||
| 
 | 
 | ||||||
| `--port=PORT' |  | ||||||
|      listen on this TCP port (default: 5000) |      listen on this TCP port (default: 5000) | ||||||
|  | '--base-url=URL' | ||||||
| 
 | 
 | ||||||
| `--base-url=URL' |  | ||||||
|      set the base url (default: http://IPADDR:PORT). You would change |      set the base url (default: http://IPADDR:PORT). You would change | ||||||
|      this when sharing over the network, or integrating within a larger |      this when sharing over the network, or integrating within a larger | ||||||
|      website. |      website. | ||||||
|  | '--file-url=URL' | ||||||
| 
 | 
 | ||||||
| `--file-url=URL' |      set the static files url (default: BASEURL/static).  hledger-web | ||||||
|      set the static files url (default: BASEURL/static). hledger-web |  | ||||||
|      normally serves static files itself, but if you wanted to serve |      normally serves static files itself, but if you wanted to serve | ||||||
|      them from another server for efficiency, you would set the url |      them from another server for efficiency, you would set the url with | ||||||
|      with this. |      this. | ||||||
| 
 | 
 | ||||||
|    hledger general options: |    hledger general options: | ||||||
| 
 | 
 | ||||||
| `-h' | '-h' | ||||||
|      show general usage (or after COMMAND, the command's usage) | 
 | ||||||
|  |      show general usage (or after COMMAND, the command's usage) | ||||||
|  | '--help' | ||||||
| 
 | 
 | ||||||
| `--help' |  | ||||||
|      show the current program's manual as plain text (or after an add-on |      show the current program's manual as plain text (or after an add-on | ||||||
|      COMMAND, the add-on's manual) |      COMMAND, the add-on's manual) | ||||||
|  | '--man' | ||||||
| 
 | 
 | ||||||
| `--man' |  | ||||||
|      show the current program's manual with man |      show the current program's manual with man | ||||||
|  | '--info' | ||||||
| 
 | 
 | ||||||
| `--info' |  | ||||||
|      show the current program's manual with info |      show the current program's manual with info | ||||||
|  | '--version' | ||||||
| 
 | 
 | ||||||
| `--version' |  | ||||||
|      show version |      show version | ||||||
|  | '--debug[=N]' | ||||||
| 
 | 
 | ||||||
| `--debug[=N]' |  | ||||||
|      show debug output (levels 1-9, default: 1) |      show debug output (levels 1-9, default: 1) | ||||||
|  | '-f FILE --file=FILE' | ||||||
| 
 | 
 | ||||||
| `-f FILE --file=FILE' |      use a different input file.  For stdin, use - | ||||||
|      use a different input file. For stdin, use - | '--rules-file=RULESFILE' | ||||||
| 
 | 
 | ||||||
| `--rules-file=RULESFILE' |  | ||||||
|      Conversion rules file to use when reading CSV (default: FILE.rules) |      Conversion rules file to use when reading CSV (default: FILE.rules) | ||||||
|  | '--alias=OLD=NEW' | ||||||
| 
 | 
 | ||||||
| `--alias=OLD=NEW' |  | ||||||
|      display accounts named OLD as NEW |      display accounts named OLD as NEW | ||||||
|  | '-I --ignore-assertions' | ||||||
| 
 | 
 | ||||||
| `-I --ignore-assertions' |  | ||||||
|      ignore any failing balance assertions in the journal |      ignore any failing balance assertions in the journal | ||||||
| 
 | 
 | ||||||
|    hledger reporting options: |    hledger reporting options: | ||||||
| 
 | 
 | ||||||
| `-b --begin=DATE' | '-b --begin=DATE' | ||||||
|  | 
 | ||||||
|      include postings/txns on or after this date |      include postings/txns on or after this date | ||||||
|  | '-e --end=DATE' | ||||||
| 
 | 
 | ||||||
| `-e --end=DATE' |  | ||||||
|      include postings/txns before this date |      include postings/txns before this date | ||||||
|  | '-D --daily' | ||||||
| 
 | 
 | ||||||
| `-D --daily' |  | ||||||
|      multiperiod/multicolumn report by day |      multiperiod/multicolumn report by day | ||||||
|  | '-W --weekly' | ||||||
| 
 | 
 | ||||||
| `-W --weekly' |  | ||||||
|      multiperiod/multicolumn report by week |      multiperiod/multicolumn report by week | ||||||
|  | '-M --monthly' | ||||||
| 
 | 
 | ||||||
| `-M --monthly' |  | ||||||
|      multiperiod/multicolumn report by month |      multiperiod/multicolumn report by month | ||||||
|  | '-Q --quarterly' | ||||||
| 
 | 
 | ||||||
| `-Q --quarterly' |  | ||||||
|      multiperiod/multicolumn report by quarter |      multiperiod/multicolumn report by quarter | ||||||
|  | '-Y --yearly' | ||||||
| 
 | 
 | ||||||
| `-Y --yearly' |  | ||||||
|      multiperiod/multicolumn report by year |      multiperiod/multicolumn report by year | ||||||
|  | '-p --period=PERIODEXP' | ||||||
| 
 | 
 | ||||||
| `-p --period=PERIODEXP' |  | ||||||
|      set start date, end date, and/or reporting interval all at once |      set start date, end date, and/or reporting interval all at once | ||||||
|      (overrides the flags above) |      (overrides the flags above) | ||||||
|  | '--date2' | ||||||
| 
 | 
 | ||||||
| `--date2' |  | ||||||
|      show, and match with -b/-e/-p/date:, secondary dates instead |      show, and match with -b/-e/-p/date:, secondary dates instead | ||||||
|  | '-C --cleared' | ||||||
| 
 | 
 | ||||||
| `-C --cleared' |  | ||||||
|      include only cleared postings/txns |      include only cleared postings/txns | ||||||
|  | '--pending' | ||||||
| 
 | 
 | ||||||
| `--pending' |  | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
|  | '-U --uncleared' | ||||||
| 
 | 
 | ||||||
| `-U --uncleared' |  | ||||||
|      include only uncleared (and pending) postings/txns |      include only uncleared (and pending) postings/txns | ||||||
|  | '-R --real' | ||||||
| 
 | 
 | ||||||
| `-R --real' |  | ||||||
|      include only non-virtual postings |      include only non-virtual postings | ||||||
|  | '--depth=N' | ||||||
| 
 | 
 | ||||||
| `--depth=N' |  | ||||||
|      hide accounts/postings deeper than N |      hide accounts/postings deeper than N | ||||||
|  | '-E --empty' | ||||||
| 
 | 
 | ||||||
| `-E --empty' |  | ||||||
|      show items with zero amount, normally hidden |      show items with zero amount, normally hidden | ||||||
|  | '-B --cost' | ||||||
| 
 | 
 | ||||||
| `-B --cost' |  | ||||||
|      convert amounts to their cost at transaction time (using the |      convert amounts to their cost at transaction time (using the | ||||||
|      transaction price, if any) |      transaction price, if any) | ||||||
|  | '-V --value' | ||||||
|  | 
 | ||||||
|  |      convert amounts to their market value on the report end date (using | ||||||
|  |      the most recent applicable market price, if any) | ||||||
|  | '--pivot TAGNAME' | ||||||
| 
 | 
 | ||||||
| `--pivot TAGNAME' |  | ||||||
|      organize reports by some tag's value instead of by account |      organize reports by some tag's value instead of by account | ||||||
|  | '--anon' | ||||||
| 
 | 
 | ||||||
| `--anon' |  | ||||||
|      show anonymized accounts and payees |      show anonymized accounts and payees | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top90 | Node: Top74 | ||||||
| Node: OPTIONS3144 | Node: OPTIONS3156 | ||||||
| Ref: #options3231 | Ref: #options3243 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -57,22 +57,22 @@ DESCRIPTION | |||||||
|        With --file-url you can set a different base url for static  files,  eg |        With --file-url you can set a different base url for static  files,  eg | ||||||
|        for better caching or cookie-less serving on high performance websites. |        for better caching or cookie-less serving on high performance websites. | ||||||
| 
 | 
 | ||||||
|        Note there is no built-in  access  control  (aside  from  listening  on |        Note  there  is  no  built-in  access  control (aside from listening on | ||||||
|        127.0.0.1  by default).  So you will need to hide hledger-web behind an |        127.0.0.1 by default).  So you will need to hide hledger-web behind  an | ||||||
|        authenticating proxy (such as apache or nginx) if you want to  restrict |        authenticating  proxy (such as apache or nginx) if you want to restrict | ||||||
|        who can see and add entries to your journal. |        who can see and add entries to your journal. | ||||||
| 
 | 
 | ||||||
|        Command-line options and arguments may be used to set an initial filter |        Command-line options and arguments may be used to set an initial filter | ||||||
|        on the data.  This is not shown in the web UI, but it will  be  applied |        on  the  data.  This is not shown in the web UI, but it will be applied | ||||||
|        in addition to any search query entered there. |        in addition to any search query entered there. | ||||||
| 
 | 
 | ||||||
|        With journal and timeclock files (but not CSV files, currently) the web |        With journal and timeclock files (but not CSV files, currently) the web | ||||||
|        app detects changes made by other means and will show the new  data  on |        app  detects  changes made by other means and will show the new data on | ||||||
|        the  next request.  If a change makes the file unparseable, hledger-web |        the next request.  If a change makes the file unparseable,  hledger-web | ||||||
|        will show an error until the file has been fixed. |        will show an error until the file has been fixed. | ||||||
| 
 | 
 | ||||||
| OPTIONS | OPTIONS | ||||||
|        Note: if invoking hledger-web as a hledger subcommand, write --  before |        Note:  if invoking hledger-web as a hledger subcommand, write -- before | ||||||
|        options as shown above. |        options as shown above. | ||||||
| 
 | 
 | ||||||
|        --serve |        --serve | ||||||
| @ -85,21 +85,21 @@ OPTIONS | |||||||
|               listen on this TCP port (default: 5000) |               listen on this TCP port (default: 5000) | ||||||
| 
 | 
 | ||||||
|        --base-url=URL |        --base-url=URL | ||||||
|               set  the  base  url  (default:  http://IPADDR:PORT).   You would |               set the  base  url  (default:  http://IPADDR:PORT).   You  would | ||||||
|               change this when sharing over the network, or integrating within |               change this when sharing over the network, or integrating within | ||||||
|               a larger website. |               a larger website. | ||||||
| 
 | 
 | ||||||
|        --file-url=URL |        --file-url=URL | ||||||
|               set the static files url (default: BASEURL/static).  hledger-web |               set the static files url (default: BASEURL/static).  hledger-web | ||||||
|               normally serves static files itself, but if you wanted to  serve |               normally  serves static files itself, but if you wanted to serve | ||||||
|               them  from  another server for efficiency, you would set the url |               them from another server for efficiency, you would set  the  url | ||||||
|               with this. |               with this. | ||||||
| 
 | 
 | ||||||
|        hledger general options: |        hledger general options: | ||||||
| 
 | 
 | ||||||
|        -h     show general usage (or after COMMAND, the command's usage) |        -h     show general usage (or after COMMAND, the command's usage) | ||||||
| 
 | 
 | ||||||
|        --help show the current program's manual as plain  text  (or  after  an |        --help show  the  current  program's  manual as plain text (or after an | ||||||
|               add-on COMMAND, the add-on's manual) |               add-on COMMAND, the add-on's manual) | ||||||
| 
 | 
 | ||||||
|        --man  show the current program's manual with man |        --man  show the current program's manual with man | ||||||
| @ -116,7 +116,7 @@ OPTIONS | |||||||
|               use a different input file.  For stdin, use - |               use a different input file.  For stdin, use - | ||||||
| 
 | 
 | ||||||
|        --rules-file=RULESFILE |        --rules-file=RULESFILE | ||||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: |               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||||
|               FILE.rules) |               FILE.rules) | ||||||
| 
 | 
 | ||||||
|        --alias=OLD=NEW |        --alias=OLD=NEW | ||||||
| @ -149,7 +149,7 @@ OPTIONS | |||||||
|               multiperiod/multicolumn report by year |               multiperiod/multicolumn report by year | ||||||
| 
 | 
 | ||||||
|        -p --period=PERIODEXP |        -p --period=PERIODEXP | ||||||
|               set start date, end date, and/or reporting interval all at  once |               set  start date, end date, and/or reporting interval all at once | ||||||
|               (overrides the flags above) |               (overrides the flags above) | ||||||
| 
 | 
 | ||||||
|        --date2 |        --date2 | ||||||
| @ -174,9 +174,13 @@ OPTIONS | |||||||
|               show items with zero amount, normally hidden |               show items with zero amount, normally hidden | ||||||
| 
 | 
 | ||||||
|        -B --cost |        -B --cost | ||||||
|               convert  amounts  to  their  cost at transaction time (using the |               convert amounts to their cost at  transaction  time  (using  the | ||||||
|               transaction price, if any) |               transaction price, if any) | ||||||
| 
 | 
 | ||||||
|  |        -V --value | ||||||
|  |               convert  amounts  to  their  market value on the report end date | ||||||
|  |               (using the most recent applicable market price, if any) | ||||||
|  | 
 | ||||||
|        --pivot TAGNAME |        --pivot TAGNAME | ||||||
|               organize reports by some tag's value instead of by account |               organize reports by some tag's value instead of by account | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -357,6 +357,12 @@ price, if any) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-V\ \-\-value\f[] | ||||||
|  | convert amounts to their market value on the report end date (using the | ||||||
|  | most recent applicable market price, if any) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-pivot\ TAGNAME\f[] | .B \f[C]\-\-pivot\ TAGNAME\f[] | ||||||
| organize reports by some tag\[aq]s value instead of by account | organize reports by some tag\[aq]s value instead of by account | ||||||
| .RS | .RS | ||||||
| @ -1243,12 +1249,6 @@ is depth\-clipped (default in multicolumn reports) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
| .B \f[C]\-V\ \-\-value\f[] |  | ||||||
| convert amounts to their market value on the report end date (using the |  | ||||||
| most recent applicable market price, if any) |  | ||||||
| .RS |  | ||||||
| .RE |  | ||||||
| .TP |  | ||||||
| .B \f[C]\-A\ \-\-average\f[] | .B \f[C]\-A\ \-\-average\f[] | ||||||
| show a row average column (in multicolumn mode) | show a row average column (in multicolumn mode) | ||||||
| .RS | .RS | ||||||
| @ -1667,10 +1667,25 @@ show full account names, as a list (default) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-N\ \-\-no\-total\f[] | ||||||
|  | don\[aq]t show the final total row | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-drop=N\f[] | .B \f[C]\-\-drop=N\f[] | ||||||
| in flat mode: omit N leading account name parts | in flat mode: omit N leading account name parts | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-no\-elide\f[] | ||||||
|  | don\[aq]t squash boring parent accounts (in tree mode) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-format=LINEFORMAT\f[] | ||||||
|  | in single\-column balance reports: use this custom line format | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
| .PP | .PP | ||||||
| This command displays a simple balance sheet. | This command displays a simple balance sheet. | ||||||
| It currently assumes that you have top\-level accounts named | It currently assumes that you have top\-level accounts named | ||||||
| @ -1708,10 +1723,25 @@ show full account names, as a list (default) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-N\ \-\-no\-total\f[] | ||||||
|  | don\[aq]t show the final total row | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-drop=N\f[] | .B \f[C]\-\-drop=N\f[] | ||||||
| in flat mode: omit N leading account name parts | in flat mode: omit N leading account name parts | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-no\-elide\f[] | ||||||
|  | don\[aq]t squash boring parent accounts (in tree mode) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-format=LINEFORMAT\f[] | ||||||
|  | in single\-column balance reports: use this custom line format | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
| .PP | .PP | ||||||
| This command displays a simple cashflow statement It shows the change in | This command displays a simple cashflow statement It shows the change in | ||||||
| all "cash" (ie, liquid assets) accounts for the period. | all "cash" (ie, liquid assets) accounts for the period. | ||||||
| @ -1784,10 +1814,25 @@ show full account names, as a list (default) | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
|  | .B \f[C]\-N\ \-\-no\-total\f[] | ||||||
|  | don\[aq]t show the final total row | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
| .B \f[C]\-\-drop=N\f[] | .B \f[C]\-\-drop=N\f[] | ||||||
| in flat mode: omit N leading account name parts | in flat mode: omit N leading account name parts | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-no\-elide\f[] | ||||||
|  | don\[aq]t squash boring parent accounts (in tree mode) | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
|  | .TP | ||||||
|  | .B \f[C]\-\-format=LINEFORMAT\f[] | ||||||
|  | in single\-column balance reports: use this custom line format | ||||||
|  | .RS | ||||||
|  | .RE | ||||||
| .PP | .PP | ||||||
| This command displays a simple income statement. | This command displays a simple income statement. | ||||||
| It currently assumes that you have top\-level accounts named | It currently assumes that you have top\-level accounts named | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -121,33 +121,33 @@ OPTIONS | |||||||
|          hledger COMMAND -h shows these.  Eg: hledger register --cleared. |          hledger COMMAND -h shows these.  Eg: hledger register --cleared. | ||||||
| 
 | 
 | ||||||
|        o Command-specific  options  are  also  provided  by   some   commands. |        o Command-specific  options  are  also  provided  by   some   commands. | ||||||
|          hledger COMMAND -h  shows these too.  Eg: hledger register --average. |          hledger COMMAND -h shows these too.  Eg: hledger register --average. | ||||||
| 
 | 
 | ||||||
|        o Some hledger commands come from separate  add-on  executables,  which |        o Some  hledger  commands  come from separate add-on executables, which | ||||||
|          have  their  own  options.  hledger COMMAND -h shows these, as usual. |          have their own options.  hledger COMMAND -h shows  these,  as  usual. | ||||||
|          Such options, if not also supported by  hledger,  should  be  written |          Such  options,  if  not  also supported by hledger, should be written | ||||||
|          following  a  double  hyphen  argument  (--) so that hledger's option |          following a double hyphen argument  (--)  so  that  hledger's  option | ||||||
|          parser does  not  complain.   Eg:  hledger ui -- --register=checking. |          parser  does  not  complain.   Eg: hledger ui -- --register=checking. | ||||||
|          Or,  you  can  just  run  the  add-on  directly:  hledger-ui --regis- |          Or,  you  can  just  run  the  add-on  directly:  hledger-ui --regis- | ||||||
|          ter=checking. |          ter=checking. | ||||||
| 
 | 
 | ||||||
|        Command arguments may also follow the  command  name.   In  most  cases |        Command  arguments  may  also  follow  the command name.  In most cases | ||||||
|        these  specify  a  query  which  filters the data.  Command options and |        these specify a query which filters  the  data.   Command  options  and | ||||||
|        arguments can be intermixed. |        arguments can be intermixed. | ||||||
| 
 | 
 | ||||||
|        Option and argument values containing problematic characters should  be |        Option  and argument values containing problematic characters should be | ||||||
|        escaped with double quotes, backslashes, or (best) single quotes.  This |        escaped with double quotes, backslashes, or (best) single quotes.  This | ||||||
|        means spaces, but also characters which are significant to your command |        means spaces, but also characters which are significant to your command | ||||||
|        shell,    such    as    less-than/greater-than.    Eg:   hledger regis- |        shell,   such   as    less-than/greater-than.     Eg:    hledger regis- | ||||||
|        ter -p 'last year' "accounts receivable (receiv- |        ter -p 'last year' "accounts receivable (receiv- | ||||||
|        able|payable)" amt:\>100. |        able|payable)" amt:\>100. | ||||||
| 
 | 
 | ||||||
|        Characters  which  are  significant  to  the  shell and also in regular |        Characters which are significant to  the  shell  and  also  in  regular | ||||||
|        expressions, like parentheses, the pipe symbol  and  the  dollar  sign, |        expressions,  like  parentheses,  the  pipe symbol and the dollar sign, | ||||||
|        must  sometimes  be  double-escaped.   Eg,  to match the dollar symbol: |        must sometimes be double-escaped.  Eg,  to  match  the  dollar  symbol: | ||||||
|        hledger balance cur:'\$' or hledger balance cur:\\$. |        hledger balance cur:'\$' or hledger balance cur:\\$. | ||||||
| 
 | 
 | ||||||
|        There's more..  options and arguments being passed  by  hledger  to  an |        There's  more..   options  and  arguments being passed by hledger to an | ||||||
|        add-on executable get de-escaped once in the process.  In this case you |        add-on executable get de-escaped once in the process.  In this case you | ||||||
|        might    need    triple-escaping.     Eg:    hledger ui cur:'\\$'    or |        might    need    triple-escaping.     Eg:    hledger ui cur:'\\$'    or | ||||||
|        hledger ui cur:\\\\$. |        hledger ui cur:\\\\$. | ||||||
| @ -169,7 +169,7 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        -h     show general usage (or after COMMAND, the command's usage) |        -h     show general usage (or after COMMAND, the command's usage) | ||||||
| 
 | 
 | ||||||
|        --help show  the  current  program's  manual as plain text (or after an |        --help show the current program's manual as plain  text  (or  after  an | ||||||
|               add-on COMMAND, the add-on's manual) |               add-on COMMAND, the add-on's manual) | ||||||
| 
 | 
 | ||||||
|        --man  show the current program's manual with man |        --man  show the current program's manual with man | ||||||
| @ -186,7 +186,7 @@ OPTIONS | |||||||
|               use a different input file.  For stdin, use - |               use a different input file.  For stdin, use - | ||||||
| 
 | 
 | ||||||
|        --rules-file=RULESFILE |        --rules-file=RULESFILE | ||||||
|               Conversion  rules  file  to  use  when  reading  CSV   (default: |               Conversion   rules  file  to  use  when  reading  CSV  (default: | ||||||
|               FILE.rules) |               FILE.rules) | ||||||
| 
 | 
 | ||||||
|        --alias=OLD=NEW |        --alias=OLD=NEW | ||||||
| @ -220,7 +220,7 @@ OPTIONS | |||||||
|               multiperiod/multicolumn report by year |               multiperiod/multicolumn report by year | ||||||
| 
 | 
 | ||||||
|        -p --period=PERIODEXP |        -p --period=PERIODEXP | ||||||
|               set  start date, end date, and/or reporting interval all at once |               set start date, end date, and/or reporting interval all at  once | ||||||
|               (overrides the flags above) |               (overrides the flags above) | ||||||
| 
 | 
 | ||||||
|        --date2 |        --date2 | ||||||
| @ -245,9 +245,13 @@ OPTIONS | |||||||
|               show items with zero amount, normally hidden |               show items with zero amount, normally hidden | ||||||
| 
 | 
 | ||||||
|        -B --cost |        -B --cost | ||||||
|               convert amounts to their cost at  transaction  time  (using  the |               convert  amounts  to  their  cost at transaction time (using the | ||||||
|               transaction price, if any) |               transaction price, if any) | ||||||
| 
 | 
 | ||||||
|  |        -V --value | ||||||
|  |               convert amounts to their market value on  the  report  end  date | ||||||
|  |               (using the most recent applicable market price, if any) | ||||||
|  | 
 | ||||||
|        --pivot TAGNAME |        --pivot TAGNAME | ||||||
|               organize reports by some tag's value instead of by account |               organize reports by some tag's value instead of by account | ||||||
| 
 | 
 | ||||||
| @ -278,7 +282,6 @@ OPTIONS | |||||||
|        format  automatically  based  on  the file extension, or if that is not |        format  automatically  based  on  the file extension, or if that is not | ||||||
|        recognised, by trying each built-in "reader" in turn: |        recognised, by trying each built-in "reader" in turn: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        Reader:       Reads:                              Used for file extensions: |        Reader:       Reads:                              Used for file extensions: | ||||||
|        ----------------------------------------------------------------------------- |        ----------------------------------------------------------------------------- | ||||||
|        journal       hledger's  journal  format,  also   .journal    .j    .hledger |        journal       hledger's  journal  format,  also   .journal    .j    .hledger | ||||||
| @ -316,13 +319,12 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        2009/1/1,      2009/01/01,   simple dates, several sep- |        2009/1/1,      2009/01/01,   simple dates, several sep- | ||||||
|        2009-1-1, 2009.1.1           arators allowed |        2009-1-1, 2009.1.1           arators allowed | ||||||
|        2009/1, 2009                 same  as above - a missing |        2009/1, 2009                 same  as above - a missing | ||||||
|                                     day or month defaults to 1 |                                     day or month defaults to 1 | ||||||
|        1/1,     january,     jan,   relative  dates,   meaning |        1/1,     january,     jan,   relative   dates,  meaning | ||||||
|        this year                    january  1  of the current |        this year                    january 1 of  the  current | ||||||
|                                     year |                                     year | ||||||
|        next year                    january 1 of next year |        next year                    january 1 of next year | ||||||
|        this month                   the  1st  of  the  current |        this month                   the  1st  of  the  current | ||||||
| @ -331,6 +333,7 @@ OPTIONS | |||||||
|        last week                    the  monday  of  the  week |        last week                    the  monday  of  the  week | ||||||
|                                     before this one |                                     before this one | ||||||
|        lastweek                     spaces are optional |        lastweek                     spaces are optional | ||||||
|  | 
 | ||||||
|        today, yesterday, tomorrow |        today, yesterday, tomorrow | ||||||
| 
 | 
 | ||||||
|    Report start & end date |    Report start & end date | ||||||
| @ -348,7 +351,6 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -b 2016/3/17      begin  on  St.   Patrick's |        -b 2016/3/17      begin  on  St.   Patrick's | ||||||
|                          day 2016 |                          day 2016 | ||||||
|        -e 12/1           end at the start of decem- |        -e 12/1           end at the start of decem- | ||||||
| @ -376,27 +378,25 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|    Period expressions |    Period expressions | ||||||
|        The -p/--period option accepts period expressions, a shorthand  way  of |        The -p/--period option accepts period expressions, a shorthand  way  of | ||||||
|        expressing  a start date, end date, and/or report interval all at once. |        expressing a start date, end date, and/or report interval all at once. | ||||||
| 
 | 
 | ||||||
|        Here's a basic period expression specifying the first quarter of  2009. |        Here's  a basic period expression specifying the first quarter of 2009. | ||||||
|        Note,  hledger  always treats start dates as inclusive and end dates as |        Note, hledger always treats start dates as inclusive and end  dates  as | ||||||
|        exclusive: |        exclusive: | ||||||
| 
 | 
 | ||||||
|        -p "from 2009/1/1 to 2009/4/1" |        -p "from 2009/1/1 to 2009/4/1" | ||||||
| 
 | 
 | ||||||
|        Keywords like "from" and "to" are optional, and so are the  spaces,  as |        Keywords  like  "from" and "to" are optional, and so are the spaces, as | ||||||
|        long  as you don't run two dates together.  "to" can also be written as |        long as you don't run two dates together.  "to" can also be written  as | ||||||
|        "-".  These are equivalent to the above: |        "-".  These are equivalent to the above: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "2009/1/1 2009/4/1" |        -p "2009/1/1 2009/4/1" | ||||||
|        -p2009/1/1to2009/4/1 |        -p2009/1/1to2009/4/1 | ||||||
|        -p2009/1/1-2009/4/1 |        -p2009/1/1-2009/4/1 | ||||||
| 
 | 
 | ||||||
|        Dates are smart dates, so if the current year is 2009,  the  above  can |        Dates  are  smart  dates, so if the current year is 2009, the above can | ||||||
|        also be written as: |        also be written as: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "1/1 4/1" |        -p "1/1 4/1" | ||||||
|        -p "january-apr" |        -p "january-apr" | ||||||
|        -p "this year to 4/1" |        -p "this year to 4/1" | ||||||
| @ -404,62 +404,57 @@ OPTIONS | |||||||
|        If you specify only one date, the missing start or end date will be the |        If you specify only one date, the missing start or end date will be the | ||||||
|        earliest or latest transaction in your journal: |        earliest or latest transaction in your journal: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        -p "from 2009/1/1"   everything  after  january |        -p "from 2009/1/1"   everything  after  january | ||||||
|                             1, 2009 |                             1, 2009 | ||||||
|        -p "from 2009/1"     the same |        -p "from 2009/1"     the same | ||||||
|        -p "from 2009"       the same |        -p "from 2009"       the same | ||||||
|        -p "to 2009"         everything  before january |        -p "to 2009"         everything before  january | ||||||
|                             1, 2009 |                             1, 2009 | ||||||
| 
 | 
 | ||||||
|        A single date with no "from" or "to" defines both  the  start  and  end |        A  single  date  with  no "from" or "to" defines both the start and end | ||||||
|        date like so: |        date like so: | ||||||
| 
 | 
 | ||||||
| 
 |        -p "2009"       the year 2009;  equivalent | ||||||
|        -p "2009"       the  year 2009; equivalent |  | ||||||
|                        to "2009/1/1 to 2010/1/1" |                        to "2009/1/1 to 2010/1/1" | ||||||
|        -p "2009/1"     the month of jan;  equiva- |        -p "2009/1"     the  month of jan; equiva- | ||||||
|                        lent   to   "2009/1/1   to |                        lent   to   "2009/1/1   to | ||||||
|                        2009/2/1" |                        2009/2/1" | ||||||
|        -p "2009/1/1"   just that day;  equivalent |        -p "2009/1/1"   just  that day; equivalent | ||||||
|                        to "2009/1/1 to 2009/1/2" |                        to "2009/1/1 to 2009/1/2" | ||||||
| 
 | 
 | ||||||
|        The  argument  of  -p  can  also  begin  with, or be, a report interval |        The argument of -p can also  begin  with,  or  be,  a  report  interval | ||||||
|        expression.  The basic report intervals  are  daily,  weekly,  monthly, |        expression.   The  basic  report  intervals are daily, weekly, monthly, | ||||||
|        quarterly, or yearly, which have the same effect as the -D,-W,-M,-Q, or |        quarterly, or yearly, which have the same effect as the -D,-W,-M,-Q, or | ||||||
|        -Y flags.  Between report interval and start/end dates  (if  any),  the |        -Y  flags.   Between  report interval and start/end dates (if any), the | ||||||
|        word in is optional.  Examples: |        word in is optional.  Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "weekly from 2009/1/1 to 2009/4/1" |        -p "weekly from 2009/1/1 to 2009/4/1" | ||||||
|        -p "monthly in 2008" |        -p "monthly in 2008" | ||||||
|        -p "quarterly" |        -p "quarterly" | ||||||
| 
 | 
 | ||||||
|        The  following  more  complex  report  intervals  are  also  supported: |        The  following  more  complex  report  intervals  are  also  supported: | ||||||
|        biweekly,     bimonthly,      every N days|weeks|months|quarters|years, |        biweekly,      bimonthly,     every N days|weeks|months|quarters|years, | ||||||
|        every Nth day [of month], every Nth day of week. |        every Nth day [of month], every Nth day of week. | ||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "bimonthly from 2008" |        -p "bimonthly from 2008" | ||||||
|        -p "every 2 weeks" |        -p "every 2 weeks" | ||||||
|        -p "every 5 days from 1/3" |        -p "every 5 days from 1/3" | ||||||
| 
 | 
 | ||||||
|        Show  historical balances at end of 15th each month (N is exclusive end |        Show historical balances at end of 15th each month (N is exclusive  end | ||||||
|        date): |        date): | ||||||
| 
 | 
 | ||||||
|        hledger balance -H -p "every 16th day" |        hledger balance -H -p "every 16th day" | ||||||
| 
 | 
 | ||||||
|        Group postings from start of wednesday to end of  next  tuesday  (N  is |        Group  postings  from  start  of wednesday to end of next tuesday (N is | ||||||
|        start date and exclusive end date): |        start date and exclusive end date): | ||||||
| 
 | 
 | ||||||
|        hledger register checking -p "every 3rd day of week" |        hledger register checking -p "every 3rd day of week" | ||||||
| 
 | 
 | ||||||
|    Depth limiting |    Depth limiting | ||||||
|        With  the --depth N option, commands like account, balance and register |        With the --depth N option, commands like account, balance and  register | ||||||
|        will show only the uppermost accounts in  the  account  tree,  down  to |        will  show  only  the  uppermost  accounts in the account tree, down to | ||||||
|        level N.  Use this when you want a summary with less detail. |        level N.  Use this when you want a summary with less detail. | ||||||
| 
 | 
 | ||||||
|    Pivoting |    Pivoting | ||||||
| @ -467,17 +462,17 @@ OPTIONS | |||||||
|        on account name.  The --pivot TAGNAME option causes it to sum and orga- |        on account name.  The --pivot TAGNAME option causes it to sum and orga- | ||||||
|        nize hierarchy based on some other field instead. |        nize hierarchy based on some other field instead. | ||||||
| 
 | 
 | ||||||
|        TAGNAME  is  the full, case-insensitive name of a tag you have defined, |        TAGNAME is the full, case-insensitive name of a tag you  have  defined, | ||||||
|        or one of the built-in implicit tags (like code  or  payee).   As  with |        or  one  of  the  built-in implicit tags (like code or payee).  As with | ||||||
|        account  names,  when  tag  values  have multiple:colon-separated:parts |        account names,  when  tag  values  have  multiple:colon-separated:parts | ||||||
|        hledger will build hierarchy, displayed in tree-mode reports, summaris- |        hledger will build hierarchy, displayed in tree-mode reports, summaris- | ||||||
|        able with a depth limit, and so on. |        able with a depth limit, and so on. | ||||||
| 
 | 
 | ||||||
|        --pivot  affects all reports, and is one of those options you can write |        --pivot affects all reports, and is one of those options you can  write | ||||||
|        before the command name if you wish.  You can think of  hledger  trans- |        before  the  command name if you wish.  You can think of hledger trans- | ||||||
|        forming  the journal before any other processing, replacing every post- |        forming the journal before any other processing, replacing every  post- | ||||||
|        ing's account name with the value of the specified tag on that posting, |        ing's account name with the value of the specified tag on that posting, | ||||||
|        inheriting  it  from the transaction or using a blank value if it's not |        inheriting it from the transaction or using a blank value if  it's  not | ||||||
|        present. |        present. | ||||||
| 
 | 
 | ||||||
|        An example: |        An example: | ||||||
| @ -502,7 +497,7 @@ OPTIONS | |||||||
|               -------------------- |               -------------------- | ||||||
|                                  0 |                                  0 | ||||||
| 
 | 
 | ||||||
|        One way to show only amounts with  a  member:  value  (using  a  query, |        One  way  to  show  only  amounts  with a member: value (using a query, | ||||||
|        described below): |        described below): | ||||||
| 
 | 
 | ||||||
|               $ hledger balance --pivot member tag:member=. |               $ hledger balance --pivot member tag:member=. | ||||||
| @ -510,7 +505,7 @@ OPTIONS | |||||||
|               -------------------- |               -------------------- | ||||||
|                             -2 EUR |                             -2 EUR | ||||||
| 
 | 
 | ||||||
|        Another  way  (the  acct:  query  matches  against the pivoted "account |        Another way (the acct:  query  matches  against  the  pivoted  "account | ||||||
|        name"): |        name"): | ||||||
| 
 | 
 | ||||||
|               $ hledger balance --pivot member acct:. |               $ hledger balance --pivot member acct:. | ||||||
| @ -521,56 +516,56 @@ OPTIONS | |||||||
|    Regular expressions |    Regular expressions | ||||||
|        hledger uses regular expressions in a number of places: |        hledger uses regular expressions in a number of places: | ||||||
| 
 | 
 | ||||||
|        o query terms, on the command line and in the hledger-web search  form: |        o query  terms, on the command line and in the hledger-web search form: | ||||||
|          REGEX, desc:REGEX, cur:REGEX, tag:...=REGEX |          REGEX, desc:REGEX, cur:REGEX, tag:...=REGEX | ||||||
| 
 | 
 | ||||||
|        o CSV rules conditional blocks: if REGEX ... |        o CSV rules conditional blocks: if REGEX ... | ||||||
| 
 | 
 | ||||||
|        o account  alias  directives  and options: alias /REGEX/ = REPLACEMENT, |        o account alias directives  and  options:  alias /REGEX/ = REPLACEMENT, | ||||||
|          --alias /REGEX/=REPLACEMENT |          --alias /REGEX/=REPLACEMENT | ||||||
| 
 | 
 | ||||||
|        hledger's regular expressions come from  the  regex-tdfa  library.   In |        hledger's  regular  expressions  come  from the regex-tdfa library.  In | ||||||
|        general they: |        general they: | ||||||
| 
 | 
 | ||||||
|        o are case insensitive |        o are case insensitive | ||||||
| 
 | 
 | ||||||
|        o are  infix  matching  (do  not  need  to match the entire thing being |        o are infix matching (do not need  to  match  the  entire  thing  being | ||||||
|          matched) |          matched) | ||||||
| 
 | 
 | ||||||
|        o are POSIX extended regular expressions |        o are POSIX extended regular expressions | ||||||
| 
 | 
 | ||||||
|        o also support GNU word boundaries (\<, \>, \b, \B) |        o also support GNU word boundaries (\<, \>, \b, \B) | ||||||
| 
 | 
 | ||||||
|        o and parenthesised capturing  groups  and  numeric  backreferences  in |        o and  parenthesised  capturing  groups  and  numeric backreferences in | ||||||
|          replacement strings |          replacement strings | ||||||
| 
 | 
 | ||||||
|        o do not support mode modifiers like (?s) |        o do not support mode modifiers like (?s) | ||||||
| 
 | 
 | ||||||
|        Some things to note: |        Some things to note: | ||||||
| 
 | 
 | ||||||
|        o In  the  alias directive and --alias option, regular expressions must |        o In the alias directive and --alias option, regular  expressions  must | ||||||
|          be enclosed in forward  slashes  (/REGEX/).   Elsewhere  in  hledger, |          be  enclosed  in  forward  slashes  (/REGEX/).  Elsewhere in hledger, | ||||||
|          these are not required. |          these are not required. | ||||||
| 
 | 
 | ||||||
|        o To match a regular expression metacharacter like $ as a literal char- |        o To match a regular expression metacharacter like $ as a literal char- | ||||||
|          acter, prepend a backslash.  Eg to search for amounts with the dollar |          acter, prepend a backslash.  Eg to search for amounts with the dollar | ||||||
|          sign in hledger-web, write cur:\$. |          sign in hledger-web, write cur:\$. | ||||||
| 
 | 
 | ||||||
|        o On  the command line, some metacharacters like $ have a special mean- |        o On the command line, some metacharacters like $ have a special  mean- | ||||||
|          ing to the shell and so must be escaped a second time, with single or |          ing to the shell and so must be escaped a second time, with single or | ||||||
|          double  quotes  or  another backslash.  Eg, to match amounts with the |          double quotes or another backslash.  Eg, to match  amounts  with  the | ||||||
|          dollar sign from the command line, write cur:'\$' or cur:\\$. |          dollar sign from the command line, write cur:'\$' or cur:\\$. | ||||||
| 
 | 
 | ||||||
| QUERIES | QUERIES | ||||||
|        One of hledger's strengths is being able to quickly report  on  precise |        One  of  hledger's strengths is being able to quickly report on precise | ||||||
|        subsets  of  your data.  Most commands accept an optional query expres- |        subsets of your data.  Most commands accept an optional  query  expres- | ||||||
|        sion, written as arguments after the command name, to filter  the  data |        sion,  written  as arguments after the command name, to filter the data | ||||||
|        by  date,  account  name or other criteria.  The syntax is similar to a |        by date, account name or other criteria.  The syntax is  similar  to  a | ||||||
|        web search: one or more space-separated search terms, quotes to enclose |        web search: one or more space-separated search terms, quotes to enclose | ||||||
|        whitespace,  optional  prefixes  to  match  specific  fields.  Multiple |        whitespace, optional  prefixes  to  match  specific  fields.   Multiple | ||||||
|        search terms are combined as follows: |        search terms are combined as follows: | ||||||
| 
 | 
 | ||||||
|        All commands except print:  show  transactions/postings/accounts  which |        All  commands  except  print: show transactions/postings/accounts which | ||||||
|        match (or negatively match) |        match (or negatively match) | ||||||
| 
 | 
 | ||||||
|        o any of the description terms AND |        o any of the description terms AND | ||||||
| @ -597,22 +592,22 @@ QUERIES | |||||||
|               same as above |               same as above | ||||||
| 
 | 
 | ||||||
|        amt:N, amt:<N, amt:<=N, amt:>N, amt:>=N |        amt:N, amt:<N, amt:<=N, amt:>N, amt:>=N | ||||||
|               match  postings with a single-commodity amount that is equal to, |               match postings with a single-commodity amount that is equal  to, | ||||||
|               less than, or greater than N.  (Multi-commodity amounts are  not |               less  than, or greater than N.  (Multi-commodity amounts are not | ||||||
|               tested, and will always match.) The comparison has two modes: if |               tested, and will always match.) The comparison has two modes: if | ||||||
|               N is preceded by a + or - sign (or is 0), the two signed numbers |               N is preceded by a + or - sign (or is 0), the two signed numbers | ||||||
|               are  compared.  Otherwise, the absolute magnitudes are compared, |               are compared.  Otherwise, the absolute magnitudes are  compared, | ||||||
|               ignoring sign. |               ignoring sign. | ||||||
| 
 | 
 | ||||||
|        code:REGEX |        code:REGEX | ||||||
|               match by transaction code (eg check number) |               match by transaction code (eg check number) | ||||||
| 
 | 
 | ||||||
|        cur:REGEX |        cur:REGEX | ||||||
|               match postings or transactions including any amounts whose  cur- |               match  postings or transactions including any amounts whose cur- | ||||||
|               rency/commodity  symbol  is fully matched by REGEX.  (For a par- |               rency/commodity symbol is fully matched by REGEX.  (For  a  par- | ||||||
|               tial match, use .*REGEX.*).  Note, to match characters which are |               tial match, use .*REGEX.*).  Note, to match characters which are | ||||||
|               regex-significant, like the dollar sign ($), you need to prepend |               regex-significant, like the dollar sign ($), you need to prepend | ||||||
|               \.  And when using the command line you need  to  add  one  more |               \.   And  when  using  the command line you need to add one more | ||||||
|               level  of  quoting  to  hide  it  from  the  shell,  so  eg  do: |               level  of  quoting  to  hide  it  from  the  shell,  so  eg  do: | ||||||
|               hledger print cur:'\$' or hledger print cur:\\$. |               hledger print cur:'\$' or hledger print cur:\\$. | ||||||
| 
 | 
 | ||||||
| @ -621,29 +616,29 @@ QUERIES | |||||||
| 
 | 
 | ||||||
|        date:PERIODEXPR |        date:PERIODEXPR | ||||||
|               match dates within the specified period.  PERIODEXPR is a period |               match dates within the specified period.  PERIODEXPR is a period | ||||||
|               expression  (with  no  report  interval).   Examples: date:2016, |               expression (with  no  report  interval).   Examples:  date:2016, | ||||||
|               date:thismonth,  date:2000/2/1-2/15,  date:lastweek-.   If   the |               date:thismonth,   date:2000/2/1-2/15,  date:lastweek-.   If  the | ||||||
|               --date2  command  line  flag  is present, this matches secondary |               --date2 command line flag is  present,  this  matches  secondary | ||||||
|               dates instead. |               dates instead. | ||||||
| 
 | 
 | ||||||
|        date2:PERIODEXPR |        date2:PERIODEXPR | ||||||
|               match secondary dates within the specified period. |               match secondary dates within the specified period. | ||||||
| 
 | 
 | ||||||
|        depth:N |        depth:N | ||||||
|               match (or display, depending on command) accounts  at  or  above |               match  (or  display,  depending on command) accounts at or above | ||||||
|               this depth |               this depth | ||||||
| 
 | 
 | ||||||
|        real:, real:0 |        real:, real:0 | ||||||
|               match real or virtual postings respectively |               match real or virtual postings respectively | ||||||
| 
 | 
 | ||||||
|        status:*, status:!, status: |        status:*, status:!, status: | ||||||
|               match   cleared,   pending,  or  uncleared/pending  transactions |               match  cleared,  pending,  or   uncleared/pending   transactions | ||||||
|               respectively |               respectively | ||||||
| 
 | 
 | ||||||
|        tag:REGEX[=REGEX] |        tag:REGEX[=REGEX] | ||||||
|               match by tag name, and optionally also by  tag  value.   Note  a |               match  by  tag  name,  and optionally also by tag value.  Note a | ||||||
|               tag:  query  is  considered to match a transaction if it matches |               tag: query is considered to match a transaction  if  it  matches | ||||||
|               any of the postings.  Also remember that  postings  inherit  the |               any  of  the  postings.  Also remember that postings inherit the | ||||||
|               tags of their parent transaction. |               tags of their parent transaction. | ||||||
| 
 | 
 | ||||||
|        not:   before any of the above negates the match. |        not:   before any of the above negates the match. | ||||||
| @ -651,24 +646,24 @@ QUERIES | |||||||
|        inacct:ACCTNAME |        inacct:ACCTNAME | ||||||
|               a special term used automatically when you click an account name |               a special term used automatically when you click an account name | ||||||
|               in hledger-web, specifying the account register we are currently |               in hledger-web, specifying the account register we are currently | ||||||
|               in  (selects  the  transactions  of that account and how to show |               in (selects the transactions of that account  and  how  to  show | ||||||
|               them, can be filtered further with  acct  etc).   Not  supported |               them,  can  be  filtered  further with acct etc).  Not supported | ||||||
|               elsewhere in hledger. |               elsewhere in hledger. | ||||||
| 
 | 
 | ||||||
|        Some of these can also be expressed as command-line options (eg depth:2 |        Some of these can also be expressed as command-line options (eg depth:2 | ||||||
|        is equivalent to --depth 2).  Generally you can mix options  and  query |        is  equivalent  to --depth 2).  Generally you can mix options and query | ||||||
|        arguments,  and the resulting query will be their intersection (perhaps |        arguments, and the resulting query will be their intersection  (perhaps | ||||||
|        excluding the -p/--period option). |        excluding the -p/--period option). | ||||||
| 
 | 
 | ||||||
| COMMANDS | COMMANDS | ||||||
|        hledger provides a number of subcommands;  hledger  with  no  arguments |        hledger  provides  a  number  of subcommands; hledger with no arguments | ||||||
|        shows a list. |        shows a list. | ||||||
| 
 | 
 | ||||||
|        If you install additional hledger-* packages, or if you put programs or |        If you install additional hledger-* packages, or if you put programs or | ||||||
|        scripts named hledger-NAME in your PATH, these will also be  listed  as |        scripts  named  hledger-NAME in your PATH, these will also be listed as | ||||||
|        subcommands. |        subcommands. | ||||||
| 
 | 
 | ||||||
|        Run   a   subcommand   by  writing  its  name  as  first  argument  (eg |        Run  a  subcommand  by  writing  its  name  as   first   argument   (eg | ||||||
|        hledger incomestatement).  You can also write any unambiguous prefix of |        hledger incomestatement).  You can also write any unambiguous prefix of | ||||||
|        a command name (hledger inc), or one of the standard short aliases dis- |        a command name (hledger inc), or one of the standard short aliases dis- | ||||||
|        played in the command list (hledger is). |        played in the command list (hledger is). | ||||||
| @ -683,14 +678,14 @@ COMMANDS | |||||||
|        --drop=N |        --drop=N | ||||||
|               in flat mode: omit N leading account name parts |               in flat mode: omit N leading account name parts | ||||||
| 
 | 
 | ||||||
|        This command lists all account names that  are  in  use  (ie,  all  the |        This  command  lists  all  account  names  that are in use (ie, all the | ||||||
|        accounts  which  have  at least one transaction posting to them).  With |        accounts which have at least one transaction posting  to  them).   With | ||||||
|        query arguments, only matched account names are shown. |        query arguments, only matched account names are shown. | ||||||
| 
 | 
 | ||||||
|        It shows a flat list by default.  With --tree, it uses  indentation  to |        It  shows  a flat list by default.  With --tree, it uses indentation to | ||||||
|        show the account hierarchy. |        show the account hierarchy. | ||||||
| 
 | 
 | ||||||
|        In  flat  mode  you can add --drop N to omit the first few account name |        In flat mode you can add --drop N to omit the first  few  account  name | ||||||
|        components. |        components. | ||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| @ -733,8 +728,8 @@ COMMANDS | |||||||
|    activity |    activity | ||||||
|        Show an ascii barchart of posting counts per interval. |        Show an ascii barchart of posting counts per interval. | ||||||
| 
 | 
 | ||||||
|        The activity command displays an ascii  histogram  showing  transaction |        The  activity  command  displays an ascii histogram showing transaction | ||||||
|        counts  by  day, week, month or other reporting interval (by day is the |        counts by day, week, month or other reporting interval (by day  is  the | ||||||
|        default).  With query arguments, it counts only matched transactions. |        default).  With query arguments, it counts only matched transactions. | ||||||
| 
 | 
 | ||||||
|               $ hledger activity --quarterly |               $ hledger activity --quarterly | ||||||
| @ -747,24 +742,24 @@ COMMANDS | |||||||
|        Prompt for transactions and add them to the journal. |        Prompt for transactions and add them to the journal. | ||||||
| 
 | 
 | ||||||
|        --no-new-accounts |        --no-new-accounts | ||||||
|               don't allow creating new  accounts;  helps  prevent  typos  when |               don't  allow  creating  new  accounts;  helps prevent typos when | ||||||
|               entering account names |               entering account names | ||||||
| 
 | 
 | ||||||
|        Many  hledger users edit their journals directly with a text editor, or |        Many hledger users edit their journals directly with a text editor,  or | ||||||
|        generate them from CSV.  For more interactive data entry, there is  the |        generate  them from CSV.  For more interactive data entry, there is the | ||||||
|        add  command, which prompts interactively on the console for new trans- |        add command, which prompts interactively on the console for new  trans- | ||||||
|        actions, and appends them to the journal file (if  there  are  multiple |        actions,  and  appends  them to the journal file (if there are multiple | ||||||
|        -f FILE options, the first file is used.) Existing transactions are not |        -f FILE options, the first file is used.) Existing transactions are not | ||||||
|        changed.  This is the only hledger command that writes to  the  journal |        changed.   This  is the only hledger command that writes to the journal | ||||||
|        file. |        file. | ||||||
| 
 | 
 | ||||||
|        To use it, just run hledger add and follow the prompts.  You can add as |        To use it, just run hledger add and follow the prompts.  You can add as | ||||||
|        many transactions as you like; when you are finished, enter . or  press |        many  transactions as you like; when you are finished, enter . or press | ||||||
|        control-d or control-c to exit. |        control-d or control-c to exit. | ||||||
| 
 | 
 | ||||||
|        Features: |        Features: | ||||||
| 
 | 
 | ||||||
|        o add  tries  to provide useful defaults, using the most similar recent |        o add tries to provide useful defaults, using the most  similar  recent | ||||||
|          transaction (by description) as a template. |          transaction (by description) as a template. | ||||||
| 
 | 
 | ||||||
|        o You can also set the initial defaults with command line arguments. |        o You can also set the initial defaults with command line arguments. | ||||||
| @ -772,20 +767,20 @@ COMMANDS | |||||||
|        o Readline-style edit keys can be used during data entry. |        o Readline-style edit keys can be used during data entry. | ||||||
| 
 | 
 | ||||||
|        o The tab key will auto-complete whenever possible - accounts, descrip- |        o The tab key will auto-complete whenever possible - accounts, descrip- | ||||||
|          tions,  dates  (yesterday,  today,  tomorrow).   If the input area is |          tions, dates (yesterday, today, tomorrow).   If  the  input  area  is | ||||||
|          empty, it will insert the default value. |          empty, it will insert the default value. | ||||||
| 
 | 
 | ||||||
|        o If the journal defines a default commodity, it will be added  to  any |        o If  the  journal defines a default commodity, it will be added to any | ||||||
|          bare numbers entered. |          bare numbers entered. | ||||||
| 
 | 
 | ||||||
|        o A parenthesised transaction code may be entered following a date. |        o A parenthesised transaction code may be entered following a date. | ||||||
| 
 | 
 | ||||||
|        o Comments and tags may be entered following a description or amount. |        o Comments and tags may be entered following a description or amount. | ||||||
| 
 | 
 | ||||||
|        o If  you make a mistake, enter < at any prompt to restart the transac- |        o If you make a mistake, enter < at any prompt to restart the  transac- | ||||||
|          tion. |          tion. | ||||||
| 
 | 
 | ||||||
|        o Input prompts are displayed in a different colour when  the  terminal |        o Input  prompts  are displayed in a different colour when the terminal | ||||||
|          supports it. |          supports it. | ||||||
| 
 | 
 | ||||||
|        Example (see the tutorial for a detailed explanation): |        Example (see the tutorial for a detailed explanation): | ||||||
| @ -822,7 +817,7 @@ COMMANDS | |||||||
|               show balance change in each period (default) |               show balance change in each period (default) | ||||||
| 
 | 
 | ||||||
|        --cumulative |        --cumulative | ||||||
|               show  balance  change accumulated across periods (in multicolumn |               show balance change accumulated across periods  (in  multicolumn | ||||||
|               reports) |               reports) | ||||||
| 
 | 
 | ||||||
|        -H --historical |        -H --historical | ||||||
| @ -835,10 +830,6 @@ COMMANDS | |||||||
|        --flat show accounts as a list; amounts exclude subaccounts except when |        --flat show accounts as a list; amounts exclude subaccounts except when | ||||||
|               account is depth-clipped (default in multicolumn reports) |               account is depth-clipped (default in multicolumn reports) | ||||||
| 
 | 
 | ||||||
|        -V --value |  | ||||||
|               convert  amounts  to  their  market value on the report end date |  | ||||||
|               (using the most recent applicable market price, if any) |  | ||||||
| 
 |  | ||||||
|        -A --average |        -A --average | ||||||
|               show a row average column (in multicolumn mode) |               show a row average column (in multicolumn mode) | ||||||
| 
 | 
 | ||||||
| @ -1062,13 +1053,13 @@ COMMANDS | |||||||
|               $ hledger -f t.j bal euros -V -e 2016/12/21 |               $ hledger -f t.j bal euros -V -e 2016/12/21 | ||||||
|                            $103.00  assets:euros |                            $103.00  assets:euros | ||||||
| 
 | 
 | ||||||
|        Currently,  hledger's -V only uses market prices recorded with P direc- |        Currently, hledger's -V only uses market prices recorded with P  direc- | ||||||
|        tives, not transaction prices (unlike Ledger). |        tives, not transaction prices (unlike Ledger). | ||||||
| 
 | 
 | ||||||
|        Using -B and -V together is allowed. |        Using -B and -V together is allowed. | ||||||
| 
 | 
 | ||||||
|    Custom balance output |    Custom balance output | ||||||
|        In simple (non-multi-column) balance reports,  you  can  customise  the |        In  simple  (non-multi-column)  balance  reports, you can customise the | ||||||
|        output with --format FMT: |        output with --format FMT: | ||||||
| 
 | 
 | ||||||
|               $ hledger balance --format "%20(account) %12(total)" |               $ hledger balance --format "%20(account) %12(total)" | ||||||
| @ -1086,7 +1077,7 @@ COMMANDS | |||||||
|                                               0 |                                               0 | ||||||
| 
 | 
 | ||||||
|        The FMT format string (plus a newline) specifies the formatting applied |        The FMT format string (plus a newline) specifies the formatting applied | ||||||
|        to each account/balance pair.  It may contain any suitable  text,  with |        to  each  account/balance pair.  It may contain any suitable text, with | ||||||
|        data fields interpolated like so: |        data fields interpolated like so: | ||||||
| 
 | 
 | ||||||
|        %[MIN][.MAX](FIELDNAME) |        %[MIN][.MAX](FIELDNAME) | ||||||
| @ -1097,14 +1088,14 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o FIELDNAME must be enclosed in parentheses, and can be one of: |        o FIELDNAME must be enclosed in parentheses, and can be one of: | ||||||
| 
 | 
 | ||||||
|          o depth_spacer  - a number of spaces equal to the account's depth, or |          o depth_spacer - a number of spaces equal to the account's depth,  or | ||||||
|            if MIN is specified, MIN * depth spaces. |            if MIN is specified, MIN * depth spaces. | ||||||
| 
 | 
 | ||||||
|          o account - the account's name |          o account - the account's name | ||||||
| 
 | 
 | ||||||
|          o total - the account's balance/posted total, right justified |          o total - the account's balance/posted total, right justified | ||||||
| 
 | 
 | ||||||
|        Also, FMT can begin with an optional prefix to control  how  multi-com- |        Also,  FMT  can begin with an optional prefix to control how multi-com- | ||||||
|        modity amounts are rendered: |        modity amounts are rendered: | ||||||
| 
 | 
 | ||||||
|        o %_ - render on multiple lines, bottom-aligned (the default) |        o %_ - render on multiple lines, bottom-aligned (the default) | ||||||
| @ -1113,7 +1104,7 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o %, - render on one line, comma-separated |        o %, - render on one line, comma-separated | ||||||
| 
 | 
 | ||||||
|        There  are  some  quirks.   Eg in one-line mode, %(depth_spacer) has no |        There are some quirks.  Eg in one-line  mode,  %(depth_spacer)  has  no | ||||||
|        effect, instead %(account) has indentation built in. |        effect, instead %(account) has indentation built in. | ||||||
|         Experimentation may be needed to get pleasing results. |         Experimentation may be needed to get pleasing results. | ||||||
| 
 | 
 | ||||||
| @ -1121,19 +1112,19 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o %(total) - the account's total |        o %(total) - the account's total | ||||||
| 
 | 
 | ||||||
|        o %-20.20(account) - the account's name, left justified, padded  to  20 |        o %-20.20(account)  -  the account's name, left justified, padded to 20 | ||||||
|          characters and clipped at 20 characters |          characters and clipped at 20 characters | ||||||
| 
 | 
 | ||||||
|        o %,%-50(account)  %25(total)  -  account name padded to 50 characters, |        o %,%-50(account)  %25(total) - account name padded to  50  characters, | ||||||
|          total padded to 20 characters, with multiple commodities rendered  on |          total  padded to 20 characters, with multiple commodities rendered on | ||||||
|          one line |          one line | ||||||
| 
 | 
 | ||||||
|        o %20(total)  %2(depth_spacer)%-(account)  - the default format for the |        o %20(total)  %2(depth_spacer)%-(account) - the default format for  the | ||||||
|          single-column balance report |          single-column balance report | ||||||
| 
 | 
 | ||||||
|    Output destination |    Output destination | ||||||
|        The balance, print, register and stats commands can write their  output |        The  balance, print, register and stats commands can write their output | ||||||
|        to  a  destination  other  than the console.  This is controlled by the |        to a destination other than the console.  This  is  controlled  by  the | ||||||
|        -o/--output-file option. |        -o/--output-file option. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -o -     # write to stdout (the default) |               $ hledger balance -o -     # write to stdout (the default) | ||||||
| @ -1141,8 +1132,8 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|    CSV output |    CSV output | ||||||
|        The balance, print and register commands can write their output as CSV. |        The balance, print and register commands can write their output as CSV. | ||||||
|        This  is  useful  for  exporting data to other applications, eg to make |        This is useful for exporting data to other  applications,  eg  to  make | ||||||
|        charts in a spreadsheet.  This is controlled by the  -O/--output-format |        charts  in a spreadsheet.  This is controlled by the -O/--output-format | ||||||
|        option, or by specifying a .csv file extension with -o/--output-file. |        option, or by specifying a .csv file extension with -o/--output-file. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -O csv       # write CSV to stdout |               $ hledger balance -O csv       # write CSV to stdout | ||||||
| @ -1153,11 +1144,20 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        --flat show full account names, as a list (default) |        --flat show full account names, as a list (default) | ||||||
| 
 | 
 | ||||||
|  |        -N --no-total | ||||||
|  |               don't show the final total row | ||||||
|  | 
 | ||||||
|        --drop=N |        --drop=N | ||||||
|               in flat mode: omit N leading account name parts |               in flat mode: omit N leading account name parts | ||||||
| 
 | 
 | ||||||
|        This  command  displays  a  simple balance sheet.  It currently assumes |        --no-elide | ||||||
|        that you have top-level accounts  named  asset  and  liability  (plural |               don't squash boring parent accounts (in tree mode) | ||||||
|  | 
 | ||||||
|  |        --format=LINEFORMAT | ||||||
|  |               in single-column balance reports: use this custom line format | ||||||
|  | 
 | ||||||
|  |        This command displays a simple balance  sheet.   It  currently  assumes | ||||||
|  |        that  you  have  top-level  accounts  named asset and liability (plural | ||||||
|        forms also allowed.) |        forms also allowed.) | ||||||
| 
 | 
 | ||||||
|               $ hledger balancesheet |               $ hledger balancesheet | ||||||
| @ -1184,12 +1184,21 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        --flat show full account names, as a list (default) |        --flat show full account names, as a list (default) | ||||||
| 
 | 
 | ||||||
|  |        -N --no-total | ||||||
|  |               don't show the final total row | ||||||
|  | 
 | ||||||
|        --drop=N |        --drop=N | ||||||
|               in flat mode: omit N leading account name parts |               in flat mode: omit N leading account name parts | ||||||
| 
 | 
 | ||||||
|        This  command  displays a simple cashflow statement It shows the change |        --no-elide | ||||||
|        in all "cash" (ie, liquid assets) accounts for  the  period.   It  cur- |               don't squash boring parent accounts (in tree mode) | ||||||
|        rently  assumes  that cash accounts are under a top-level account named | 
 | ||||||
|  |        --format=LINEFORMAT | ||||||
|  |               in single-column balance reports: use this custom line format | ||||||
|  | 
 | ||||||
|  |        This command displays a simple cashflow statement It shows  the  change | ||||||
|  |        in  all  "cash"  (ie,  liquid assets) accounts for the period.  It cur- | ||||||
|  |        rently assumes that cash accounts are under a top-level  account  named | ||||||
|        asset and do not contain receivable or A/R (plural forms also allowed.) |        asset and do not contain receivable or A/R (plural forms also allowed.) | ||||||
| 
 | 
 | ||||||
|               $ hledger cashflow |               $ hledger cashflow | ||||||
| @ -1239,9 +1248,18 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        --flat show full account names, as a list (default) |        --flat show full account names, as a list (default) | ||||||
| 
 | 
 | ||||||
|  |        -N --no-total | ||||||
|  |               don't show the final total row | ||||||
|  | 
 | ||||||
|        --drop=N |        --drop=N | ||||||
|               in flat mode: omit N leading account name parts |               in flat mode: omit N leading account name parts | ||||||
| 
 | 
 | ||||||
|  |        --no-elide | ||||||
|  |               don't squash boring parent accounts (in tree mode) | ||||||
|  | 
 | ||||||
|  |        --format=LINEFORMAT | ||||||
|  |               in single-column balance reports: use this custom line format | ||||||
|  | 
 | ||||||
|        This command displays a simple income statement.  It currently  assumes |        This command displays a simple income statement.  It currently  assumes | ||||||
|        that  you have top-level accounts named income (or revenue) and expense |        that  you have top-level accounts named income (or revenue) and expense | ||||||
|        (plural forms also allowed.) |        (plural forms also allowed.) | ||||||
| @ -1625,14 +1643,14 @@ ADD-ON COMMANDS | |||||||
|        hledger-dupes.hs checks for account names sharing the same leaf name. |        hledger-dupes.hs checks for account names sharing the same leaf name. | ||||||
| 
 | 
 | ||||||
|    equity |    equity | ||||||
|        hledger-equity.hs prints  balance-resetting  transactions,  useful  for |        hledger-equity.hs  prints  balance-resetting  transactions,  useful for | ||||||
|        bringing account balances across file boundaries. |        bringing account balances across file boundaries. | ||||||
| 
 | 
 | ||||||
|    prices |    prices | ||||||
|        hledger-prices.hs prints all prices from the journal. |        hledger-prices.hs prints all prices from the journal. | ||||||
| 
 | 
 | ||||||
|    print-unique |    print-unique | ||||||
|        hledger-print-unique.hs  prints  transactions  which  do  not  reuse an |        hledger-print-unique.hs prints  transactions  which  do  not  reuse  an | ||||||
|        already-seen description. |        already-seen description. | ||||||
| 
 | 
 | ||||||
|    register-match |    register-match | ||||||
| @ -1645,13 +1663,13 @@ ADD-ON COMMANDS | |||||||
| 
 | 
 | ||||||
| TROUBLESHOOTING | TROUBLESHOOTING | ||||||
|    Run-time problems |    Run-time problems | ||||||
|        Here are some issues you might encounter  when  you  run  hledger  (and |        Here  are  some  issues  you  might encounter when you run hledger (and | ||||||
|        remember  you can also seek help from the IRC channel, mail list or bug |        remember you can also seek help from the IRC channel, mail list or  bug | ||||||
|        tracker): |        tracker): | ||||||
| 
 | 
 | ||||||
|        Successfully installed, but "No command 'hledger' found" |        Successfully installed, but "No command 'hledger' found" | ||||||
|        stack and cabal install binaries into a special directory, which should |        stack and cabal install binaries into a special directory, which should | ||||||
|        be  added  to your PATH environment variable.  Eg on unix-like systems, |        be added to your PATH environment variable.  Eg on  unix-like  systems, | ||||||
|        that is ~/.local/bin and ~/.cabal/bin respectively. |        that is ~/.local/bin and ~/.cabal/bin respectively. | ||||||
| 
 | 
 | ||||||
|        I set a custom LEDGER_FILE, but hledger is still using the default file |        I set a custom LEDGER_FILE, but hledger is still using the default file | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user