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 | ||||
| version 4.8 from stdin. | ||||
| This is hledger-api.1.info, produced by makeinfo version 5.2 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 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. | ||||
| 
 | ||||
|    Like hledger, it reads data from one or more files in hledger | ||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | ||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | ||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | ||||
| journal, timeclock, timedot, or CSV format specified with '-f', or | ||||
| '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||
| 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||
| hledger_journal(5) etc. | ||||
| 
 | ||||
|    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 | ||||
| 0.0.0.0' to listen on all addresses. Note there is no other access | ||||
| 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 | ||||
| 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 | ||||
| (default: 8001) with `-p PORT'. | ||||
| proxy if you want to restrict access.  You can change the TCP 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. | ||||
| 
 | ||||
| * Menu: | ||||
| 
 | ||||
| * OPTIONS:: | ||||
| @ -37,56 +35,57 @@ File: hledger-api.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top | ||||
| 1 OPTIONS | ||||
| ********* | ||||
| 
 | ||||
| Note: if invoking hledger-api as a hledger subcommand, write `--' | ||||
| before options as shown above. | ||||
| Note: if invoking hledger-api as a hledger subcommand, write '--' before | ||||
| options as shown above. | ||||
| 
 | ||||
| `-d --static-dir=DIR' | ||||
|      serve files from a different directory (default: `.') | ||||
| '-d --static-dir=DIR' | ||||
| 
 | ||||
|      serve files from a different directory (default: '.') | ||||
| '-p --port=PORT' | ||||
| 
 | ||||
| `-p --port=PORT' | ||||
|      use a different TCP port (default: 8001) | ||||
| '--swagger' | ||||
| 
 | ||||
| `--swagger' | ||||
|      print API docs in Swagger 2.0 format, and exit | ||||
| 
 | ||||
|    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' | ||||
| 
 | ||||
| `--help' | ||||
|      show the current program's manual as plain text (or after an add-on | ||||
|      COMMAND, the add-on's manual) | ||||
| '--man' | ||||
| 
 | ||||
| `--man' | ||||
|      show the current program's manual with man | ||||
| '--info' | ||||
| 
 | ||||
| `--info' | ||||
|      show the current program's manual with info | ||||
| '--version' | ||||
| 
 | ||||
| `--version' | ||||
|      show version | ||||
| '--debug[=N]' | ||||
| 
 | ||||
| `--debug[=N]' | ||||
|      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) | ||||
| '--alias=OLD=NEW' | ||||
| 
 | ||||
| `--alias=OLD=NEW' | ||||
|      display accounts named OLD as NEW | ||||
| '-I --ignore-assertions' | ||||
| 
 | ||||
| `-I --ignore-assertions' | ||||
|      ignore any failing balance assertions in the journal | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top90 | ||||
| Node: OPTIONS1216 | ||||
| Ref: #options1303 | ||||
| Node: Top74 | ||||
| Node: OPTIONS1220 | ||||
| Ref: #options1307 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -1,23 +1,21 @@ | ||||
| This is hledger-lib/doc/hledger_csv.5.info, produced by makeinfo | ||||
| version 4.8 from stdin. | ||||
| This is hledger_csv.5.info, produced by makeinfo version 5.2 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 can read CSV files, converting each CSV record into a journal | ||||
| entry (transaction), if you provide some conversion hints in a "rules | ||||
| 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 | ||||
| with `--rules-file PATH'. hledger will create it if necessary, with | ||||
| 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".  This file should be named like the CSV file with an additional | ||||
| '.rules' suffix (eg: 'mybank.csv.rules'); or, you can specify the file | ||||
| with '--rules-file PATH'.  hledger will create it if necessary, with | ||||
| 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 | ||||
| How to read CSV files. | ||||
| 
 | ||||
|    To learn about _exporting_ CSV, see CSV output. | ||||
| 
 | ||||
| * Menu: | ||||
| 
 | ||||
| * 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 | ||||
| order. Blank lines and lines beginning with `#' or `;' are ignored. | ||||
| 
 | ||||
| order.  Blank lines and lines beginning with '#' or ';' are ignored. | ||||
| * Menu: | ||||
| 
 | ||||
| * skip:: | ||||
| @ -47,11 +44,10 @@ File: hledger_csv.5.info,  Node: skip,  Next: date-format,  Up: CSV RULES | ||||
| 1.1 skip | ||||
| ======== | ||||
| 
 | ||||
| `skip'_`N'_ | ||||
| 
 | ||||
|    Skip this number of CSV records at the beginning. You'll need this | ||||
| whenever your CSV data contains header lines. Eg: | ||||
| 'skip'_'N'_ | ||||
| 
 | ||||
|    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 | ||||
| skip 1 | ||||
| @ -62,26 +58,22 @@ File: hledger_csv.5.info,  Node: date-format,  Next: field list,  Prev: skip,  U | ||||
| 1.2 date-format | ||||
| =============== | ||||
| 
 | ||||
| `date-format'_`DATEFMT'_ | ||||
| 'date-format'_'DATEFMT'_ | ||||
| 
 | ||||
|    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. | ||||
|    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. | ||||
| 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": | ||||
| date-format %-d/%-m/%Y | ||||
| 
 | ||||
| 
 | ||||
| # for dates like "11/06/2013": | ||||
| date-format %m/%d/%Y | ||||
| 
 | ||||
| 
 | ||||
| # for dates like "2013-Nov-06": | ||||
| date-format %Y-%h-%d | ||||
| 
 | ||||
| 
 | ||||
| # for dates like "11/6/2013 11:32 PM": | ||||
| 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 | ||||
| ============== | ||||
| 
 | ||||
| `fields'_`FIELDNAME1'_, _`FIELDNAME2'_... | ||||
| 'fields'_'FIELDNAME1'_, _'FIELDNAME2'_... | ||||
| 
 | ||||
|    This (a) names the CSV fields, in order (names may not contain | ||||
| whitespace; uninteresting names may be left blank), and (b) assigns them | ||||
| to journal entry fields if you use any of these standard field names: | ||||
| `date', `date2', `status', `code', `description', `comment', | ||||
| `account1', `account2', `amount', `amount-in', `amount-out', | ||||
| `currency'. Eg: | ||||
| 
 | ||||
| 'date', 'date2', 'status', 'code', 'description', 'comment', 'account1', | ||||
| 'account2', 'amount', 'amount-in', 'amount-out', 'currency'.  Eg: | ||||
| 
 | ||||
| # 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: | ||||
| @ -115,17 +105,15 @@ File: hledger_csv.5.info,  Node: field assignment,  Next: conditional block,  Pr | ||||
| 1.4 field assignment | ||||
| ==================== | ||||
| 
 | ||||
| _`ENTRYFIELDNAME'_ _`FIELDVALUE'_ | ||||
| _'ENTRYFIELDNAME'_ _'FIELDVALUE'_ | ||||
| 
 | ||||
|    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 | ||||
| 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 | ||||
| amount USD %4 | ||||
| 
 | ||||
| 
 | ||||
| # combine three fields to make a comment (containing two tags) | ||||
| 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 | ||||
| ===================== | ||||
| 
 | ||||
| `if' _`PATTERN'_ | ||||
| _`FIELDASSIGNMENTS'_... | ||||
| 'if' _'PATTERN'_ | ||||
|     _'FIELDASSIGNMENTS'_... | ||||
| 
 | ||||
|    `if' | ||||
| _`PATTERN'_ | ||||
| _`PATTERN'_... | ||||
| _`FIELDASSIGNMENTS'_... | ||||
|    'if' | ||||
| _'PATTERN'_ | ||||
| _'PATTERN'_... | ||||
|     _'FIELDASSIGNMENTS'_... | ||||
| 
 | ||||
|    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 | ||||
| (it's not yet possible to match within a specific field). When there are | ||||
| multiple patterns they can be written on separate lines, unindented. The | ||||
| field assignments are on separate lines indented by at least one space. | ||||
| Examples: | ||||
| 
 | ||||
| (it's not yet possible to match within a specific field).  When there | ||||
| are multiple patterns they can be written on separate lines, unindented. | ||||
| The field assignments are on separate lines indented by at least one | ||||
| space.  Examples: | ||||
| 
 | ||||
| # if the CSV record contains "groceries", set account2 to "expenses:groceries" | ||||
| if groceries | ||||
|  account2 expenses:groceries | ||||
| 
 | ||||
| 
 | ||||
| # if the CSV record contains any of these patterns, set account2 and comment as shown | ||||
| if | ||||
| monthly service fee | ||||
| @ -174,13 +160,12 @@ File: hledger_csv.5.info,  Node: include,  Prev: conditional block,  Up: CSV RUL | ||||
| 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. | ||||
| Eg: | ||||
| 
 | ||||
| 
 | ||||
| # rules reused with several CSV files | ||||
| include common.rules | ||||
| 
 | ||||
| @ -190,42 +175,41 @@ File: hledger_csv.5.info,  Node: TIPS,  Prev: CSV RULES,  Up: Top | ||||
| 2 TIPS | ||||
| ****** | ||||
| 
 | ||||
| Each generated journal entry will have two postings, to `account1' and | ||||
| `account2' respectively. Currently it's not possible to generate | ||||
| Each generated journal entry will have two postings, to 'account1' and | ||||
| 'account2' respectively.  Currently it's not possible to generate | ||||
| entries with more than two postings. | ||||
| 
 | ||||
|    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 | ||||
| `currency' pseudo field which will be automatically prepended to the | ||||
| amount. (Or you can do the same thing with a field assignment.) | ||||
| 'currency' pseudo field which will be automatically prepended to the | ||||
| amount.  (Or you can do the same thing with a field assignment.) | ||||
| 
 | ||||
|    If an amount value is parenthesised, it will be de-parenthesised and | ||||
| 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. | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top90 | ||||
| Node: CSV RULES795 | ||||
| Ref: #csv-rules901 | ||||
| Node: skip1144 | ||||
| Ref: #skip1240 | ||||
| Node: date-format1411 | ||||
| Ref: #date-format1540 | ||||
| Node: field list2049 | ||||
| Ref: #field-list2188 | ||||
| Node: field assignment2883 | ||||
| Ref: #field-assignment3040 | ||||
| Node: conditional block3545 | ||||
| Ref: #conditional-block3701 | ||||
| Node: include4588 | ||||
| Ref: #include4699 | ||||
| Node: TIPS4930 | ||||
| Ref: #tips5014 | ||||
| Node: Top74 | ||||
| Node: CSV RULES800 | ||||
| Ref: #csv-rules906 | ||||
| Node: skip1149 | ||||
| Ref: #skip1245 | ||||
| Node: date-format1417 | ||||
| Ref: #date-format1546 | ||||
| Node: field list2052 | ||||
| Ref: #field-list2191 | ||||
| Node: field assignment2886 | ||||
| Ref: #field-assignment3043 | ||||
| Node: conditional block3547 | ||||
| Ref: #conditional-block3703 | ||||
| Node: include4599 | ||||
| Ref: #include4710 | ||||
| Node: TIPS4941 | ||||
| Ref: #tips5025 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -124,27 +124,27 @@ CSV RULES | ||||
|               include common.rules | ||||
| 
 | ||||
| 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 | ||||
|        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. | ||||
| 
 | ||||
|        If  the  CSV  has  the currency in a separate field, assign that to the | ||||
|        currency pseudo field which will  be  automatically  prepended  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 | ||||
|        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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 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) | ||||
| 
 | ||||
| 
 | ||||
| @ -158,7 +158,7 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|  | ||||
										
											
												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 | ||||
| 
 | ||||
| DESCRIPTION | ||||
|        hledger's usual data source is a plain  text  file  containing  journal | ||||
|        entries  in  hledger  journal  format.  This file represents a standard | ||||
|        accounting general journal.  I use file names ending in  .journal,  but | ||||
|        hledger's  usual  data  source  is a plain text file containing journal | ||||
|        entries in hledger journal format.  This  file  represents  a  standard | ||||
|        accounting  general  journal.  I use file names ending in .journal, but | ||||
|        that's not required.  The journal file contains a number of transaction | ||||
|        entries, each describing a transfer of money (or any commodity) between | ||||
|        two or more named accounts, in a simple format readable by both hledger | ||||
|        and humans. | ||||
| 
 | ||||
|        hledger's journal format is a compatible subset,  mostly,  of  ledger's | ||||
|        journal  format,  so  hledger  can  work with compatible ledger journal | ||||
|        files as well.  It's safe, and encouraged,  to  run  both  hledger  and | ||||
|        hledger's  journal  format  is a compatible subset, mostly, of ledger's | ||||
|        journal format, so hledger can  work  with  compatible  ledger  journal | ||||
|        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- | ||||
|        ting. | ||||
| 
 | ||||
|        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, | ||||
|        also edit the  journal  file  directly  with  a  text  editor,  perhaps | ||||
|        the add or web commands to create and update it.  Many  users,  though, | ||||
|        also  edit  the  journal  file  directly  with  a  text editor, perhaps | ||||
|        assisted by the helper modes for emacs or vim. | ||||
| 
 | ||||
|        Here's an example: | ||||
| @ -53,18 +53,18 @@ DESCRIPTION | ||||
| 
 | ||||
| FILE FORMAT | ||||
|    Transactions | ||||
|        Transactions  are  represented  by journal entries.  Each begins with a | ||||
|        simple date in column 0, followed by three optional fields with  spaces | ||||
|        Transactions are represented by journal entries.  Each  begins  with  a | ||||
|        simple  date in column 0, followed by three optional fields with spaces | ||||
|        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) | ||||
| 
 | ||||
|        o a transaction code (eg a check number), | ||||
| 
 | ||||
|        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: | ||||
| 
 | ||||
|        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 | ||||
| 
 | ||||
|        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 | ||||
|        it will be inferred. | ||||
| 
 | ||||
|    Dates | ||||
|    Simple dates | ||||
|        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 | ||||
|        will be inferred from  the  context  -  the  current  transaction,  the | ||||
|        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, | ||||
|        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 | ||||
|        will  be  inferred  from  the  context  -  the current transaction, the | ||||
|        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, | ||||
|        2010.1.31. | ||||
| 
 | ||||
|    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 | ||||
|        want  to  model  this,  eg  for more accurate balances, you can specify | ||||
|        individual posting dates, which I recommend.  Or, you can use the  sec- | ||||
|        ondary  dates  (aka  auxiliary/effective  dates) feature, supported for | ||||
|        want to model this, eg for more  accurate  balances,  you  can  specify | ||||
|        individual  posting dates, which I recommend.  Or, you can use the sec- | ||||
|        ondary dates (aka auxiliary/effective  dates)  feature,  supported  for | ||||
|        compatibility with Ledger. | ||||
| 
 | ||||
|        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 | ||||
|        secondary date, on the right, is used when the --date2 flag  is  speci- | ||||
|        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- | ||||
|        fied (--aux-date or --effective also work). | ||||
| 
 | ||||
|        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 | ||||
|        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 | ||||
|        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 | ||||
| @ -119,18 +119,18 @@ FILE FORMAT | ||||
|               $ hledger register checking --date2 | ||||
|               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 | ||||
|        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. | ||||
| 
 | ||||
|    Posting dates | ||||
|        You can give individual postings a different  date  from  their  parent | ||||
|        transaction,  by  adding a posting comment containing a tag (see below) | ||||
|        You  can  give  individual  postings a different date from their parent | ||||
|        transaction, by adding a posting comment containing a tag  (see  below) | ||||
|        like date:DATE.  This is probably the best way to control posting dates | ||||
|        precisely.   Eg  in  this  example  the  expense  should  appear in May | ||||
|        reports, and the deduction from checking should be reported on 6/1  for | ||||
|        precisely.  Eg in  this  example  the  expense  should  appear  in  May | ||||
|        reports,  and the deduction from checking should be reported on 6/1 for | ||||
|        easy bank reconciliation: | ||||
| 
 | ||||
|               2015/5/30 | ||||
| @ -143,23 +143,23 @@ FILE FORMAT | ||||
|               $ hledger -f t.j register checking | ||||
|               2015/06/01                      assets:checking               $-10          $-10 | ||||
| 
 | ||||
|        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 | ||||
|        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 | ||||
|        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 | ||||
|        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 | ||||
|        value is not allowed. | ||||
| 
 | ||||
|        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. | ||||
|        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. | ||||
| 
 | ||||
|    Account names | ||||
|        Account  names  typically have several parts separated by a full colon, | ||||
|        from which hledger derives a hierarchical chart of accounts.  They  can | ||||
|        be  anything  you  like,  but  in  finance there are traditionally five | ||||
|        top-level accounts: assets, liabilities, income, expenses, and  equity. | ||||
|        Account names typically have several parts separated by a  full  colon, | ||||
|        from  which hledger derives a hierarchical chart of accounts.  They can | ||||
|        be anything you like, but  in  finance  there  are  traditionally  five | ||||
|        top-level accounts: assets, liabilities, income, expenses, and equity. | ||||
| 
 | ||||
|        Account  names  may  contain single spaces, eg: assets:accounts receiv- | ||||
|        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 otherwise the format is inferred from the  first  posting  amount  in | ||||
|          that  commodity  in the journal, and the precision (number of decimal | ||||
|        o otherwise  the  format  is  inferred from the first posting amount in | ||||
|          that commodity in the journal, and the precision (number  of  decimal | ||||
|          places) will be the maximum from all posting amounts in that commmod- | ||||
|          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). | ||||
| 
 | ||||
|        Price amounts and amounts in D directives usually don't  affect  amount | ||||
|        format  inference,  but  in  some situations they can do so indirectly. | ||||
|        (Eg when D's default commodity is applied to a  commodity-less  amount, | ||||
|        Price  amounts  and amounts in D directives usually don't affect amount | ||||
|        format inference, but in some situations they  can  do  so  indirectly. | ||||
|        (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 | ||||
|        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. | ||||
| 
 | ||||
|    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: | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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: | ||||
| 
 | ||||
|               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- | ||||
|        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- | ||||
|        ings  (but  separately  from them).  Balanced virtual postings are also | ||||
|        tual  postings  in a transaction must balance to 0, like the real post- | ||||
|        ings (but separately from them).  Balanced virtual  postings  are  also | ||||
|        excluded by --real/-R or real:1. | ||||
| 
 | ||||
|               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere | ||||
| @ -249,13 +249,13 @@ FILE FORMAT | ||||
|                 [assets:checking:budget:food]  $-10 | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|    Balance Assertions | ||||
|        hledger supports Ledger-style  balance  assertions  in  journal  files. | ||||
|        These  look  like =EXPECTEDBALANCE following a posting's amount.  Eg in | ||||
|        this example we assert the expected dollar balance in accounts a and  b | ||||
|        hledger  supports  Ledger-style  balance  assertions  in journal files. | ||||
|        These look like =EXPECTEDBALANCE following a posting's amount.   Eg  in | ||||
|        this  example we assert the expected dollar balance in accounts a and b | ||||
|        after each posting: | ||||
| 
 | ||||
|               2013/1/1 | ||||
| @ -267,31 +267,31 @@ FILE FORMAT | ||||
|                 b  $-1  =$-2 | ||||
| 
 | ||||
|        After reading a journal file, hledger will check all balance assertions | ||||
|        and report an error if any of them fail.  Balance assertions  can  pro- | ||||
|        tect  you  from, eg, inadvertently disrupting reconciled balances while | ||||
|        cleaning up old entries.  You can disable  them  temporarily  with  the | ||||
|        --ignore-assertions  flag,  which  can be useful for troubleshooting or | ||||
|        and  report  an error if any of them fail.  Balance assertions can pro- | ||||
|        tect you from, eg, inadvertently disrupting reconciled  balances  while | ||||
|        cleaning  up  old  entries.   You can disable them temporarily with the | ||||
|        --ignore-assertions flag, which can be useful  for  troubleshooting  or | ||||
|        for reading Ledger files. | ||||
| 
 | ||||
|    Assertions and ordering | ||||
|        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- | ||||
|        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- | ||||
|        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.) | ||||
| 
 | ||||
|        So, hledger balance assertions keep  working  if  you  reorder  differ- | ||||
|        ently-dated  transactions  within  the  journal.   But  if  you reorder | ||||
|        So,  hledger  balance  assertions  keep  working if you reorder differ- | ||||
|        ently-dated transactions  within  the  journal.   But  if  you  reorder | ||||
|        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 | ||||
|        assert intra-day balances. | ||||
| 
 | ||||
|    Assertions and included files | ||||
|        With  included  files, things are a little more complicated.  Including | ||||
|        preserves the ordering of postings and assertions.  If you have  multi- | ||||
|        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 | ||||
|        With included files, things are a little more  complicated.   Including | ||||
|        preserves  the ordering of postings and assertions.  If you have multi- | ||||
|        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 | ||||
|        day, you'll have to put the assertion in the right file. | ||||
| 
 | ||||
|    Assertions and multiple -f options | ||||
| @ -299,21 +299,21 @@ FILE FORMAT | ||||
|        -f options.  Use include or concatenate the files instead. | ||||
| 
 | ||||
|    Assertions and commodities | ||||
|        The asserted balance must be a simple single-commodity amount,  and  in | ||||
|        fact  the  assertion  checks  only  this commodity's balance within the | ||||
|        (possibly multi-commodity) account balance.  We could call this a  par- | ||||
|        tial  balance  assertion.  This is compatible with Ledger, and makes it | ||||
|        The  asserted  balance must be a simple single-commodity amount, and in | ||||
|        fact the assertion checks only  this  commodity's  balance  within  the | ||||
|        (possibly  multi-commodity) account balance.  We could call this a par- | ||||
|        tial balance assertion.  This is compatible with Ledger, and  makes  it | ||||
|        possible to make assertions about accounts containing multiple commodi- | ||||
|        ties. | ||||
| 
 | ||||
|        To  assert  each commodity's balance in such a multi-commodity account, | ||||
|        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 | ||||
|        To assert each commodity's balance in such a  multi-commodity  account, | ||||
|        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 | ||||
|        account does not contain some unexpected commodity.  (We'll add support | ||||
|        for this kind of total balance assertion if there's demand.) | ||||
| 
 | ||||
|    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: | ||||
| 
 | ||||
|               1/1 | ||||
| @ -321,7 +321,7 @@ FILE FORMAT | ||||
|                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 | ||||
|                 equity | ||||
| 
 | ||||
|        The balance report's flat mode  shows  these  exclusive  balances  more | ||||
|        The  balance  report's  flat  mode  shows these exclusive balances more | ||||
|        clearly: | ||||
| 
 | ||||
|               $ hledger bal checking --flat | ||||
| @ -335,10 +335,10 @@ FILE FORMAT | ||||
|        tual.  They are not affected by the --real/-R flag or real: query. | ||||
| 
 | ||||
|    Balance Assignments | ||||
|        Ledger-style balance assignments are also supported.   These  are  like | ||||
|        balance  assertions, but with no posting amount on the left side of the | ||||
|        equals sign; instead it is calculated automatically so  as  to  satisfy | ||||
|        the  assertion.   This  can be a convenience during data entry, eg when | ||||
|        Ledger-style  balance  assignments  are also supported.  These are like | ||||
|        balance assertions, but with no posting amount on the left side of  the | ||||
|        equals  sign;  instead  it is calculated automatically so as to satisfy | ||||
|        the assertion.  This can be a convenience during data  entry,  eg  when | ||||
|        setting opening balances: | ||||
| 
 | ||||
|               ; starting a new journal, set asset account balances | ||||
| @ -356,27 +356,27 @@ FILE FORMAT | ||||
|                 expenses:misc | ||||
| 
 | ||||
|        The calculated amount depends on the account's balance in the commodity | ||||
|        at  that  point  (which depends on the previously-dated postings of the | ||||
|        commodity to that account since the last balance assertion  or  assign- | ||||
|        at that point (which depends on the previously-dated  postings  of  the | ||||
|        commodity  to  that account since the last balance assertion or assign- | ||||
|        ment).  Note that using balance assignments makes your journal a little | ||||
|        less explicit; to know the exact amount posted, you have to run hledger | ||||
|        or do the calculations yourself, instead of just reading it. | ||||
| 
 | ||||
|    Prices | ||||
|    Transaction prices | ||||
|        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- | ||||
|        chase),  or  selling  price (for a sale), or the exchange rate that was | ||||
|        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- | ||||
|        chase), or selling price (for a sale), or the exchange  rate  that  was | ||||
|        used, for this transaction.  These transaction prices are fixed, and do | ||||
|        not change over time. | ||||
| 
 | ||||
|        Amounts  with  transaction  prices  can be displayed in the transaction | ||||
|        price's commodity, by  using  the  --cost/-B  flag  supported  by  most | ||||
|        Amounts with transaction prices can be  displayed  in  the  transaction | ||||
|        price's  commodity,  by  using  the  --cost/-B  flag  supported by most | ||||
|        hledger commands (mnemonic: "cost Basis"). | ||||
| 
 | ||||
|        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: | ||||
| 
 | ||||
|                   2009/1/1 | ||||
| @ -390,7 +390,7 @@ FILE FORMAT | ||||
|                     assets:cash | ||||
| 
 | ||||
|        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: | ||||
| 
 | ||||
|                   2009/1/1 | ||||
| @ -404,38 +404,38 @@ FILE FORMAT | ||||
|                   assets:foreign currency       $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. | ||||
| 
 | ||||
|    Market prices | ||||
|        Market  prices are not tied to a particular transaction; they represent | ||||
|        historical exchange rates between two commodities.  (Ledger calls  them | ||||
|        historical  prices.)  For  example,  the  prices  published  by a stock | ||||
|        exchange or the foreign exchange market.  Some commands (balance,  cur- | ||||
|        rently)  can use this information to show the market value of things at | ||||
|        Market prices are not tied to a particular transaction; they  represent | ||||
|        historical  exchange rates between two commodities.  (Ledger calls them | ||||
|        historical prices.) For  example,  the  prices  published  by  a  stock | ||||
|        exchange  or the foreign exchange market.  Some commands (balance, cur- | ||||
|        rently) can use this information to show the market value of things  at | ||||
|        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: | ||||
| 
 | ||||
|               P DATE COMMODITYBEINGPRICED UNITPRICE | ||||
| 
 | ||||
|        DATE  is a simple date as usual.  COMMODITYBEINGPRICED is the symbol of | ||||
|        the commodity being priced.  UNITPRICE is an  ordinary  amount  (symbol | ||||
|        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 | ||||
|        DATE is a simple date as usual.  COMMODITYBEINGPRICED is the symbol  of | ||||
|        the  commodity  being  priced.  UNITPRICE is an ordinary amount (symbol | ||||
|        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 | ||||
|        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: | ||||
| 
 | ||||
|               P 2009/1/1  $1.35 | ||||
|               P 2010/1/1  $1.40 | ||||
| 
 | ||||
|    Comments | ||||
|        Lines in the journal beginning with a semicolon  (;)  or  hash  (#)  or | ||||
|        asterisk  (*)  are  comments,  and will be ignored.  (Asterisk comments | ||||
|        make it easy to treat your journal like an org-mode outline in  emacs.) | ||||
|        Lines  in  the  journal  beginning  with a semicolon (;) or hash (#) or | ||||
|        asterisk (*) are comments, and will  be  ignored.   (Asterisk  comments | ||||
|        make it easy to treat your journal like an org-mode outline in emacs.) | ||||
| 
 | ||||
|        Also,   anything  between  comment  and  end comment  directives  is  a | ||||
|        (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 | ||||
|        affects all entries.  It's useful for trying out aliases interactively. | ||||
| 
 | ||||
|        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 | ||||
|        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 | ||||
|        affected.  Eg: | ||||
| 
 | ||||
|               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" | ||||
| 
 | ||||
|    Regex aliases | ||||
|        There is also a more powerful variant that uses a  regular  expression, | ||||
|        indicated  by  the forward slashes.  (This was the default behaviour in | ||||
|        There  is  also a more powerful variant that uses a regular expression, | ||||
|        indicated by the forward slashes.  (This was the default  behaviour  in | ||||
|        hledger 0.24-0.25): | ||||
| 
 | ||||
|               alias /REGEX/ = REPLACEMENT | ||||
| 
 | ||||
|        or --alias '/REGEX/=REPLACEMENT'. | ||||
| 
 | ||||
|        REGEX is a case-insensitive regular expression.   Anywhere  it  matches | ||||
|        inside  an  account name, the matched part will be replaced by REPLACE- | ||||
|        MENT.  If REGEX contains parenthesised match groups, these can be  ref- | ||||
|        REGEX  is  a  case-insensitive regular expression.  Anywhere it matches | ||||
|        inside an account name, the matched part will be replaced  by  REPLACE- | ||||
|        MENT.   If REGEX contains parenthesised match groups, these can be ref- | ||||
|        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: | ||||
| 
 | ||||
|               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 | ||||
| @ -730,7 +730,6 @@ EDITOR SUPPORT | ||||
|        These  were  written  with  Ledger  in mind, but also work with hledger | ||||
|        files: | ||||
| 
 | ||||
| 
 | ||||
|        Emacs              http://www.ledger-cli.org/3.0/doc/ledger-mode.html | ||||
|        Vim                https://github.com/ledger/ledger/wiki/Get- | ||||
|                           ting-started | ||||
|  | ||||
| @ -1,5 +1,5 @@ | ||||
| This is hledger-lib/doc/hledger_timeclock.5.info, produced by makeinfo | ||||
| version 4.8 from stdin. | ||||
| This is hledger_timeclock.5.info, produced by makeinfo version 5.2 from | ||||
| stdin. | ||||
| 
 | ||||
|  | ||||
| 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 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 | ||||
| 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 | ||||
| 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 | ||||
| present, must be four digits and is ignored (currently the time is | ||||
| always interpreted as a local time). | ||||
| 
 | ||||
| 
 | ||||
| i 2015/03/30 09:00:00 some:account name  optional description after two spaces | ||||
| o 2015/03/30 09:20:00 | ||||
| i 2015/03/31 22:21:45 another account | ||||
| o 2015/04/01 02:00:34 | ||||
| 
 | ||||
|    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 | ||||
| one day, it is split into several transactions, one for each day. For | ||||
| the above time log, `hledger print' generates these journal entries: | ||||
| 
 | ||||
| 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 | ||||
| the above time log, 'hledger print' generates these journal entries: | ||||
| 
 | ||||
| $ hledger -f t.timeclock print | ||||
| 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: | ||||
| 
 | ||||
| 
 | ||||
| $ 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 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: | ||||
| 
 | ||||
| 
 | ||||
|      alias ti="echo i `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 | ||||
|      ledger 2 executable renamed. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top96 | ||||
| Node: Top80 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -7,11 +7,11 @@ NAME | ||||
|        Timeclock - the time logging format of timeclock.el, as read by hledger | ||||
| 
 | ||||
| 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 | ||||
|        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 present, must be four digits and is ignored (currently the  time  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  present,  must be four digits and is ignored (currently the time is | ||||
|        always interpreted as a local time). | ||||
| 
 | ||||
|               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 | ||||
|               o 2015/04/01 02:00:34 | ||||
| 
 | ||||
|        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 | ||||
|        one  day, it is split into several transactions, one for each day.  For | ||||
|        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 | ||||
|        one day, it is split into several transactions, one for each day.   For | ||||
|        the above time log, hledger print generates these journal entries: | ||||
| 
 | ||||
|               $ hledger -f t.timeclock print | ||||
| @ -42,7 +42,7 @@ DESCRIPTION | ||||
| 
 | ||||
|        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 | ||||
| 
 | ||||
|        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" | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 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) | ||||
| 
 | ||||
| 
 | ||||
| @ -71,7 +71,7 @@ COPYRIGHT | ||||
| 
 | ||||
| 
 | ||||
| SEE ALSO | ||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), | ||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||
|        dot(5), ledger(1) | ||||
| 
 | ||||
|  | ||||
| @ -1,24 +1,23 @@ | ||||
| This is hledger-lib/doc/hledger_timedot.5.info, produced by makeinfo | ||||
| version 4.8 from stdin. | ||||
| This is hledger_timedot.5.info, produced by makeinfo version 5.2 from | ||||
| 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 | ||||
| ****************************** | ||||
| 
 | ||||
| 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 | ||||
| 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 | ||||
| spent. | ||||
| 
 | ||||
|    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, | ||||
| perhaps slightly more conveniently than with hledger_journal(5) format. | ||||
| 
 | ||||
| * Menu: | ||||
| 
 | ||||
| * FILE FORMAT:: | ||||
| @ -29,26 +28,24 @@ File: hledger_timedot.5.info,  Node: FILE FORMAT,  Prev: Top,  Up: Top | ||||
| 1 FILE FORMAT | ||||
| ************* | ||||
| 
 | ||||
| A timedot file contains a series of day entries. A day entry begins with | ||||
| a date, and is followed by category/quantity pairs, one per line. Dates | ||||
| are hledger-style simple dates (see hledger_journal(5)). Categories are | ||||
| hledger-style account names, optionally indented. There must be at least | ||||
| two spaces between the category and the quantity. Quantities can be | ||||
| written in two ways: | ||||
| A timedot file contains a series of day entries.  A day entry begins | ||||
| with a date, and is followed by category/quantity pairs, one per line. | ||||
| Dates are hledger-style simple dates (see hledger_journal(5)). | ||||
| Categories are hledger-style account names, optionally indented.  There | ||||
| must be at least two spaces between the category and the quantity. | ||||
| Quantities can be written in two ways: | ||||
| 
 | ||||
|   1. a series of dots (period characters). Each dot represents "a | ||||
|      quarter" - eg, a quarter hour. Spaces can be used to group dots | ||||
|   1. a series of dots (period characters).  Each dot represents "a | ||||
|      quarter" - eg, a quarter hour.  Spaces can be used to group dots | ||||
|      into hours, for easier counting. | ||||
| 
 | ||||
|   2. a number (integer or decimal), representing "units" - eg, hours. A | ||||
|      good alternative when dots are cumbersome. (A number also can | ||||
|   2. a number (integer or decimal), representing "units" - eg, hours.  A | ||||
|      good alternative when dots are cumbersome.  (A number also can | ||||
|      record negative quantities.) | ||||
| 
 | ||||
| 
 | ||||
|    Blank lines and lines beginning with #, ; or * are ignored. An | ||||
|    Blank lines and lines beginning with #, ; or * are ignored.  An | ||||
| example: | ||||
| 
 | ||||
| 
 | ||||
| # on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc. | ||||
| 2016/2/1 | ||||
| inc:client1   .... .... .... .... .... .... | ||||
| @ -61,7 +58,6 @@ biz:research  . | ||||
| 
 | ||||
|    Or with numbers: | ||||
| 
 | ||||
| 
 | ||||
| 2016/2/3 | ||||
| inc:client1   4 | ||||
| fos:hledger   3 | ||||
| @ -69,7 +65,6 @@ biz:research  1 | ||||
| 
 | ||||
|    Reporting: | ||||
| 
 | ||||
| 
 | ||||
| $ hledger -f t.timedot print date:2016/2/2 | ||||
| 2016/02/02 * | ||||
|     (inc:client1)          2.00 | ||||
| @ -77,7 +72,6 @@ $ hledger -f t.timedot print date:2016/2/2 | ||||
| 2016/02/02 * | ||||
|     (biz:research)          0.25 | ||||
| 
 | ||||
| 
 | ||||
| $ hledger -f t.timedot bal --daily --tree | ||||
| 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 | ||||
| 
 | ||||
|    I prefer to use period for separating account components. We can make | ||||
| this work with an account alias: | ||||
| 
 | ||||
|    I prefer to use period for separating account components.  We can | ||||
| make this work with an account alias: | ||||
| 
 | ||||
| 2016/2/4 | ||||
| fos.hledger.timedot  4 | ||||
| fos.ledger           .. | ||||
| 
 | ||||
| 
 | ||||
| $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | ||||
|                 4.50  fos | ||||
|                 4.00    hledger:timedot | ||||
| @ -111,11 +103,10 @@ $ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4 | ||||
| 
 | ||||
|    Here is a sample.timedot. | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top94 | ||||
| Node: FILE FORMAT876 | ||||
| Ref: #file-format979 | ||||
| Node: Top78 | ||||
| Node: FILE FORMAT882 | ||||
| Ref: #file-format985 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -63,12 +63,6 @@ show period balances (changes) at startup instead of historical balances | ||||
| show full account names, unindented | ||||
| .RS | ||||
| .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 | ||||
| hledger general options: | ||||
| .TP | ||||
| @ -208,6 +202,12 @@ price, if any) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| organize reports by some tag\[aq]s value instead of by account | ||||
| .RS | ||||
|  | ||||
| @ -1,24 +1,22 @@ | ||||
| This is hledger-ui/doc/hledger-ui.1.info, produced by makeinfo version | ||||
| 4.8 from stdin. | ||||
| This is hledger-ui.1.info, produced by makeinfo version 5.2 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 is hledger's curses-style interface, providing an efficient | ||||
| 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. | ||||
| 
 | ||||
|    Like hledger, it reads data from one or more files in hledger | ||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | ||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | ||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | ||||
| journal, timeclock, timedot, or CSV format specified with '-f', or | ||||
| '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||
| 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||
| hledger_journal(5) etc. | ||||
| 
 | ||||
| * Menu: | ||||
| 
 | ||||
| * OPTIONS:: | ||||
| @ -31,121 +29,124 @@ File: hledger-ui.1.info,  Node: OPTIONS,  Next: KEYS,  Prev: Top,  Up: Top | ||||
| 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. | ||||
| 
 | ||||
|    Any QUERYARGS are interpreted as a hledger search query which filters | ||||
| the data. | ||||
| 
 | ||||
| `--watch' | ||||
| '--watch' | ||||
| 
 | ||||
|      watch for data and date changes and reload automatically | ||||
| '--theme=default|terminal|greenterm' | ||||
| 
 | ||||
| `--theme=default|terminal|greenterm' | ||||
|      use this custom display theme | ||||
| '--register=ACCTREGEX' | ||||
| 
 | ||||
| `--register=ACCTREGEX' | ||||
|      start in the (first) matched account's register screen | ||||
| '--change' | ||||
| 
 | ||||
| `--change' | ||||
|      show period balances (changes) at startup instead of historical | ||||
|      balances | ||||
| '--flat' | ||||
| 
 | ||||
| `--flat' | ||||
|      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: | ||||
| 
 | ||||
| `-h' | ||||
|      show general usage (or after COMMAND, the command's usage) | ||||
| '-h' | ||||
| 
 | ||||
|      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 | ||||
|      COMMAND, the add-on's manual) | ||||
| '--man' | ||||
| 
 | ||||
| `--man' | ||||
|      show the current program's manual with man | ||||
| '--info' | ||||
| 
 | ||||
| `--info' | ||||
|      show the current program's manual with info | ||||
| '--version' | ||||
| 
 | ||||
| `--version' | ||||
|      show version | ||||
| '--debug[=N]' | ||||
| 
 | ||||
| `--debug[=N]' | ||||
|      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) | ||||
| '--alias=OLD=NEW' | ||||
| 
 | ||||
| `--alias=OLD=NEW' | ||||
|      display accounts named OLD as NEW | ||||
| '-I --ignore-assertions' | ||||
| 
 | ||||
| `-I --ignore-assertions' | ||||
|      ignore any failing balance assertions in the journal | ||||
| 
 | ||||
|    hledger reporting options: | ||||
| 
 | ||||
| `-b --begin=DATE' | ||||
| '-b --begin=DATE' | ||||
| 
 | ||||
|      include postings/txns on or after this date | ||||
| '-e --end=DATE' | ||||
| 
 | ||||
| `-e --end=DATE' | ||||
|      include postings/txns before this date | ||||
| '-D --daily' | ||||
| 
 | ||||
| `-D --daily' | ||||
|      multiperiod/multicolumn report by day | ||||
| '-W --weekly' | ||||
| 
 | ||||
| `-W --weekly' | ||||
|      multiperiod/multicolumn report by week | ||||
| '-M --monthly' | ||||
| 
 | ||||
| `-M --monthly' | ||||
|      multiperiod/multicolumn report by month | ||||
| '-Q --quarterly' | ||||
| 
 | ||||
| `-Q --quarterly' | ||||
|      multiperiod/multicolumn report by quarter | ||||
| '-Y --yearly' | ||||
| 
 | ||||
| `-Y --yearly' | ||||
|      multiperiod/multicolumn report by year | ||||
| '-p --period=PERIODEXP' | ||||
| 
 | ||||
| `-p --period=PERIODEXP' | ||||
|      set start date, end date, and/or reporting interval all at once | ||||
|      (overrides the flags above) | ||||
| '--date2' | ||||
| 
 | ||||
| `--date2' | ||||
|      show, and match with -b/-e/-p/date:, secondary dates instead | ||||
| '-C --cleared' | ||||
| 
 | ||||
| `-C --cleared' | ||||
|      include only cleared postings/txns | ||||
| '--pending' | ||||
| 
 | ||||
| `--pending' | ||||
|      include only pending postings/txns | ||||
| '-U --uncleared' | ||||
| 
 | ||||
| `-U --uncleared' | ||||
|      include only uncleared (and pending) postings/txns | ||||
| '-R --real' | ||||
| 
 | ||||
| `-R --real' | ||||
|      include only non-virtual postings | ||||
| '--depth=N' | ||||
| 
 | ||||
| `--depth=N' | ||||
|      hide accounts/postings deeper than N | ||||
| '-E --empty' | ||||
| 
 | ||||
| `-E --empty' | ||||
|      show items with zero amount, normally hidden | ||||
| '-B --cost' | ||||
| 
 | ||||
| `-B --cost' | ||||
|      convert amounts to their cost at transaction time (using the | ||||
|      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 | ||||
| '--anon' | ||||
| 
 | ||||
| `--anon' | ||||
|      show anonymized accounts and payees | ||||
| 
 | ||||
|  | ||||
| @ -154,57 +155,57 @@ File: hledger-ui.1.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top | ||||
| 2 KEYS | ||||
| ****** | ||||
| 
 | ||||
| `?' shows a help dialog listing all keys. (Some of these also appear in | ||||
| the quick help at the bottom of each screen.) Press `?' again (or | ||||
| `ESCAPE', or `LEFT') to close it. The following keys work on most | ||||
| '?' shows a help dialog listing all keys.  (Some of these also appear in | ||||
| the quick help at the bottom of each screen.)  Press '?' again (or | ||||
| 'ESCAPE', or 'LEFT') to close it.  The following keys work on most | ||||
| screens: | ||||
| 
 | ||||
|    The cursor keys navigate: `right' (or `enter') goes deeper, `left' | ||||
| returns to the previous screen, `up'/`down'/`page up'/`page | ||||
| down'/`home'/`end' move up and down through lists. Vi-style | ||||
| `h'/`j'/`k'/`l' movement keys are also supported. A tip: movement speed | ||||
|    The cursor keys navigate: 'right' (or 'enter') goes deeper, 'left' | ||||
| returns to the previous screen, 'up'/'down'/'page up'/'page | ||||
| down'/'home'/'end' move up and down through lists.  Vi-style | ||||
| '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 | ||||
| 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.) | ||||
| 
 | ||||
|    With shift pressed, the cursor keys adjust the report period, | ||||
| limiting the transactions to be shown (by default, all are shown). | ||||
| `shift-down/up' steps downward and upward through these standard report | ||||
| period durations: year, quarter, month, week, day. Then, | ||||
| `shift-left/right' moves to the previous/next period. `t' sets the | ||||
| report period to today. With the `--watch' option, when viewing a | ||||
| 'shift-down/up' steps downward and upward through these standard report | ||||
| period durations: year, quarter, month, week, day.  Then, | ||||
| 'shift-left/right' moves to the previous/next period.  't' sets the | ||||
| report period to today.  With the '--watch' option, when viewing a | ||||
| "current" period (the current day, week, month, quarter, or year), the | ||||
| period will move automatically to track the current date. To set a | ||||
| non-standard period, you can use `/' and a `date:' query. | ||||
| period will move automatically to track the current date.  To set a | ||||
| non-standard period, you can use '/' and a 'date:' query. | ||||
| 
 | ||||
|    `/' lets you set a general filter query limiting the data shown, | ||||
| using the same query terms as in hledger and hledger-web. While editing | ||||
| the query, you can use CTRL-a/e/d/k, BS, cursor keys; press `ENTER' to | ||||
| set it, or `ESCAPE'to cancel. There are also keys for quickly adjusting | ||||
|    '/' lets you set a general filter query limiting the data shown, | ||||
| using the same query terms as in hledger and hledger-web.  While editing | ||||
| the query, you can use CTRL-a/e/d/k, BS, cursor keys; press 'ENTER' to | ||||
| set it, or 'ESCAPE'to cancel.  There are also keys for quickly adjusting | ||||
| 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. | ||||
| 
 | ||||
|    `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. | ||||
| 
 | ||||
|    `g' reloads from the data file(s) and updates the current screen and | ||||
| any previous screens. (With large files, this could cause a noticeable | ||||
|    'g' reloads from the data file(s) and updates the current screen and | ||||
| any previous screens.  (With large files, this could cause a noticeable | ||||
| pause.) | ||||
| 
 | ||||
|    `I' toggles balance assertion checking. Disabling balance assertions | ||||
|    'I' toggles balance assertion checking.  Disabling balance assertions | ||||
| temporarily can be useful for troubleshooting. | ||||
| 
 | ||||
|    `a' runs command-line hledger's add command, and reloads the updated | ||||
| file. This allows some basic data entry. | ||||
|    'a' runs command-line hledger's add command, and reloads the updated | ||||
| file.  This allows some basic data entry. | ||||
| 
 | ||||
|    `E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (`emacsclient | ||||
| -a "" -nw') on the journal file. With some editors (emacs, vi), the | ||||
|    'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient | ||||
| -a "" -nw') on the journal file.  With some editors (emacs, vi), the | ||||
| cursor will be positioned at the current transaction when invoked from | ||||
| the register and transaction screens, and at the error location (if | ||||
| possible) when invoked from the error screen. | ||||
| 
 | ||||
|    `q' quits the application. | ||||
|    'q' quits the application. | ||||
| 
 | ||||
|    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 | ||||
| =================== | ||||
| 
 | ||||
| This is normally the first screen displayed. It lists accounts and their | ||||
| balances, like hledger's balance command. By default, it shows all | ||||
| accounts and their latest ending balances (including the balances of | ||||
| subaccounts). if you specify a query on the command line, it shows just | ||||
| This is normally the first screen displayed.  It lists accounts and | ||||
| their balances, like hledger's balance command.  By default, it shows | ||||
| all accounts and their latest ending balances (including the balances of | ||||
| subaccounts).  if you specify a query on the command line, it shows just | ||||
| the matched accounts and the balances from matched transactions. | ||||
| 
 | ||||
|    Account names are normally indented to show the hierarchy (tree | ||||
| 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 | ||||
| single total. `-' and `+' (or `=') decrease and increase the depth | ||||
| limit. To remove the depth limit, set it higher than the maximum | ||||
| account depth, or press `ESCAPE'. | ||||
| '1' to '9'.  '0' shows even less detail, collapsing all accounts to a | ||||
| single total.  '-' and '+' (or '=') decrease and increase the depth | ||||
| limit.  To remove the depth limit, set it higher than the maximum | ||||
| account depth, or press 'ESCAPE'. | ||||
| 
 | ||||
|    `F' toggles flat mode, in which accounts are shown as a flat list, | ||||
| with their full names. In this mode, account balances exclude | ||||
|    'F' toggles flat mode, in which accounts are shown as a flat list, | ||||
| with their full names.  In this mode, account balances exclude | ||||
| subaccounts, except for accounts at the depth limit (as with hledger's | ||||
| 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 | ||||
| report period, taking into account all transactions before that date | ||||
| (filtered by the filter query if any), including transactions before the | ||||
| start of the report period. In other words, historical balances are what | ||||
| you would see on a bank statement for that account (unless disturbed by | ||||
| a filter query). Period balances ignore transactions before the report | ||||
| start date, so they show the change in balance during the report period. | ||||
| They are more useful eg when viewing a time log. | ||||
| start of the report period.  In other words, historical balances are | ||||
| what you would see on a bank statement for that account (unless | ||||
| disturbed by a filter query).  Period balances ignore transactions | ||||
| before the report start date, so they show the change in balance during | ||||
| the report period.  They are more useful eg when viewing a time log. | ||||
| 
 | ||||
|    `C' toggles cleared mode, in which uncleared transactions and | ||||
| postings are not shown. `U' toggles uncleared mode, in which only | ||||
|    'C' toggles cleared mode, in which uncleared transactions and | ||||
| postings are not shown.  'U' toggles uncleared mode, in which only | ||||
| 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 | ||||
| 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 | ||||
| @ -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 | ||||
| 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 | ||||
|      both real and virtual postings, it shows only the accounts | ||||
|      affected by real postings.) | ||||
|    * the other account(s) involved, in abbreviated form.  (If there are | ||||
|      both real and virtual postings, it shows only the accounts affected | ||||
|      by real postings.) | ||||
| 
 | ||||
|    * the overall change to the current account's balance; positive for | ||||
|      an inflow to this account, negative for an outflow. | ||||
| 
 | ||||
|    * the running historical total or period total for the current | ||||
|      account, after the transaction. This can be toggled with `H'. | ||||
|      Similar to the accounts screen, the historical total is affected | ||||
|      by transactions (filtered by the filter query) before the report | ||||
|      start date, while the period total is not. If the historical total | ||||
|      is not disturbed by a filter query, it will be the running | ||||
|      historical balance you would see on a bank register for the | ||||
|      current account. | ||||
| 
 | ||||
|      account, after the transaction.  This can be toggled with 'H'. | ||||
|      Similar to the accounts screen, the historical total is affected by | ||||
|      transactions (filtered by the filter query) before the report start | ||||
|      date, while the period total is not.  If the historical total is | ||||
|      not disturbed by a filter query, it will be the running historical | ||||
|      balance you would see on a bank register for the current account. | ||||
| 
 | ||||
|    If the accounts screen was in tree mode, the register screen will | ||||
| include transactions from both the current account and its subaccounts. | ||||
| If the accounts screen was in flat mode, and a non-depth-clipped account | ||||
| was selected, the register screen will exclude transactions from | ||||
| subaccounts. In other words, the register always shows the transactions | ||||
| responsible for the period balance shown on the accounts screen. As on | ||||
| the accounts screen, this can be toggled with `F'. | ||||
| subaccounts.  In other words, the register always shows the transactions | ||||
| responsible for the period balance shown on the accounts screen.  As on | ||||
| the accounts screen, this can be toggled with 'F'. | ||||
| 
 | ||||
|    `C' toggles cleared mode, in which uncleared transactions and | ||||
| postings are not shown. `U' toggles uncleared mode, in which only | ||||
|    'C' toggles cleared mode, in which uncleared transactions and | ||||
| postings are not shown.  'U' toggles uncleared mode, in which only | ||||
| 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 | ||||
| command-line hledger). | ||||
| 
 | ||||
|    Press `right' (or `enter') to view the selected transaction in | ||||
|    Press 'right' (or 'enter') to view the selected transaction in | ||||
| 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 | ||||
| certain cases, fewer). | ||||
| 
 | ||||
|    `up' and `down' will step through all transactions listed in the | ||||
| previous account register screen. In the title bar, the numbers in | ||||
| parentheses show your position within that account register. They will | ||||
|    'up' and 'down' will step through all transactions listed in the | ||||
| previous account register screen.  In the title bar, the numbers in | ||||
| parentheses show your position within that account register.  They will | ||||
| 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 | ||||
| unfiltered journal, which is a more stable id (at least until the next | ||||
| 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, | ||||
| 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 | ||||
| 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 | ||||
| to cancel the reload attempt.) | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top88 | ||||
| Node: OPTIONS823 | ||||
| Ref: #options922 | ||||
| Node: KEYS3611 | ||||
| Ref: #keys3708 | ||||
| Node: SCREENS6278 | ||||
| Ref: #screens6365 | ||||
| Node: Accounts screen6455 | ||||
| Ref: #accounts-screen6585 | ||||
| Node: Register screen8623 | ||||
| Ref: #register-screen8780 | ||||
| Node: Transaction screen10668 | ||||
| Ref: #transaction-screen10828 | ||||
| Node: Error screen11695 | ||||
| Ref: #error-screen11819 | ||||
| Node: Top73 | ||||
| Node: OPTIONS825 | ||||
| Ref: #options924 | ||||
| Node: KEYS3631 | ||||
| Ref: #keys3728 | ||||
| Node: SCREENS6316 | ||||
| Ref: #screens6403 | ||||
| Node: Accounts screen6493 | ||||
| Ref: #accounts-screen6623 | ||||
| Node: Register screen8672 | ||||
| Ref: #register-screen8829 | ||||
| Node: Transaction screen10718 | ||||
| Ref: #transaction-screen10878 | ||||
| Node: Error screen11748 | ||||
| Ref: #error-screen11872 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -50,15 +50,11 @@ OPTIONS | ||||
| 
 | ||||
|        --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: | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --man  show the current program's manual with man | ||||
| @ -75,7 +71,7 @@ OPTIONS | ||||
|               use a different input file.  For stdin, use - | ||||
| 
 | ||||
|        --rules-file=RULESFILE | ||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: | ||||
|               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||
|               FILE.rules) | ||||
| 
 | ||||
|        --alias=OLD=NEW | ||||
| @ -108,7 +104,7 @@ OPTIONS | ||||
|               multiperiod/multicolumn report by year | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --date2 | ||||
| @ -133,9 +129,13 @@ OPTIONS | ||||
|               show items with zero amount, normally hidden | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        -V --value | ||||
|               convert  amounts  to  their  market value on the report end date | ||||
|               (using the most recent applicable market price, if any) | ||||
| 
 | ||||
|        --pivot TAGNAME | ||||
|               organize reports by some tag's value instead of by account | ||||
| 
 | ||||
|  | ||||
| @ -258,6 +258,12 @@ price, if any) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| organize reports by some tag\[aq]s value instead of by account | ||||
| .RS | ||||
|  | ||||
| @ -1,69 +1,68 @@ | ||||
| This is hledger-web/doc/hledger-web.1.info, produced by makeinfo | ||||
| version 4.8 from stdin. | ||||
| This is hledger-web.1.info, produced by makeinfo version 5.2 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 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 | ||||
| it in a web browser window if possible. It provides a more user-friendly | ||||
| UI than the hledger CLI or hledger-ui interface, showing more at once | ||||
| (accounts, the current account register, balance charts) and allowing | ||||
| history-aware data entry, interactive searching, and bookmarking. | ||||
| it in a web browser window if possible.  It provides a more | ||||
| user-friendly UI than the hledger CLI or hledger-ui interface, showing | ||||
| more at once (accounts, the current account register, balance charts) | ||||
| and allowing history-aware data entry, interactive searching, and | ||||
| bookmarking. | ||||
| 
 | ||||
|    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 | ||||
| should put it behind a suitable web proxy. As a small protection against | ||||
| data loss when running an unprotected instance, it writes a numbered | ||||
| backup of the main journal file (only ?) on every edit. | ||||
| 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 data loss when running an unprotected instance, it writes a | ||||
| numbered backup of the main journal file (only ?)  on every edit. | ||||
| 
 | ||||
|    Like hledger, it reads data from one or more files in hledger | ||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | ||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | ||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | ||||
| journal, timeclock, timedot, or CSV format specified with '-f', or | ||||
| '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||
| 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||
| hledger_journal(5) etc. | ||||
| 
 | ||||
|    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 | ||||
| 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. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|    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 | ||||
| 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 | ||||
| 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 | ||||
| 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 | ||||
| websites. | ||||
| 
 | ||||
|    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 | ||||
| who can see and add entries to your journal. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|    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 the next request. If a change makes the file unparseable, hledger-web | ||||
| will show an error until the file has been fixed. | ||||
| 
 | ||||
| on the next request.  If a change makes the file unparseable, | ||||
| hledger-web will show an error until the file has been fixed. | ||||
| * Menu: | ||||
| 
 | ||||
| * OPTIONS:: | ||||
| @ -74,125 +73,131 @@ File: hledger-web.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top | ||||
| 1 OPTIONS | ||||
| ********* | ||||
| 
 | ||||
| Note: if invoking hledger-web as a hledger subcommand, write `--' | ||||
| before options as shown above. | ||||
| Note: if invoking hledger-web as a hledger subcommand, write '--' before | ||||
| options as shown above. | ||||
| 
 | ||||
| '--serve' | ||||
| 
 | ||||
| `--serve' | ||||
|      serve and log requests, don't browse or auto-exit | ||||
| '--host=IPADDR' | ||||
| 
 | ||||
| `--host=IPADDR' | ||||
|      listen on this IP address (default: 127.0.0.1) | ||||
| '--port=PORT' | ||||
| 
 | ||||
| `--port=PORT' | ||||
|      listen on this TCP port (default: 5000) | ||||
| '--base-url=URL' | ||||
| 
 | ||||
| `--base-url=URL' | ||||
|      set the base url (default: http://IPADDR:PORT). You would change | ||||
|      this when sharing over the network, or integrating within 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 | ||||
|      them from another server for efficiency, you would set the url | ||||
|      with this. | ||||
|      them from another server for efficiency, you would set the url with | ||||
|      this. | ||||
| 
 | ||||
|    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' | ||||
| 
 | ||||
| `--help' | ||||
|      show the current program's manual as plain text (or after an add-on | ||||
|      COMMAND, the add-on's manual) | ||||
| '--man' | ||||
| 
 | ||||
| `--man' | ||||
|      show the current program's manual with man | ||||
| '--info' | ||||
| 
 | ||||
| `--info' | ||||
|      show the current program's manual with info | ||||
| '--version' | ||||
| 
 | ||||
| `--version' | ||||
|      show version | ||||
| '--debug[=N]' | ||||
| 
 | ||||
| `--debug[=N]' | ||||
|      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) | ||||
| '--alias=OLD=NEW' | ||||
| 
 | ||||
| `--alias=OLD=NEW' | ||||
|      display accounts named OLD as NEW | ||||
| '-I --ignore-assertions' | ||||
| 
 | ||||
| `-I --ignore-assertions' | ||||
|      ignore any failing balance assertions in the journal | ||||
| 
 | ||||
|    hledger reporting options: | ||||
| 
 | ||||
| `-b --begin=DATE' | ||||
| '-b --begin=DATE' | ||||
| 
 | ||||
|      include postings/txns on or after this date | ||||
| '-e --end=DATE' | ||||
| 
 | ||||
| `-e --end=DATE' | ||||
|      include postings/txns before this date | ||||
| '-D --daily' | ||||
| 
 | ||||
| `-D --daily' | ||||
|      multiperiod/multicolumn report by day | ||||
| '-W --weekly' | ||||
| 
 | ||||
| `-W --weekly' | ||||
|      multiperiod/multicolumn report by week | ||||
| '-M --monthly' | ||||
| 
 | ||||
| `-M --monthly' | ||||
|      multiperiod/multicolumn report by month | ||||
| '-Q --quarterly' | ||||
| 
 | ||||
| `-Q --quarterly' | ||||
|      multiperiod/multicolumn report by quarter | ||||
| '-Y --yearly' | ||||
| 
 | ||||
| `-Y --yearly' | ||||
|      multiperiod/multicolumn report by year | ||||
| '-p --period=PERIODEXP' | ||||
| 
 | ||||
| `-p --period=PERIODEXP' | ||||
|      set start date, end date, and/or reporting interval all at once | ||||
|      (overrides the flags above) | ||||
| '--date2' | ||||
| 
 | ||||
| `--date2' | ||||
|      show, and match with -b/-e/-p/date:, secondary dates instead | ||||
| '-C --cleared' | ||||
| 
 | ||||
| `-C --cleared' | ||||
|      include only cleared postings/txns | ||||
| '--pending' | ||||
| 
 | ||||
| `--pending' | ||||
|      include only pending postings/txns | ||||
| '-U --uncleared' | ||||
| 
 | ||||
| `-U --uncleared' | ||||
|      include only uncleared (and pending) postings/txns | ||||
| '-R --real' | ||||
| 
 | ||||
| `-R --real' | ||||
|      include only non-virtual postings | ||||
| '--depth=N' | ||||
| 
 | ||||
| `--depth=N' | ||||
|      hide accounts/postings deeper than N | ||||
| '-E --empty' | ||||
| 
 | ||||
| `-E --empty' | ||||
|      show items with zero amount, normally hidden | ||||
| '-B --cost' | ||||
| 
 | ||||
| `-B --cost' | ||||
|      convert amounts to their cost at transaction time (using the | ||||
|      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 | ||||
| '--anon' | ||||
| 
 | ||||
| `--anon' | ||||
|      show anonymized accounts and payees | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
| Tag Table: | ||||
| Node: Top90 | ||||
| Node: OPTIONS3144 | ||||
| Ref: #options3231 | ||||
| Node: Top74 | ||||
| Node: OPTIONS3156 | ||||
| Ref: #options3243 | ||||
|  | ||||
| End Tag Table | ||||
|  | ||||
| @ -57,22 +57,22 @@ DESCRIPTION | ||||
|        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. | ||||
| 
 | ||||
|        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 | ||||
|        authenticating proxy (such as apache or nginx) if you want to  restrict | ||||
|        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 | ||||
|        authenticating  proxy (such as apache or nginx) if you want to restrict | ||||
|        who can see and add entries to your journal. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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 | ||||
|        the  next request.  If a change makes the file unparseable, hledger-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 | ||||
|        will show an error until the file has been fixed. | ||||
| 
 | ||||
| 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. | ||||
| 
 | ||||
|        --serve | ||||
| @ -85,21 +85,21 @@ OPTIONS | ||||
|               listen on this TCP port (default: 5000) | ||||
| 
 | ||||
|        --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 | ||||
|               a larger website. | ||||
| 
 | ||||
|        --file-url=URL | ||||
|               set the static files url (default: BASEURL/static).  hledger-web | ||||
|               normally serves static files itself, but if you wanted to  serve | ||||
|               them  from  another server for efficiency, you would set the url | ||||
|               normally  serves static files itself, but if you wanted to serve | ||||
|               them from another server for efficiency, you would set  the  url | ||||
|               with this. | ||||
| 
 | ||||
|        hledger general options: | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --man  show the current program's manual with man | ||||
| @ -116,7 +116,7 @@ OPTIONS | ||||
|               use a different input file.  For stdin, use - | ||||
| 
 | ||||
|        --rules-file=RULESFILE | ||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: | ||||
|               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||
|               FILE.rules) | ||||
| 
 | ||||
|        --alias=OLD=NEW | ||||
| @ -149,7 +149,7 @@ OPTIONS | ||||
|               multiperiod/multicolumn report by year | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --date2 | ||||
| @ -174,9 +174,13 @@ OPTIONS | ||||
|               show items with zero amount, normally hidden | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        -V --value | ||||
|               convert  amounts  to  their  market value on the report end date | ||||
|               (using the most recent applicable market price, if any) | ||||
| 
 | ||||
|        --pivot TAGNAME | ||||
|               organize reports by some tag's value instead of by account | ||||
| 
 | ||||
|  | ||||
| @ -357,6 +357,12 @@ price, if any) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| organize reports by some tag\[aq]s value instead of by account | ||||
| .RS | ||||
| @ -1243,12 +1249,6 @@ is depth\-clipped (default in multicolumn reports) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| show a row average column (in multicolumn mode) | ||||
| .RS | ||||
| @ -1667,10 +1667,25 @@ show full account names, as a list (default) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| in flat mode: omit N leading account name parts | ||||
| .RS | ||||
| .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 | ||||
| This command displays a simple balance sheet. | ||||
| It currently assumes that you have top\-level accounts named | ||||
| @ -1708,10 +1723,25 @@ show full account names, as a list (default) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| in flat mode: omit N leading account name parts | ||||
| .RS | ||||
| .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 | ||||
| This command displays a simple cashflow statement It shows the change in | ||||
| all "cash" (ie, liquid assets) accounts for the period. | ||||
| @ -1784,10 +1814,25 @@ show full account names, as a list (default) | ||||
| .RS | ||||
| .RE | ||||
| .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[] | ||||
| in flat mode: omit N leading account name parts | ||||
| .RS | ||||
| .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 | ||||
| This command displays a simple income statement. | ||||
| 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. | ||||
| 
 | ||||
|        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 | ||||
|          have  their  own  options.  hledger COMMAND -h shows these, as usual. | ||||
|          Such options, if not also supported by  hledger,  should  be  written | ||||
|          following  a  double  hyphen  argument  (--) so that hledger's option | ||||
|          parser does  not  complain.   Eg:  hledger ui -- --register=checking. | ||||
|        o Some  hledger  commands  come from separate add-on executables, which | ||||
|          have their own options.  hledger COMMAND -h shows  these,  as  usual. | ||||
|          Such  options,  if  not  also supported by hledger, should be written | ||||
|          following a double hyphen argument  (--)  so  that  hledger's  option | ||||
|          parser  does  not  complain.   Eg: hledger ui -- --register=checking. | ||||
|          Or,  you  can  just  run  the  add-on  directly:  hledger-ui --regis- | ||||
|          ter=checking. | ||||
| 
 | ||||
|        Command arguments may also follow the  command  name.   In  most  cases | ||||
|        these  specify  a  query  which  filters the data.  Command options and | ||||
|        Command  arguments  may  also  follow  the command name.  In most cases | ||||
|        these specify a query which filters  the  data.   Command  options  and | ||||
|        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 | ||||
|        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- | ||||
|        able|payable)" amt:\>100. | ||||
| 
 | ||||
|        Characters  which  are  significant  to  the  shell and also in regular | ||||
|        expressions, like parentheses, the pipe symbol  and  the  dollar  sign, | ||||
|        must  sometimes  be  double-escaped.   Eg,  to match the dollar symbol: | ||||
|        Characters which are significant to  the  shell  and  also  in  regular | ||||
|        expressions,  like  parentheses,  the  pipe symbol and the dollar sign, | ||||
|        must sometimes be double-escaped.  Eg,  to  match  the  dollar  symbol: | ||||
|        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 | ||||
|        might    need    triple-escaping.     Eg:    hledger ui cur:'\\$'    or | ||||
|        hledger ui cur:\\\\$. | ||||
| @ -169,7 +169,7 @@ OPTIONS | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --man  show the current program's manual with man | ||||
| @ -186,7 +186,7 @@ OPTIONS | ||||
|               use a different input file.  For stdin, use - | ||||
| 
 | ||||
|        --rules-file=RULESFILE | ||||
|               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||
|               Conversion   rules  file  to  use  when  reading  CSV  (default: | ||||
|               FILE.rules) | ||||
| 
 | ||||
|        --alias=OLD=NEW | ||||
| @ -220,7 +220,7 @@ OPTIONS | ||||
|               multiperiod/multicolumn report by year | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        --date2 | ||||
| @ -245,9 +245,13 @@ OPTIONS | ||||
|               show items with zero amount, normally hidden | ||||
| 
 | ||||
|        -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) | ||||
| 
 | ||||
|        -V --value | ||||
|               convert amounts to their market value on  the  report  end  date | ||||
|               (using the most recent applicable market price, if any) | ||||
| 
 | ||||
|        --pivot TAGNAME | ||||
|               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 | ||||
|        recognised, by trying each built-in "reader" in turn: | ||||
| 
 | ||||
| 
 | ||||
|        Reader:       Reads:                              Used for file extensions: | ||||
|        ----------------------------------------------------------------------------- | ||||
|        journal       hledger's  journal  format,  also   .journal    .j    .hledger | ||||
| @ -316,13 +319,12 @@ OPTIONS | ||||
| 
 | ||||
|        Examples: | ||||
| 
 | ||||
| 
 | ||||
|        2009/1/1,      2009/01/01,   simple dates, several sep- | ||||
|        2009-1-1, 2009.1.1           arators allowed | ||||
|        2009/1, 2009                 same  as above - a missing | ||||
|                                     day or month defaults to 1 | ||||
|        1/1,     january,     jan,   relative  dates,   meaning | ||||
|        this year                    january  1  of the current | ||||
|        1/1,     january,     jan,   relative   dates,  meaning | ||||
|        this year                    january 1 of  the  current | ||||
|                                     year | ||||
|        next year                    january 1 of next year | ||||
|        this month                   the  1st  of  the  current | ||||
| @ -331,6 +333,7 @@ OPTIONS | ||||
|        last week                    the  monday  of  the  week | ||||
|                                     before this one | ||||
|        lastweek                     spaces are optional | ||||
| 
 | ||||
|        today, yesterday, tomorrow | ||||
| 
 | ||||
|    Report start & end date | ||||
| @ -348,7 +351,6 @@ OPTIONS | ||||
| 
 | ||||
|        Examples: | ||||
| 
 | ||||
| 
 | ||||
|        -b 2016/3/17      begin  on  St.   Patrick's | ||||
|                          day 2016 | ||||
|        -e 12/1           end at the start of decem- | ||||
| @ -376,27 +378,25 @@ OPTIONS | ||||
| 
 | ||||
|    Period expressions | ||||
|        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. | ||||
|        Note,  hledger  always treats start dates as inclusive and end dates as | ||||
|        Here's  a basic period expression specifying the first quarter of 2009. | ||||
|        Note, hledger always treats start dates as inclusive and end  dates  as | ||||
|        exclusive: | ||||
| 
 | ||||
|        -p "from 2009/1/1 to 2009/4/1" | ||||
| 
 | ||||
|        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 | ||||
|        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 | ||||
|        "-".  These are equivalent to the above: | ||||
| 
 | ||||
| 
 | ||||
|        -p "2009/1/1 2009/4/1" | ||||
|        -p2009/1/1to2009/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: | ||||
| 
 | ||||
| 
 | ||||
|        -p "1/1 4/1" | ||||
|        -p "january-apr" | ||||
|        -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 | ||||
|        earliest or latest transaction in your journal: | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|        -p "from 2009/1/1"   everything  after  january | ||||
|                             1, 2009 | ||||
|        -p "from 2009/1"     the same | ||||
|        -p "from 2009"       the same | ||||
|        -p "to 2009"         everything  before january | ||||
|        -p "to 2009"         everything before  january | ||||
|                             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: | ||||
| 
 | ||||
| 
 | ||||
|        -p "2009"       the  year 2009; equivalent | ||||
|        -p "2009"       the year 2009;  equivalent | ||||
|                        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 | ||||
|                        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" | ||||
| 
 | ||||
|        The  argument  of  -p  can  also  begin  with, or be, a report interval | ||||
|        expression.  The basic report intervals  are  daily,  weekly,  monthly, | ||||
|        The argument of -p can also  begin  with,  or  be,  a  report  interval | ||||
|        expression.   The  basic  report  intervals are daily, weekly, monthly, | ||||
|        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: | ||||
| 
 | ||||
| 
 | ||||
|        -p "weekly from 2009/1/1 to 2009/4/1" | ||||
|        -p "monthly in 2008" | ||||
|        -p "quarterly" | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        Examples: | ||||
| 
 | ||||
| 
 | ||||
|        -p "bimonthly from 2008" | ||||
|        -p "every 2 weeks" | ||||
|        -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): | ||||
| 
 | ||||
|        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): | ||||
| 
 | ||||
|        hledger register checking -p "every 3rd day of week" | ||||
| 
 | ||||
|    Depth limiting | ||||
|        With  the --depth N option, commands like account, balance and register | ||||
|        will show only the uppermost accounts in  the  account  tree,  down  to | ||||
|        With the --depth N option, commands like account, balance and  register | ||||
|        will  show  only  the  uppermost  accounts in the account tree, down to | ||||
|        level N.  Use this when you want a summary with less detail. | ||||
| 
 | ||||
|    Pivoting | ||||
| @ -467,17 +462,17 @@ OPTIONS | ||||
|        on account name.  The --pivot TAGNAME option causes it to sum and orga- | ||||
|        nize hierarchy based on some other field instead. | ||||
| 
 | ||||
|        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 | ||||
|        account  names,  when  tag  values  have multiple:colon-separated:parts | ||||
|        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 | ||||
|        account names,  when  tag  values  have  multiple:colon-separated:parts | ||||
|        hledger will build hierarchy, displayed in tree-mode reports, summaris- | ||||
|        able with a depth limit, and so on. | ||||
| 
 | ||||
|        --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- | ||||
|        forming  the journal before any other processing, replacing every post- | ||||
|        --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- | ||||
|        forming the journal before any other processing, replacing every  post- | ||||
|        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. | ||||
| 
 | ||||
|        An example: | ||||
| @ -502,7 +497,7 @@ OPTIONS | ||||
|               -------------------- | ||||
|                                  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): | ||||
| 
 | ||||
|               $ hledger balance --pivot member tag:member=. | ||||
| @ -510,7 +505,7 @@ OPTIONS | ||||
|               -------------------- | ||||
|                             -2 EUR | ||||
| 
 | ||||
|        Another  way  (the  acct:  query  matches  against the pivoted "account | ||||
|        Another way (the acct:  query  matches  against  the  pivoted  "account | ||||
|        name"): | ||||
| 
 | ||||
|               $ hledger balance --pivot member acct:. | ||||
| @ -521,56 +516,56 @@ OPTIONS | ||||
|    Regular expressions | ||||
|        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 | ||||
| 
 | ||||
|        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 | ||||
| 
 | ||||
|        hledger's regular expressions come from  the  regex-tdfa  library.   In | ||||
|        hledger's  regular  expressions  come  from the regex-tdfa library.  In | ||||
|        general they: | ||||
| 
 | ||||
|        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) | ||||
| 
 | ||||
|        o are POSIX extended regular expressions | ||||
| 
 | ||||
|        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 | ||||
| 
 | ||||
|        o do not support mode modifiers like (?s) | ||||
| 
 | ||||
|        Some things to note: | ||||
| 
 | ||||
|        o In  the  alias directive and --alias option, regular expressions must | ||||
|          be enclosed in forward  slashes  (/REGEX/).   Elsewhere  in  hledger, | ||||
|        o In the alias directive and --alias option, regular  expressions  must | ||||
|          be  enclosed  in  forward  slashes  (/REGEX/).  Elsewhere in hledger, | ||||
|          these are not required. | ||||
| 
 | ||||
|        o To match a regular expression metacharacter like $ as a literal char- | ||||
|          acter, prepend a backslash.  Eg to search for amounts with the dollar | ||||
|          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 | ||||
|          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:\\$. | ||||
| 
 | ||||
| QUERIES | ||||
|        One of hledger's strengths is being able to quickly report  on  precise | ||||
|        subsets  of  your data.  Most commands accept an optional query expres- | ||||
|        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 | ||||
|        One  of  hledger's strengths is being able to quickly report on precise | ||||
|        subsets of your data.  Most commands accept an optional  query  expres- | ||||
|        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 | ||||
|        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: | ||||
| 
 | ||||
|        All commands except print:  show  transactions/postings/accounts  which | ||||
|        All  commands  except  print: show transactions/postings/accounts which | ||||
|        match (or negatively match) | ||||
| 
 | ||||
|        o any of the description terms AND | ||||
| @ -597,22 +592,22 @@ QUERIES | ||||
|               same as above | ||||
| 
 | ||||
|        amt:N, amt:<N, amt:<=N, amt:>N, amt:>=N | ||||
|               match  postings with a single-commodity amount that is equal to, | ||||
|               less than, or greater than N.  (Multi-commodity amounts are  not | ||||
|               match postings with a single-commodity amount that is equal  to, | ||||
|               less  than, or greater than N.  (Multi-commodity amounts are not | ||||
|               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 | ||||
|               are  compared.  Otherwise, the absolute magnitudes are compared, | ||||
|               are compared.  Otherwise, the absolute magnitudes are  compared, | ||||
|               ignoring sign. | ||||
| 
 | ||||
|        code:REGEX | ||||
|               match by transaction code (eg check number) | ||||
| 
 | ||||
|        cur:REGEX | ||||
|               match postings or transactions including any amounts whose  cur- | ||||
|               rency/commodity  symbol  is fully matched by REGEX.  (For a par- | ||||
|               match  postings or transactions including any amounts whose cur- | ||||
|               rency/commodity symbol is fully matched by REGEX.  (For  a  par- | ||||
|               tial match, use .*REGEX.*).  Note, to match characters which are | ||||
|               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: | ||||
|               hledger print cur:'\$' or hledger print cur:\\$. | ||||
| 
 | ||||
| @ -621,29 +616,29 @@ QUERIES | ||||
| 
 | ||||
|        date:PERIODEXPR | ||||
|               match dates within the specified period.  PERIODEXPR is a period | ||||
|               expression  (with  no  report  interval).   Examples: date:2016, | ||||
|               date:thismonth,  date:2000/2/1-2/15,  date:lastweek-.   If   the | ||||
|               --date2  command  line  flag  is present, this matches secondary | ||||
|               expression (with  no  report  interval).   Examples:  date:2016, | ||||
|               date:thismonth,   date:2000/2/1-2/15,  date:lastweek-.   If  the | ||||
|               --date2 command line flag is  present,  this  matches  secondary | ||||
|               dates instead. | ||||
| 
 | ||||
|        date2:PERIODEXPR | ||||
|               match secondary dates within the specified period. | ||||
| 
 | ||||
|        depth:N | ||||
|               match (or display, depending on command) accounts  at  or  above | ||||
|               match  (or  display,  depending on command) accounts at or above | ||||
|               this depth | ||||
| 
 | ||||
|        real:, real:0 | ||||
|               match real or virtual postings respectively | ||||
| 
 | ||||
|        status:*, status:!, status: | ||||
|               match   cleared,   pending,  or  uncleared/pending  transactions | ||||
|               match  cleared,  pending,  or   uncleared/pending   transactions | ||||
|               respectively | ||||
| 
 | ||||
|        tag:REGEX[=REGEX] | ||||
|               match by tag name, and optionally also by  tag  value.   Note  a | ||||
|               tag:  query  is  considered to match a transaction if it matches | ||||
|               any of the postings.  Also remember that  postings  inherit  the | ||||
|               match  by  tag  name,  and optionally also by tag value.  Note a | ||||
|               tag: query is considered to match a transaction  if  it  matches | ||||
|               any  of  the  postings.  Also remember that postings inherit the | ||||
|               tags of their parent transaction. | ||||
| 
 | ||||
|        not:   before any of the above negates the match. | ||||
| @ -651,24 +646,24 @@ QUERIES | ||||
|        inacct:ACCTNAME | ||||
|               a special term used automatically when you click an account name | ||||
|               in hledger-web, specifying the account register we are currently | ||||
|               in  (selects  the  transactions  of that account and how to show | ||||
|               them, can be filtered further with  acct  etc).   Not  supported | ||||
|               in (selects the transactions of that account  and  how  to  show | ||||
|               them,  can  be  filtered  further with acct etc).  Not supported | ||||
|               elsewhere in hledger. | ||||
| 
 | ||||
|        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 | ||||
|        arguments,  and the resulting query will be their intersection (perhaps | ||||
|        is  equivalent  to --depth 2).  Generally you can mix options and query | ||||
|        arguments, and the resulting query will be their intersection  (perhaps | ||||
|        excluding the -p/--period option). | ||||
| 
 | ||||
| COMMANDS | ||||
|        hledger provides a number of subcommands;  hledger  with  no  arguments | ||||
|        hledger  provides  a  number  of subcommands; hledger with no arguments | ||||
|        shows a list. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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 | ||||
|        a command name (hledger inc), or one of the standard short aliases dis- | ||||
|        played in the command list (hledger is). | ||||
| @ -683,14 +678,14 @@ COMMANDS | ||||
|        --drop=N | ||||
|               in flat mode: omit N leading account name parts | ||||
| 
 | ||||
|        This command lists all account names that  are  in  use  (ie,  all  the | ||||
|        accounts  which  have  at least one transaction posting to them).  With | ||||
|        This  command  lists  all  account  names  that are in use (ie, all the | ||||
|        accounts which have at least one transaction posting  to  them).   With | ||||
|        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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        Examples: | ||||
| @ -733,8 +728,8 @@ COMMANDS | ||||
|    activity | ||||
|        Show an ascii barchart of posting counts per interval. | ||||
| 
 | ||||
|        The activity command displays an ascii  histogram  showing  transaction | ||||
|        counts  by  day, week, month or other reporting interval (by day is the | ||||
|        The  activity  command  displays an ascii histogram showing transaction | ||||
|        counts by day, week, month or other reporting interval (by day  is  the | ||||
|        default).  With query arguments, it counts only matched transactions. | ||||
| 
 | ||||
|               $ hledger activity --quarterly | ||||
| @ -747,24 +742,24 @@ COMMANDS | ||||
|        Prompt for transactions and add them to the journal. | ||||
| 
 | ||||
|        --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 | ||||
| 
 | ||||
|        Many  hledger users edit their journals directly with a text editor, or | ||||
|        generate them from CSV.  For more interactive data entry, there is  the | ||||
|        add  command, which prompts interactively on the console for new trans- | ||||
|        actions, and appends them to the journal file (if  there  are  multiple | ||||
|        Many hledger users edit their journals directly with a text editor,  or | ||||
|        generate  them from CSV.  For more interactive data entry, there is the | ||||
|        add command, which prompts interactively on the console for new  trans- | ||||
|        actions,  and  appends  them to the journal file (if there are multiple | ||||
|        -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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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 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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        o A parenthesised transaction code may be entered following a date. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|        Example (see the tutorial for a detailed explanation): | ||||
| @ -822,7 +817,7 @@ COMMANDS | ||||
|               show balance change in each period (default) | ||||
| 
 | ||||
|        --cumulative | ||||
|               show  balance  change accumulated across periods (in multicolumn | ||||
|               show balance change accumulated across periods  (in  multicolumn | ||||
|               reports) | ||||
| 
 | ||||
|        -H --historical | ||||
| @ -835,10 +830,6 @@ COMMANDS | ||||
|        --flat show accounts as a list; amounts exclude subaccounts except when | ||||
|               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 | ||||
|               show a row average column (in multicolumn mode) | ||||
| 
 | ||||
| @ -1062,13 +1053,13 @@ COMMANDS | ||||
|               $ hledger -f t.j bal euros -V -e 2016/12/21 | ||||
|                            $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). | ||||
| 
 | ||||
|        Using -B and -V together is allowed. | ||||
| 
 | ||||
|    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: | ||||
| 
 | ||||
|               $ hledger balance --format "%20(account) %12(total)" | ||||
| @ -1086,7 +1077,7 @@ COMMANDS | ||||
|                                               0 | ||||
| 
 | ||||
|        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: | ||||
| 
 | ||||
|        %[MIN][.MAX](FIELDNAME) | ||||
| @ -1097,14 +1088,14 @@ COMMANDS | ||||
| 
 | ||||
|        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. | ||||
| 
 | ||||
|          o account - the account's name | ||||
| 
 | ||||
|          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: | ||||
| 
 | ||||
|        o %_ - render on multiple lines, bottom-aligned (the default) | ||||
| @ -1113,7 +1104,7 @@ COMMANDS | ||||
| 
 | ||||
|        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. | ||||
|         Experimentation may be needed to get pleasing results. | ||||
| 
 | ||||
| @ -1121,19 +1112,19 @@ COMMANDS | ||||
| 
 | ||||
|        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 | ||||
| 
 | ||||
|        o %,%-50(account)  %25(total)  -  account name padded to 50 characters, | ||||
|          total padded to 20 characters, with multiple commodities rendered  on | ||||
|        o %,%-50(account)  %25(total) - account name padded to  50  characters, | ||||
|          total  padded to 20 characters, with multiple commodities rendered on | ||||
|          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 | ||||
| 
 | ||||
|    Output destination | ||||
|        The balance, print, register and stats commands can write their  output | ||||
|        to  a  destination  other  than the console.  This is controlled by the | ||||
|        The  balance, print, register and stats commands can write their output | ||||
|        to a destination other than the console.  This  is  controlled  by  the | ||||
|        -o/--output-file option. | ||||
| 
 | ||||
|               $ hledger balance -o -     # write to stdout (the default) | ||||
| @ -1141,8 +1132,8 @@ COMMANDS | ||||
| 
 | ||||
|    CSV output | ||||
|        The balance, print and register commands can write their output as CSV. | ||||
|        This  is  useful  for  exporting data to other applications, eg to make | ||||
|        charts in a spreadsheet.  This is controlled by the  -O/--output-format | ||||
|        This is useful for exporting data to other  applications,  eg  to  make | ||||
|        charts  in a spreadsheet.  This is controlled by the -O/--output-format | ||||
|        option, or by specifying a .csv file extension with -o/--output-file. | ||||
| 
 | ||||
|               $ hledger balance -O csv       # write CSV to stdout | ||||
| @ -1153,11 +1144,20 @@ COMMANDS | ||||
| 
 | ||||
|        --flat show full account names, as a list (default) | ||||
| 
 | ||||
|        -N --no-total | ||||
|               don't show the final total row | ||||
| 
 | ||||
|        --drop=N | ||||
|               in flat mode: omit N leading account name parts | ||||
| 
 | ||||
|        This  command  displays  a  simple balance sheet.  It currently assumes | ||||
|        that you have top-level accounts  named  asset  and  liability  (plural | ||||
|        --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 balance  sheet.   It  currently  assumes | ||||
|        that  you  have  top-level  accounts  named asset and liability (plural | ||||
|        forms also allowed.) | ||||
| 
 | ||||
|               $ hledger balancesheet | ||||
| @ -1184,12 +1184,21 @@ COMMANDS | ||||
| 
 | ||||
|        --flat show full account names, as a list (default) | ||||
| 
 | ||||
|        -N --no-total | ||||
|               don't show the final total row | ||||
| 
 | ||||
|        --drop=N | ||||
|               in flat mode: omit N leading account name parts | ||||
| 
 | ||||
|        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 | ||||
|        --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 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.) | ||||
| 
 | ||||
|               $ hledger cashflow | ||||
| @ -1239,9 +1248,18 @@ COMMANDS | ||||
| 
 | ||||
|        --flat show full account names, as a list (default) | ||||
| 
 | ||||
|        -N --no-total | ||||
|               don't show the final total row | ||||
| 
 | ||||
|        --drop=N | ||||
|               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 | ||||
|        that  you have top-level accounts named income (or revenue) and expense | ||||
|        (plural forms also allowed.) | ||||
| @ -1625,14 +1643,14 @@ ADD-ON COMMANDS | ||||
|        hledger-dupes.hs checks for account names sharing the same leaf name. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|    prices | ||||
|        hledger-prices.hs prints all prices from the journal. | ||||
| 
 | ||||
|    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. | ||||
| 
 | ||||
|    register-match | ||||
| @ -1645,13 +1663,13 @@ ADD-ON COMMANDS | ||||
| 
 | ||||
| TROUBLESHOOTING | ||||
|    Run-time problems | ||||
|        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 | ||||
|        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 | ||||
|        tracker): | ||||
| 
 | ||||
|        Successfully installed, but "No command 'hledger' found" | ||||
|        stack and cabal install binaries into a special directory, which should | ||||
|        be  added  to your PATH environment variable.  Eg on unix-like systems, | ||||
|        be added to your PATH environment variable.  Eg on  unix-like  systems, | ||||
|        that is ~/.local/bin and ~/.cabal/bin respectively. | ||||
| 
 | ||||
|        I set a custom LEDGER_FILE, but hledger is still using the default file | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user