;update manuals
This commit is contained in:
		
							parent
							
								
									1e13588153
								
							
						
					
					
						commit
						a4db52aa05
					
				| @ -1,8 +1,7 @@ | |||||||
| This is hledger-ui/hledger-ui.info, produced by makeinfo version 4.8 | This is hledger-ui.info, produced by makeinfo version 6.7 from stdin. | ||||||
| from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.info,  Node: Top,  Up: (dir) | File: hledger-ui.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-ui(1) | hledger-ui(1) | ||||||
| ************* | ************* | ||||||
| @ -10,8 +9,8 @@ hledger-ui(1) | |||||||
| hledger-ui is a terminal interface (TUI) for the hledger accounting | hledger-ui is a terminal interface (TUI) for the hledger accounting | ||||||
| tool.  This manual is for hledger-ui 1.21.99. | tool.  This manual is for hledger-ui 1.21.99. | ||||||
| 
 | 
 | ||||||
|    `hledger-ui [OPTIONS] [QUERYARGS]' |    'hledger-ui [OPTIONS] [QUERYARGS]' | ||||||
| `hledger ui -- [OPTIONS] [QUERYARGS]' | 'hledger ui -- [OPTIONS] [QUERYARGS]' | ||||||
| 
 | 
 | ||||||
|    hledger is a reliable, cross-platform set of programs for tracking |    hledger is a reliable, cross-platform set of programs for tracking | ||||||
| money, time, or any other commodity, using double-entry accounting and a | money, time, or any other commodity, using double-entry accounting and a | ||||||
| @ -25,9 +24,9 @@ interface, and sometimes quicker and more convenient than the web | |||||||
| interface. | interface. | ||||||
| 
 | 
 | ||||||
|    Like hledger, it reads data from one or more files in hledger |    Like hledger, it reads data from one or more files in hledger | ||||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | journal, timeclock, timedot, or CSV format specified with '-f', or | ||||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1), | 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1), | ||||||
| hledger_journal(5) etc. | hledger_journal(5) etc. | ||||||
| 
 | 
 | ||||||
|    Unlike hledger, hledger-ui hides all future-dated transactions by |    Unlike hledger, hledger-ui hides all future-dated transactions by | ||||||
| @ -50,139 +49,142 @@ File: hledger-ui.info,  Node: OPTIONS,  Next: KEYS,  Prev: Top,  Up: Top | |||||||
| 1 OPTIONS | 1 OPTIONS | ||||||
| ********* | ********* | ||||||
| 
 | 
 | ||||||
| Note: if invoking hledger-ui as a hledger subcommand, write `--' before | Note: if invoking hledger-ui as a hledger subcommand, write '--' before | ||||||
| options as shown above. | options as shown above. | ||||||
| 
 | 
 | ||||||
|    Any QUERYARGS are interpreted as a hledger search query which filters |    Any QUERYARGS are interpreted as a hledger search query which filters | ||||||
| the data. | the data. | ||||||
| 
 | 
 | ||||||
| `--watch' | '--watch' | ||||||
|  | 
 | ||||||
|      watch for data and date changes and reload automatically |      watch for data and date changes and reload automatically | ||||||
|  | '--theme=default|terminal|greenterm' | ||||||
| 
 | 
 | ||||||
| `--theme=default|terminal|greenterm' |  | ||||||
|      use this custom display theme |      use this custom display theme | ||||||
|  | '--register=ACCTREGEX' | ||||||
| 
 | 
 | ||||||
| `--register=ACCTREGEX' |  | ||||||
|      start in the (first) matched account's register screen |      start in the (first) matched account's register screen | ||||||
|  | '--change' | ||||||
| 
 | 
 | ||||||
| `--change' |  | ||||||
|      show period balances (changes) at startup instead of historical |      show period balances (changes) at startup instead of historical | ||||||
|      balances |      balances | ||||||
|  | '-l --flat' | ||||||
| 
 | 
 | ||||||
| `-l --flat' |  | ||||||
|      show accounts as a flat list (default) |      show accounts as a flat list (default) | ||||||
|  | '-t --tree' | ||||||
| 
 | 
 | ||||||
| `-t --tree' |  | ||||||
|      show accounts as a tree |      show accounts as a tree | ||||||
| 
 | 
 | ||||||
|    hledger input options: |    hledger input options: | ||||||
| 
 | 
 | ||||||
| `-f FILE --file=FILE' | '-f FILE --file=FILE' | ||||||
|  | 
 | ||||||
|      use a different input file.  For stdin, use - (default: |      use a different input file.  For stdin, use - (default: | ||||||
|      `$LEDGER_FILE' or `$HOME/.hledger.journal') |      '$LEDGER_FILE' or '$HOME/.hledger.journal') | ||||||
|  | '--rules-file=RULESFILE' | ||||||
| 
 | 
 | ||||||
| `--rules-file=RULESFILE' |  | ||||||
|      Conversion rules file to use when reading CSV (default: FILE.rules) |      Conversion rules file to use when reading CSV (default: FILE.rules) | ||||||
|  | '--separator=CHAR' | ||||||
| 
 | 
 | ||||||
| `--separator=CHAR' |  | ||||||
|      Field separator to expect when reading CSV (default: ',') |      Field separator to expect when reading CSV (default: ',') | ||||||
|  | '--alias=OLD=NEW' | ||||||
| 
 | 
 | ||||||
| `--alias=OLD=NEW' |  | ||||||
|      rename accounts named OLD to NEW |      rename accounts named OLD to NEW | ||||||
|  | '--anon' | ||||||
| 
 | 
 | ||||||
| `--anon' |  | ||||||
|      anonymize accounts and payees |      anonymize accounts and payees | ||||||
|  | '--pivot FIELDNAME' | ||||||
| 
 | 
 | ||||||
| `--pivot FIELDNAME' |  | ||||||
|      use some other field or tag for the account name |      use some other field or tag for the account name | ||||||
|  | '-I --ignore-assertions' | ||||||
| 
 | 
 | ||||||
| `-I --ignore-assertions' |  | ||||||
|      disable balance assertion checks (note: does not disable balance |      disable balance assertion checks (note: does not disable balance | ||||||
|      assignments) |      assignments) | ||||||
|  | '-s --strict' | ||||||
| 
 | 
 | ||||||
| `-s --strict' |  | ||||||
|      do extra error checking (check that all posted accounts are |      do extra error checking (check that all posted accounts are | ||||||
|      declared) |      declared) | ||||||
| 
 | 
 | ||||||
|    hledger reporting options: |    hledger reporting options: | ||||||
| 
 | 
 | ||||||
| `-b --begin=DATE' | '-b --begin=DATE' | ||||||
|  | 
 | ||||||
|      include postings/txns on or after this date (will be adjusted to |      include postings/txns on or after this date (will be adjusted to | ||||||
|      preceding subperiod start when using a report interval) |      preceding subperiod start when using a report interval) | ||||||
|  | '-e --end=DATE' | ||||||
| 
 | 
 | ||||||
| `-e --end=DATE' |  | ||||||
|      include postings/txns before this date (will be adjusted to |      include postings/txns before this date (will be adjusted to | ||||||
|      following subperiod end when using a report interval) |      following subperiod end when using a report interval) | ||||||
|  | '-D --daily' | ||||||
| 
 | 
 | ||||||
| `-D --daily' |  | ||||||
|      multiperiod/multicolumn report by day |      multiperiod/multicolumn report by day | ||||||
|  | '-W --weekly' | ||||||
| 
 | 
 | ||||||
| `-W --weekly' |  | ||||||
|      multiperiod/multicolumn report by week |      multiperiod/multicolumn report by week | ||||||
|  | '-M --monthly' | ||||||
| 
 | 
 | ||||||
| `-M --monthly' |  | ||||||
|      multiperiod/multicolumn report by month |      multiperiod/multicolumn report by month | ||||||
|  | '-Q --quarterly' | ||||||
| 
 | 
 | ||||||
| `-Q --quarterly' |  | ||||||
|      multiperiod/multicolumn report by quarter |      multiperiod/multicolumn report by quarter | ||||||
|  | '-Y --yearly' | ||||||
| 
 | 
 | ||||||
| `-Y --yearly' |  | ||||||
|      multiperiod/multicolumn report by year |      multiperiod/multicolumn report by year | ||||||
|  | '-p --period=PERIODEXP' | ||||||
| 
 | 
 | ||||||
| `-p --period=PERIODEXP' |  | ||||||
|      set start date, end date, and/or reporting interval all at once |      set start date, end date, and/or reporting interval all at once | ||||||
|      using period expressions syntax |      using period expressions syntax | ||||||
|  | '--date2' | ||||||
| 
 | 
 | ||||||
| `--date2' |  | ||||||
|      match the secondary date instead (see command help for other |      match the secondary date instead (see command help for other | ||||||
|      effects) |      effects) | ||||||
|  | '-U --unmarked' | ||||||
| 
 | 
 | ||||||
| `-U --unmarked' |  | ||||||
|      include only unmarked postings/txns (can combine with -P or -C) |      include only unmarked postings/txns (can combine with -P or -C) | ||||||
|  | '-P --pending' | ||||||
| 
 | 
 | ||||||
| `-P --pending' |  | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
|  | '-C --cleared' | ||||||
| 
 | 
 | ||||||
| `-C --cleared' |  | ||||||
|      include only cleared postings/txns |      include only cleared postings/txns | ||||||
|  | '-R --real' | ||||||
| 
 | 
 | ||||||
| `-R --real' |  | ||||||
|      include only non-virtual postings |      include only non-virtual postings | ||||||
|  | '-NUM --depth=NUM' | ||||||
| 
 | 
 | ||||||
| `-NUM --depth=NUM' |  | ||||||
|      hide/aggregate accounts or postings more than NUM levels deep |      hide/aggregate accounts or postings more than NUM levels deep | ||||||
|  | '-E --empty' | ||||||
| 
 | 
 | ||||||
| `-E --empty' |  | ||||||
|      show items with zero amount, normally hidden (and vice-versa in |      show items with zero amount, normally hidden (and vice-versa in | ||||||
|      hledger-ui/hledger-web) |      hledger-ui/hledger-web) | ||||||
|  | '-B --cost' | ||||||
| 
 | 
 | ||||||
| `-B --cost' |  | ||||||
|      convert amounts to their cost/selling amount at transaction time |      convert amounts to their cost/selling amount at transaction time | ||||||
|  | '-V --market' | ||||||
| 
 | 
 | ||||||
| `-V --market' |  | ||||||
|      convert amounts to their market value in default valuation |      convert amounts to their market value in default valuation | ||||||
|      commodities |      commodities | ||||||
|  | '-X --exchange=COMM' | ||||||
| 
 | 
 | ||||||
| `-X --exchange=COMM' |  | ||||||
|      convert amounts to their market value in commodity COMM |      convert amounts to their market value in commodity COMM | ||||||
|  | '--value' | ||||||
| 
 | 
 | ||||||
| `--value' |  | ||||||
|      convert amounts to cost or market value, more flexibly than |      convert amounts to cost or market value, more flexibly than | ||||||
|      -B/-V/-X |      -B/-V/-X | ||||||
|  | '--infer-market-prices' | ||||||
| 
 | 
 | ||||||
| `--infer-market-prices' |  | ||||||
|      use transaction prices (recorded with @ or @@) as additional market |      use transaction prices (recorded with @ or @@) as additional market | ||||||
|      prices, as if they were P directives |      prices, as if they were P directives | ||||||
|  | '--auto' | ||||||
| 
 | 
 | ||||||
| `--auto' |  | ||||||
|      apply automated posting rules to modify transactions. |      apply automated posting rules to modify transactions. | ||||||
|  | '--forecast' | ||||||
| 
 | 
 | ||||||
| `--forecast' |  | ||||||
|      generate future transactions from periodic transaction rules, for |      generate future transactions from periodic transaction rules, for | ||||||
|      the next 6 months or till report end date.  In hledger-ui, also |      the next 6 months or till report end date.  In hledger-ui, also | ||||||
|      make ordinary future transactions visible. |      make ordinary future transactions visible. | ||||||
|  | '--color=WHEN (or --colour=WHEN)' | ||||||
| 
 | 
 | ||||||
| `--color=WHEN (or --colour=WHEN)' |  | ||||||
|      Should color-supporting commands use ANSI color codes in text |      Should color-supporting commands use ANSI color codes in text | ||||||
|      output.  'auto' (default): whenever stdout seems to be a |      output.  'auto' (default): whenever stdout seems to be a | ||||||
|      color-supporting terminal.  'always' or 'yes': always, useful eg |      color-supporting terminal.  'always' or 'yes': always, useful eg | ||||||
| @ -196,24 +198,25 @@ the last one takes precedence. | |||||||
| 
 | 
 | ||||||
|    hledger help options: |    hledger help options: | ||||||
| 
 | 
 | ||||||
| `-h --help' | '-h --help' | ||||||
|  | 
 | ||||||
|      show general or COMMAND help |      show general or COMMAND help | ||||||
|  | '--man' | ||||||
| 
 | 
 | ||||||
| `--man' |  | ||||||
|      show general or COMMAND user manual with man |      show general or COMMAND user manual with man | ||||||
|  | '--info' | ||||||
| 
 | 
 | ||||||
| `--info' |  | ||||||
|      show general or COMMAND user manual with info |      show general or COMMAND user manual with info | ||||||
|  | '--version' | ||||||
| 
 | 
 | ||||||
| `--version' |  | ||||||
|      show general or ADDONCMD version |      show general or ADDONCMD version | ||||||
|  | '--debug[=N]' | ||||||
| 
 | 
 | ||||||
| `--debug[=N]' |  | ||||||
|      show debug output (levels 1-9, default: 1) |      show debug output (levels 1-9, default: 1) | ||||||
| 
 | 
 | ||||||
|    A @FILE argument will be expanded to the contents of FILE, which |    A @FILE argument will be expanded to the contents of FILE, which | ||||||
| should contain one command line option/argument per line.  (To prevent | should contain one command line option/argument per line.  (To prevent | ||||||
| this, insert a `--' argument before.) | this, insert a '--' argument before.) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top | File: hledger-ui.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top | ||||||
| @ -221,15 +224,15 @@ File: hledger-ui.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top | |||||||
| 2 KEYS | 2 KEYS | ||||||
| ****** | ****** | ||||||
| 
 | 
 | ||||||
| `?' shows a help dialog listing all keys. (Some of these also appear in | '?' shows a help dialog listing all keys.  (Some of these also appear in | ||||||
| the quick help at the bottom of each screen.) Press `?' again (or | the quick help at the bottom of each screen.)  Press '?' again (or | ||||||
| `ESCAPE', or `LEFT', or `q') to close it. The following keys work on | 'ESCAPE', or 'LEFT', or 'q') to close it.  The following keys work on | ||||||
| most screens: | most screens: | ||||||
| 
 | 
 | ||||||
|    The cursor keys navigate: `right' (or `enter') goes deeper, `left' |    The cursor keys navigate: 'right' (or 'enter') goes deeper, 'left' | ||||||
| returns to the previous screen, `up'/`down'/`page up'/`page | returns to the previous screen, 'up'/'down'/'page up'/'page | ||||||
| down'/`home'/`end' move up and down through lists. Emacs-style | down'/'home'/'end' move up and down through lists.  Emacs-style | ||||||
| (`ctrl-p'/`ctrl-n'/`ctrl-f'/`ctrl-b') movement keys are also supported | ('ctrl-p'/'ctrl-n'/'ctrl-f'/'ctrl-b') movement keys are also supported | ||||||
| (but not vi-style keys, since hledger-1.19, sorry!).  A tip: movement | (but not vi-style keys, since hledger-1.19, sorry!).  A tip: movement | ||||||
| speed is limited by your keyboard repeat rate, to move faster you may | speed is limited by your keyboard repeat rate, to move faster you may | ||||||
| want to adjust it.  (If you're on a mac, the karabiner app is one way to | want to adjust it.  (If you're on a mac, the karabiner app is one way to | ||||||
| @ -237,78 +240,78 @@ do that.) | |||||||
| 
 | 
 | ||||||
|    With shift pressed, the cursor keys adjust the report period, |    With shift pressed, the cursor keys adjust the report period, | ||||||
| limiting the transactions to be shown (by default, all are shown). | limiting the transactions to be shown (by default, all are shown). | ||||||
| `shift-down/up' steps downward and upward through these standard report | 'shift-down/up' steps downward and upward through these standard report | ||||||
| period durations: year, quarter, month, week, day.  Then, | period durations: year, quarter, month, week, day.  Then, | ||||||
| `shift-left/right' moves to the previous/next period. `T' sets the | 'shift-left/right' moves to the previous/next period.  'T' sets the | ||||||
| report period to today. With the `--watch' option, when viewing a | report period to today.  With the '--watch' option, when viewing a | ||||||
| "current" period (the current day, week, month, quarter, or year), the | "current" period (the current day, week, month, quarter, or year), the | ||||||
| period will move automatically to track the current date.  To set a | period will move automatically to track the current date.  To set a | ||||||
| non-standard period, you can use `/' and a `date:' query. | non-standard period, you can use '/' and a 'date:' query. | ||||||
| 
 | 
 | ||||||
|    `/' lets you set a general filter query limiting the data shown, |    '/' lets you set a general filter query limiting the data shown, | ||||||
| using the same query terms as in hledger and hledger-web.  While editing | using the same query terms as in hledger and hledger-web.  While editing | ||||||
| the query, you can use CTRL-a/e/d/k, BS, cursor keys; press `ENTER' to | the query, you can use CTRL-a/e/d/k, BS, cursor keys; press 'ENTER' to | ||||||
| set it, or `ESCAPE'to cancel. There are also keys for quickly adjusting | set it, or 'ESCAPE'to cancel.  There are also keys for quickly adjusting | ||||||
| some common filters like account depth and transaction status (see | some common filters like account depth and transaction status (see | ||||||
| below). `BACKSPACE' or `DELETE' removes all filters, showing all | below).  'BACKSPACE' or 'DELETE' removes all filters, showing all | ||||||
| transactions. | transactions. | ||||||
| 
 | 
 | ||||||
|    As mentioned above, by default hledger-ui hides future transactions - |    As mentioned above, by default hledger-ui hides future transactions - | ||||||
| both ordinary transactions recorded in the journal, and periodic | both ordinary transactions recorded in the journal, and periodic | ||||||
| transactions generated by rule. `F' toggles forecast mode, in which | transactions generated by rule.  'F' toggles forecast mode, in which | ||||||
| future/forecasted transactions are shown. | future/forecasted transactions are shown. | ||||||
| 
 | 
 | ||||||
|    `ESCAPE' resets the UI state and jumps back to the top screen, |    'ESCAPE' resets the UI state and jumps back to the top screen, | ||||||
| restoring the app's initial state at startup.  Or, it cancels minibuffer | restoring the app's initial state at startup.  Or, it cancels minibuffer | ||||||
| data entry or the help dialog. | data entry or the help dialog. | ||||||
| 
 | 
 | ||||||
|    `CTRL-l' redraws the screen and centers the selection if possible |    'CTRL-l' redraws the screen and centers the selection if possible | ||||||
| (selections near the top won't be centered, since we don't scroll above | (selections near the top won't be centered, since we don't scroll above | ||||||
| the top). | the top). | ||||||
| 
 | 
 | ||||||
|    `g' reloads from the data file(s) and updates the current screen and |    'g' reloads from the data file(s) and updates the current screen and | ||||||
| any previous screens.  (With large files, this could cause a noticeable | any previous screens.  (With large files, this could cause a noticeable | ||||||
| pause.) | pause.) | ||||||
| 
 | 
 | ||||||
|    `I' toggles balance assertion checking. Disabling balance assertions |    'I' toggles balance assertion checking.  Disabling balance assertions | ||||||
| temporarily can be useful for troubleshooting. | temporarily can be useful for troubleshooting. | ||||||
| 
 | 
 | ||||||
|    `a' runs command-line hledger's add command, and reloads the updated |    'a' runs command-line hledger's add command, and reloads the updated | ||||||
| file.  This allows some basic data entry. | file.  This allows some basic data entry. | ||||||
| 
 | 
 | ||||||
|    `A' is like `a', but runs the hledger-iadd tool, which provides a |    'A' is like 'a', but runs the hledger-iadd tool, which provides a | ||||||
| terminal interface. This key will be available if `hledger-iadd' is | terminal interface.  This key will be available if 'hledger-iadd' is | ||||||
| installed in $path. | installed in $path. | ||||||
| 
 | 
 | ||||||
|    `E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default (`emacsclient |    'E' runs $HLEDGER_UI_EDITOR, or $EDITOR, or a default ('emacsclient | ||||||
| -a "" -nw') on the journal file.  With some editors (emacs, vi), the | -a "" -nw') on the journal file.  With some editors (emacs, vi), the | ||||||
| cursor will be positioned at the current transaction when invoked from | cursor will be positioned at the current transaction when invoked from | ||||||
| the register and transaction screens, and at the error location (if | the register and transaction screens, and at the error location (if | ||||||
| possible) when invoked from the error screen. | possible) when invoked from the error screen. | ||||||
| 
 | 
 | ||||||
|    `B' toggles cost mode, showing amounts in their transaction price's |    'B' toggles cost mode, showing amounts in their transaction price's | ||||||
| commodity (like toggling the `-B/--cost' flag). | commodity (like toggling the '-B/--cost' flag). | ||||||
| 
 | 
 | ||||||
|    `V' toggles value mode, showing amounts' current market value in |    'V' toggles value mode, showing amounts' current market value in | ||||||
| their default valuation commodity (like toggling the `-V/--market' | their default valuation commodity (like toggling the '-V/--market' | ||||||
| flag).  Note, "current market value" means the value on the report end | flag).  Note, "current market value" means the value on the report end | ||||||
| date if specified, otherwise today.  To see the value on another date, | date if specified, otherwise today.  To see the value on another date, | ||||||
| you can temporarily set that as the report end date.  Eg: to see a | you can temporarily set that as the report end date.  Eg: to see a | ||||||
| transaction as it was valued on july 30, go to the accounts or register | transaction as it was valued on july 30, go to the accounts or register | ||||||
| screen, press `/', and add `date:-7/30' to the query. | screen, press '/', and add 'date:-7/30' to the query. | ||||||
| 
 | 
 | ||||||
|    At most one of cost or value mode can be active at once. |    At most one of cost or value mode can be active at once. | ||||||
| 
 | 
 | ||||||
|    There's not yet any visual reminder when cost or value mode is |    There's not yet any visual reminder when cost or value mode is | ||||||
| active; for now pressing `b' `b' `v' should reliably reset to normal | active; for now pressing 'b' 'b' 'v' should reliably reset to normal | ||||||
| mode. | mode. | ||||||
| 
 | 
 | ||||||
|    With `--watch' active, if you save an edit to the journal file while |    With '--watch' active, if you save an edit to the journal file while | ||||||
| viewing the transaction screen in cost or value mode, the `B'/`V' keys | viewing the transaction screen in cost or value mode, the 'B'/'V' keys | ||||||
| will stop working. To work around, press `g' to force a manual reload, | will stop working.  To work around, press 'g' to force a manual reload, | ||||||
| or exit the transaction screen. | or exit the transaction screen. | ||||||
| 
 | 
 | ||||||
|    `q' quits the application. |    'q' quits the application. | ||||||
| 
 | 
 | ||||||
|    Additional screen-specific keys are described below. |    Additional screen-specific keys are described below. | ||||||
| 
 | 
 | ||||||
| @ -331,47 +334,48 @@ File: hledger-ui.info,  Node: Accounts screen,  Next: Register screen,  Up: SCRE | |||||||
| 3.1 Accounts screen | 3.1 Accounts screen | ||||||
| =================== | =================== | ||||||
| 
 | 
 | ||||||
| This is normally the first screen displayed. It lists accounts and their | This is normally the first screen displayed.  It lists accounts and | ||||||
| balances, like hledger's balance command. By default, it shows all | their balances, like hledger's balance command.  By default, it shows | ||||||
| accounts and their latest ending balances (including the balances of | all accounts and their latest ending balances (including the balances of | ||||||
| subaccounts).  If you specify a query on the command line, it shows just | subaccounts).  If you specify a query on the command line, it shows just | ||||||
| the matched accounts and the balances from matched transactions. | the matched accounts and the balances from matched transactions. | ||||||
| 
 | 
 | ||||||
|    Account names are shown as a flat list by default; press `t' to |    Account names are shown as a flat list by default; press 't' to | ||||||
| toggle tree mode.  In list mode, account balances are exclusive of | toggle tree mode.  In list mode, account balances are exclusive of | ||||||
| subaccounts, except where subaccounts are hidden by a depth limit (see | subaccounts, except where subaccounts are hidden by a depth limit (see | ||||||
| below). In tree mode, all account balances are inclusive of subaccounts. | below).  In tree mode, all account balances are inclusive of | ||||||
|  | subaccounts. | ||||||
| 
 | 
 | ||||||
|    To see less detail, press a number key, `1' to `9', to set a depth |    To see less detail, press a number key, '1' to '9', to set a depth | ||||||
| limit. Or use `-' to decrease and `+'/`=' to increase the depth limit. | limit.  Or use '-' to decrease and '+'/'=' to increase the depth limit. | ||||||
| `0' shows even less detail, collapsing all accounts to a single total. | '0' shows even less detail, collapsing all accounts to a single total. | ||||||
| To remove the depth limit, set it higher than the maximum account | To remove the depth limit, set it higher than the maximum account depth, | ||||||
| depth, or press `ESCAPE'. | or press 'ESCAPE'. | ||||||
| 
 | 
 | ||||||
|    `H' toggles between showing historical balances or period balances. |    'H' toggles between showing historical balances or period balances. | ||||||
| Historical balances (the default) are ending balances at the end of the | Historical balances (the default) are ending balances at the end of the | ||||||
| report period, taking into account all transactions before that date | report period, taking into account all transactions before that date | ||||||
| (filtered by the filter query if any), including transactions before the | (filtered by the filter query if any), including transactions before the | ||||||
| start of the report period. In other words, historical balances are what | start of the report period.  In other words, historical balances are | ||||||
| you would see on a bank statement for that account (unless disturbed by | what you would see on a bank statement for that account (unless | ||||||
| a filter query). Period balances ignore transactions before the report | disturbed by a filter query).  Period balances ignore transactions | ||||||
| start date, so they show the change in balance during the report period. | before the report start date, so they show the change in balance during | ||||||
| They are more useful eg when viewing a time log. | the report period.  They are more useful eg when viewing a time log. | ||||||
| 
 | 
 | ||||||
|    `U' toggles filtering by unmarked status, including or excluding |    'U' toggles filtering by unmarked status, including or excluding | ||||||
| unmarked postings in the balances. Similarly, `P' toggles pending | unmarked postings in the balances.  Similarly, 'P' toggles pending | ||||||
| postings, and `C' toggles cleared postings. (By default, balances | postings, and 'C' toggles cleared postings.  (By default, balances | ||||||
| include all postings; if you activate one or two status filters, only | include all postings; if you activate one or two status filters, only | ||||||
| those postings are included; and if you activate all three, the filter | those postings are included; and if you activate all three, the filter | ||||||
| is removed.) | is removed.) | ||||||
| 
 | 
 | ||||||
|    `R' toggles real mode, in which virtual postings are ignored. |    'R' toggles real mode, in which virtual postings are ignored. | ||||||
| 
 | 
 | ||||||
|    `Z' toggles nonzero mode, in which only accounts with nonzero |    'Z' toggles nonzero mode, in which only accounts with nonzero | ||||||
| balances are shown (hledger-ui shows zero items by default, unlike | balances are shown (hledger-ui shows zero items by default, unlike | ||||||
| command-line hledger). | command-line hledger). | ||||||
| 
 | 
 | ||||||
|    Press `right' or `enter' to view an account's transactions register. |    Press 'right' or 'enter' to view an account's transactions register. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.info,  Node: Register screen,  Next: Transaction screen,  Prev: Accounts screen,  Up: SCREENS | File: hledger-ui.info,  Node: Register screen,  Next: Transaction screen,  Prev: Accounts screen,  Up: SCREENS | ||||||
| @ -383,43 +387,41 @@ This screen shows the transactions affecting a particular account, like | |||||||
| a check register.  Each line represents one transaction and shows: | a check register.  Each line represents one transaction and shows: | ||||||
| 
 | 
 | ||||||
|    * the other account(s) involved, in abbreviated form.  (If there are |    * the other account(s) involved, in abbreviated form.  (If there are | ||||||
|      both real and virtual postings, it shows only the accounts |      both real and virtual postings, it shows only the accounts affected | ||||||
|      affected by real postings.) |      by real postings.) | ||||||
| 
 | 
 | ||||||
|    * the overall change to the current account's balance; positive for |    * the overall change to the current account's balance; positive for | ||||||
|      an inflow to this account, negative for an outflow. |      an inflow to this account, negative for an outflow. | ||||||
| 
 | 
 | ||||||
|    * the running historical total or period total for the current |    * the running historical total or period total for the current | ||||||
|      account, after the transaction. This can be toggled with `H'. |      account, after the transaction.  This can be toggled with 'H'. | ||||||
|      Similar to the accounts screen, the historical total is affected |      Similar to the accounts screen, the historical total is affected by | ||||||
|      by transactions (filtered by the filter query) before the report |      transactions (filtered by the filter query) before the report start | ||||||
|      start date, while the period total is not. If the historical total |      date, while the period total is not.  If the historical total is | ||||||
|      is not disturbed by a filter query, it will be the running |      not disturbed by a filter query, it will be the running historical | ||||||
|      historical balance you would see on a bank register for the |      balance you would see on a bank register for the current account. | ||||||
|      current account. |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|    Transactions affecting this account's subaccounts will be included in |    Transactions affecting this account's subaccounts will be included in | ||||||
| the register if the accounts screen is in tree mode, or if it's in list | the register if the accounts screen is in tree mode, or if it's in list | ||||||
| mode but this account has subaccounts which are not shown due to a depth | mode but this account has subaccounts which are not shown due to a depth | ||||||
| limit.  In other words, the register always shows the transactions | limit.  In other words, the register always shows the transactions | ||||||
| contributing to the balance shown on the accounts screen. Tree mode/list | contributing to the balance shown on the accounts screen.  Tree | ||||||
| mode can be toggled with `t' here also. | mode/list mode can be toggled with 't' here also. | ||||||
| 
 | 
 | ||||||
|    `U' toggles filtering by unmarked status, showing or hiding unmarked |    'U' toggles filtering by unmarked status, showing or hiding unmarked | ||||||
| transactions. Similarly, `P' toggles pending transactions, and `C' | transactions.  Similarly, 'P' toggles pending transactions, and 'C' | ||||||
| toggles cleared transactions.  (By default, transactions with all | toggles cleared transactions.  (By default, transactions with all | ||||||
| statuses are shown; if you activate one or two status filters, only | statuses are shown; if you activate one or two status filters, only | ||||||
| those transactions are shown; and if you activate all three, the filter | those transactions are shown; and if you activate all three, the filter | ||||||
| is removed.) | is removed.) | ||||||
| 
 | 
 | ||||||
|    `R' toggles real mode, in which virtual postings are ignored. |    'R' toggles real mode, in which virtual postings are ignored. | ||||||
| 
 | 
 | ||||||
|    `Z' toggles nonzero mode, in which only transactions posting a |    'Z' toggles nonzero mode, in which only transactions posting a | ||||||
| nonzero change are shown (hledger-ui shows zero items by default, unlike | nonzero change are shown (hledger-ui shows zero items by default, unlike | ||||||
| command-line hledger). | command-line hledger). | ||||||
| 
 | 
 | ||||||
|    Press `right' (or `enter') to view the selected transaction in |    Press 'right' (or 'enter') to view the selected transaction in | ||||||
| detail. | detail. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| @ -437,7 +439,7 @@ description, comments, along with all of its account postings are shown. | |||||||
| Simple transactions have two postings, but there can be more (or in | Simple transactions have two postings, but there can be more (or in | ||||||
| certain cases, fewer). | certain cases, fewer). | ||||||
| 
 | 
 | ||||||
|    `up' and `down' will step through all transactions listed in the |    'up' and 'down' will step through all transactions listed in the | ||||||
| previous account register screen.  In the title bar, the numbers in | previous account register screen.  In the title bar, the numbers in | ||||||
| parentheses show your position within that account register.  They will | parentheses show your position within that account register.  They will | ||||||
| vary depending on which account register you came from (remember most | vary depending on which account register you came from (remember most | ||||||
| @ -465,26 +467,25 @@ File: hledger-ui.info,  Node: ENVIRONMENT,  Next: FILES,  Prev: SCREENS,  Up: To | |||||||
| 
 | 
 | ||||||
| *COLUMNS* The screen width to use.  Default: the full terminal width. | *COLUMNS* The screen width to use.  Default: the full terminal width. | ||||||
| 
 | 
 | ||||||
|    *LEDGER_FILE* The journal file path when not specified with `-f'. |    *LEDGER_FILE* The journal file path when not specified with '-f'. | ||||||
| Default: `~/.hledger.journal' (on windows, perhaps | Default: '~/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). | 'C:/Users/USER/.hledger.journal'). | ||||||
| 
 | 
 | ||||||
|    A typical value is `~/DIR/YYYY.journal', where DIR is a |    A typical value is '~/DIR/YYYY.journal', where DIR is a | ||||||
| version-controlled finance directory and YYYY is the current year.  Or | version-controlled finance directory and YYYY is the current year.  Or | ||||||
| `~/DIR/current.journal', where current.journal is a symbolic link to | '~/DIR/current.journal', where current.journal is a symbolic link to | ||||||
| YYYY.journal. | YYYY.journal. | ||||||
| 
 | 
 | ||||||
|    On Mac computers, you can set this and other environment variables |    On Mac computers, you can set this and other environment variables in | ||||||
| in a more thorough way that also affects applications started from the | a more thorough way that also affects applications started from the GUI | ||||||
| GUI (say, an Emacs dock icon). Eg on MacOS Catalina I have a | (say, an Emacs dock icon).  Eg on MacOS Catalina I have a | ||||||
| `~/.MacOSX/environment.plist' file containing | '~/.MacOSX/environment.plist' file containing | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   "LEDGER_FILE" : "~/finance/current.journal" |   "LEDGER_FILE" : "~/finance/current.journal" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|    To see the effect you may need to `killall Dock', or reboot. |    To see the effect you may need to 'killall Dock', or reboot. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | File: hledger-ui.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | ||||||
| @ -493,9 +494,9 @@ File: hledger-ui.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | |||||||
| ******* | ******* | ||||||
| 
 | 
 | ||||||
| Reads data from one or more files in hledger journal, timeclock, | Reads data from one or more files in hledger journal, timeclock, | ||||||
| timedot, or CSV format specified with `-f', or `$LEDGER_FILE', or | timedot, or CSV format specified with '-f', or '$LEDGER_FILE', or | ||||||
| `$HOME/.hledger.journal' (on windows, perhaps | '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). | 'C:/Users/USER/.hledger.journal'). | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.info,  Node: BUGS,  Prev: FILES,  Up: Top | File: hledger-ui.info,  Node: BUGS,  Prev: FILES,  Up: Top | ||||||
| @ -503,18 +504,18 @@ File: hledger-ui.info,  Node: BUGS,  Prev: FILES,  Up: Top | |||||||
| 6 BUGS | 6 BUGS | ||||||
| ****** | ****** | ||||||
| 
 | 
 | ||||||
| The need to precede options with `--' when invoked from hledger is | The need to precede options with '--' when invoked from hledger is | ||||||
| awkward. | awkward. | ||||||
| 
 | 
 | ||||||
|    `-f-' doesn't work (hledger-ui can't read from stdin). |    '-f-' doesn't work (hledger-ui can't read from stdin). | ||||||
| 
 | 
 | ||||||
|    `-V' affects only the accounts screen. |    '-V' affects only the accounts screen. | ||||||
| 
 | 
 | ||||||
|    When you press `g', the current and all previous screens are |    When you press 'g', the current and all previous screens are | ||||||
| regenerated, which may cause a noticeable pause with large files.  Also | regenerated, which may cause a noticeable pause with large files.  Also | ||||||
| there is no visual indication that this is in progress. | there is no visual indication that this is in progress. | ||||||
| 
 | 
 | ||||||
|    `--watch' is not yet fully robust. It works well for normal usage, |    '--watch' is not yet fully robust.  It works well for normal usage, | ||||||
| but many file changes in a short time (eg saving the file thousands of | but many file changes in a short time (eg saving the file thousands of | ||||||
| times with an editor macro) can cause problems at least on OSX. Symptoms | times with an editor macro) can cause problems at least on OSX. Symptoms | ||||||
| include: unresponsive UI, periodic resetting of the cursor position, | include: unresponsive UI, periodic resetting of the cursor position, | ||||||
| @ -523,31 +524,30 @@ and possibly a small but persistent build-up of CPU usage until the | |||||||
| program is restarted. | program is restarted. | ||||||
| 
 | 
 | ||||||
|    Also, if you are viewing files mounted from another machine, |    Also, if you are viewing files mounted from another machine, | ||||||
| `--watch' requires that both machine clocks are roughly in step. | '--watch' requires that both machine clocks are roughly in step. | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top82 | Node: Top71 | ||||||
| Node: OPTIONS1478 | Node: OPTIONS1488 | ||||||
| Ref: #options1575 | Ref: #options1585 | ||||||
| Node: KEYS5970 | Node: KEYS5986 | ||||||
| Ref: #keys6065 | Ref: #keys6081 | ||||||
| Node: SCREENS10361 | Node: SCREENS10400 | ||||||
| Ref: #screens10466 | Ref: #screens10505 | ||||||
| Node: Accounts screen10556 | Node: Accounts screen10595 | ||||||
| Ref: #accounts-screen10684 | Ref: #accounts-screen10723 | ||||||
| Node: Register screen12888 | Node: Register screen12938 | ||||||
| Ref: #register-screen13043 | Ref: #register-screen13093 | ||||||
| Node: Transaction screen15038 | Node: Transaction screen15090 | ||||||
| Ref: #transaction-screen15196 | Ref: #transaction-screen15248 | ||||||
| Node: Error screen16063 | Node: Error screen16118 | ||||||
| Ref: #error-screen16185 | Ref: #error-screen16240 | ||||||
| Node: ENVIRONMENT16427 | Node: ENVIRONMENT16484 | ||||||
| Ref: #environment16541 | Ref: #environment16598 | ||||||
| Node: FILES17346 | Node: FILES17405 | ||||||
| Ref: #files17445 | Ref: #files17504 | ||||||
| Node: BUGS17658 | Node: BUGS17717 | ||||||
| Ref: #bugs17735 | Ref: #bugs17794 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -1,8 +1,7 @@ | |||||||
| This is hledger-web/hledger-web.info, produced by makeinfo version 4.8 | This is hledger-web.info, produced by makeinfo version 6.7 from stdin. | ||||||
| from stdin. |  | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: Top,  Up: (dir) | File: hledger-web.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-web(1) | hledger-web(1) | ||||||
| ************** | ************** | ||||||
| @ -10,8 +9,8 @@ hledger-web(1) | |||||||
| hledger-web is a web interface (WUI) for the hledger accounting tool. | hledger-web is a web interface (WUI) for the hledger accounting tool. | ||||||
| This manual is for hledger-web 1.21.99. | This manual is for hledger-web 1.21.99. | ||||||
| 
 | 
 | ||||||
|    `hledger-web [OPTIONS]' |    'hledger-web [OPTIONS]' | ||||||
| `hledger web -- [OPTIONS]' | 'hledger web -- [OPTIONS]' | ||||||
| 
 | 
 | ||||||
|    hledger is a reliable, cross-platform set of programs for tracking |    hledger is a reliable, cross-platform set of programs for tracking | ||||||
| money, time, or any other commodity, using double-entry accounting and a | money, time, or any other commodity, using double-entry accounting and a | ||||||
| @ -20,21 +19,22 @@ compatible with ledger(1). | |||||||
| 
 | 
 | ||||||
|    hledger-web is hledger's web interface.  It starts a simple web |    hledger-web is hledger's web interface.  It starts a simple web | ||||||
| application for browsing and adding transactions, and optionally opens | application for browsing and adding transactions, and optionally opens | ||||||
| it in a web browser window if possible. It provides a more user-friendly | it in a web browser window if possible.  It provides a more | ||||||
| UI than the hledger CLI or hledger-ui interface, showing more at once | user-friendly UI than the hledger CLI or hledger-ui interface, showing | ||||||
| (accounts, the current account register, balance charts) and allowing | more at once (accounts, the current account register, balance charts) | ||||||
| history-aware data entry, interactive searching, and bookmarking. | and allowing history-aware data entry, interactive searching, and | ||||||
|  | bookmarking. | ||||||
| 
 | 
 | ||||||
|    hledger-web also lets you share a ledger with multiple users, or even |    hledger-web also lets you share a ledger with multiple users, or even | ||||||
| the public web.  There is no access control, so if you need that you | the public web.  There is no access control, so if you need that you | ||||||
| should put it behind a suitable web proxy. As a small protection against | should put it behind a suitable web proxy.  As a small protection | ||||||
| data loss when running an unprotected instance, it writes a numbered | against data loss when running an unprotected instance, it writes a | ||||||
| backup of the main journal file (only ?) on every edit. | numbered backup of the main journal file (only ?)  on every edit. | ||||||
| 
 | 
 | ||||||
|    Like hledger, it reads data from one or more files in hledger |    Like hledger, it reads data from one or more files in hledger | ||||||
| journal, timeclock, timedot, or CSV format specified with `-f', or | journal, timeclock, timedot, or CSV format specified with '-f', or | ||||||
| `$LEDGER_FILE', or `$HOME/.hledger.journal' (on windows, perhaps | '$LEDGER_FILE', or '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). For more about this see hledger(1). | 'C:/Users/USER/.hledger.journal').  For more about this see hledger(1). | ||||||
| 
 | 
 | ||||||
| * Menu: | * Menu: | ||||||
| 
 | 
 | ||||||
| @ -57,158 +57,161 @@ Command-line options and arguments may be used to set an initial filter | |||||||
| on the data.  These filter options are not shown in the web UI, but it | on the data.  These filter options are not shown in the web UI, but it | ||||||
| will be applied in addition to any search query entered there. | will be applied in addition to any search query entered there. | ||||||
| 
 | 
 | ||||||
|    Note: if invoking hledger-web as a hledger subcommand, write `--' |    Note: if invoking hledger-web as a hledger subcommand, write '--' | ||||||
| before options, as shown in the synopsis above. | before options, as shown in the synopsis above. | ||||||
| 
 | 
 | ||||||
| `--serve' | '--serve' | ||||||
|      serve and log requests, don't browse or auto-exit | 
 | ||||||
|  |      serve and log requests, don't browse or auto-exit | ||||||
|  | '--serve-api' | ||||||
| 
 | 
 | ||||||
| `--serve-api' |  | ||||||
|      like -serve, but serve only the JSON web API, without the |      like -serve, but serve only the JSON web API, without the | ||||||
|      server-side web UI |      server-side web UI | ||||||
|  | '--host=IPADDR' | ||||||
| 
 | 
 | ||||||
| `--host=IPADDR' |  | ||||||
|      listen on this IP address (default: 127.0.0.1) |      listen on this IP address (default: 127.0.0.1) | ||||||
|  | '--port=PORT' | ||||||
| 
 | 
 | ||||||
| `--port=PORT' |  | ||||||
|      listen on this TCP port (default: 5000) |      listen on this TCP port (default: 5000) | ||||||
|  | '--socket=SOCKETFILE' | ||||||
| 
 | 
 | ||||||
| `--socket=SOCKETFILE' |  | ||||||
|      use a unix domain socket file to listen for requests instead of a |      use a unix domain socket file to listen for requests instead of a | ||||||
|      TCP socket. Implies `--serve'. It can only be used if the operating |      TCP socket.  Implies '--serve'.  It can only be used if the | ||||||
|      system can provide this type of socket. |      operating system can provide this type of socket. | ||||||
|  | '--base-url=URL' | ||||||
| 
 | 
 | ||||||
| `--base-url=URL' |  | ||||||
|      set the base url (default: http://IPADDR:PORT). You would change |      set the base url (default: http://IPADDR:PORT). You would change | ||||||
|      this when sharing over the network, or integrating within a larger |      this when sharing over the network, or integrating within a larger | ||||||
|      website. |      website. | ||||||
|  | '--file-url=URL' | ||||||
| 
 | 
 | ||||||
| `--file-url=URL' |  | ||||||
|      set the static files url (default: BASEURL/static).  hledger-web |      set the static files url (default: BASEURL/static).  hledger-web | ||||||
|      normally serves static files itself, but if you wanted to serve |      normally serves static files itself, but if you wanted to serve | ||||||
|      them from another server for efficiency, you would set the url |      them from another server for efficiency, you would set the url with | ||||||
|      with this. |      this. | ||||||
|  | '--capabilities=CAP[,CAP..]' | ||||||
| 
 | 
 | ||||||
| `--capabilities=CAP[,CAP..]' |  | ||||||
|      enable the view, add, and/or manage capabilities (default: |      enable the view, add, and/or manage capabilities (default: | ||||||
|      view,add) |      view,add) | ||||||
|  | '--capabilities-header=HTTPHEADER' | ||||||
| 
 | 
 | ||||||
| `--capabilities-header=HTTPHEADER' |  | ||||||
|      read capabilities to enable from a HTTP header, like |      read capabilities to enable from a HTTP header, like | ||||||
|      X-Sandstorm-Permissions (default: disabled) |      X-Sandstorm-Permissions (default: disabled) | ||||||
|  | '--test' | ||||||
| 
 | 
 | ||||||
| `--test' |  | ||||||
|      run hledger-web's tests and exit.  hspec test runner args may |      run hledger-web's tests and exit.  hspec test runner args may | ||||||
|      follow a -, eg: hledger-web -test - -help |      follow a -, eg: hledger-web -test - -help | ||||||
| 
 | 
 | ||||||
|    hledger input options: |    hledger input options: | ||||||
| 
 | 
 | ||||||
| `-f FILE --file=FILE' | '-f FILE --file=FILE' | ||||||
|  | 
 | ||||||
|      use a different input file.  For stdin, use - (default: |      use a different input file.  For stdin, use - (default: | ||||||
|      `$LEDGER_FILE' or `$HOME/.hledger.journal') |      '$LEDGER_FILE' or '$HOME/.hledger.journal') | ||||||
|  | '--rules-file=RULESFILE' | ||||||
| 
 | 
 | ||||||
| `--rules-file=RULESFILE' |  | ||||||
|      Conversion rules file to use when reading CSV (default: FILE.rules) |      Conversion rules file to use when reading CSV (default: FILE.rules) | ||||||
|  | '--separator=CHAR' | ||||||
| 
 | 
 | ||||||
| `--separator=CHAR' |  | ||||||
|      Field separator to expect when reading CSV (default: ',') |      Field separator to expect when reading CSV (default: ',') | ||||||
|  | '--alias=OLD=NEW' | ||||||
| 
 | 
 | ||||||
| `--alias=OLD=NEW' |  | ||||||
|      rename accounts named OLD to NEW |      rename accounts named OLD to NEW | ||||||
|  | '--anon' | ||||||
| 
 | 
 | ||||||
| `--anon' |  | ||||||
|      anonymize accounts and payees |      anonymize accounts and payees | ||||||
|  | '--pivot FIELDNAME' | ||||||
| 
 | 
 | ||||||
| `--pivot FIELDNAME' |  | ||||||
|      use some other field or tag for the account name |      use some other field or tag for the account name | ||||||
|  | '-I --ignore-assertions' | ||||||
| 
 | 
 | ||||||
| `-I --ignore-assertions' |  | ||||||
|      disable balance assertion checks (note: does not disable balance |      disable balance assertion checks (note: does not disable balance | ||||||
|      assignments) |      assignments) | ||||||
|  | '-s --strict' | ||||||
| 
 | 
 | ||||||
| `-s --strict' |  | ||||||
|      do extra error checking (check that all posted accounts are |      do extra error checking (check that all posted accounts are | ||||||
|      declared) |      declared) | ||||||
| 
 | 
 | ||||||
|    hledger reporting options: |    hledger reporting options: | ||||||
| 
 | 
 | ||||||
| `-b --begin=DATE' | '-b --begin=DATE' | ||||||
|  | 
 | ||||||
|      include postings/txns on or after this date (will be adjusted to |      include postings/txns on or after this date (will be adjusted to | ||||||
|      preceding subperiod start when using a report interval) |      preceding subperiod start when using a report interval) | ||||||
|  | '-e --end=DATE' | ||||||
| 
 | 
 | ||||||
| `-e --end=DATE' |  | ||||||
|      include postings/txns before this date (will be adjusted to |      include postings/txns before this date (will be adjusted to | ||||||
|      following subperiod end when using a report interval) |      following subperiod end when using a report interval) | ||||||
|  | '-D --daily' | ||||||
| 
 | 
 | ||||||
| `-D --daily' |  | ||||||
|      multiperiod/multicolumn report by day |      multiperiod/multicolumn report by day | ||||||
|  | '-W --weekly' | ||||||
| 
 | 
 | ||||||
| `-W --weekly' |  | ||||||
|      multiperiod/multicolumn report by week |      multiperiod/multicolumn report by week | ||||||
|  | '-M --monthly' | ||||||
| 
 | 
 | ||||||
| `-M --monthly' |  | ||||||
|      multiperiod/multicolumn report by month |      multiperiod/multicolumn report by month | ||||||
|  | '-Q --quarterly' | ||||||
| 
 | 
 | ||||||
| `-Q --quarterly' |  | ||||||
|      multiperiod/multicolumn report by quarter |      multiperiod/multicolumn report by quarter | ||||||
|  | '-Y --yearly' | ||||||
| 
 | 
 | ||||||
| `-Y --yearly' |  | ||||||
|      multiperiod/multicolumn report by year |      multiperiod/multicolumn report by year | ||||||
|  | '-p --period=PERIODEXP' | ||||||
| 
 | 
 | ||||||
| `-p --period=PERIODEXP' |  | ||||||
|      set start date, end date, and/or reporting interval all at once |      set start date, end date, and/or reporting interval all at once | ||||||
|      using period expressions syntax |      using period expressions syntax | ||||||
|  | '--date2' | ||||||
| 
 | 
 | ||||||
| `--date2' |  | ||||||
|      match the secondary date instead (see command help for other |      match the secondary date instead (see command help for other | ||||||
|      effects) |      effects) | ||||||
|  | '-U --unmarked' | ||||||
| 
 | 
 | ||||||
| `-U --unmarked' |  | ||||||
|      include only unmarked postings/txns (can combine with -P or -C) |      include only unmarked postings/txns (can combine with -P or -C) | ||||||
|  | '-P --pending' | ||||||
| 
 | 
 | ||||||
| `-P --pending' |  | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
|  | '-C --cleared' | ||||||
| 
 | 
 | ||||||
| `-C --cleared' |  | ||||||
|      include only cleared postings/txns |      include only cleared postings/txns | ||||||
|  | '-R --real' | ||||||
| 
 | 
 | ||||||
| `-R --real' |  | ||||||
|      include only non-virtual postings |      include only non-virtual postings | ||||||
|  | '-NUM --depth=NUM' | ||||||
| 
 | 
 | ||||||
| `-NUM --depth=NUM' |  | ||||||
|      hide/aggregate accounts or postings more than NUM levels deep |      hide/aggregate accounts or postings more than NUM levels deep | ||||||
|  | '-E --empty' | ||||||
| 
 | 
 | ||||||
| `-E --empty' |  | ||||||
|      show items with zero amount, normally hidden (and vice-versa in |      show items with zero amount, normally hidden (and vice-versa in | ||||||
|      hledger-ui/hledger-web) |      hledger-ui/hledger-web) | ||||||
|  | '-B --cost' | ||||||
| 
 | 
 | ||||||
| `-B --cost' |  | ||||||
|      convert amounts to their cost/selling amount at transaction time |      convert amounts to their cost/selling amount at transaction time | ||||||
|  | '-V --market' | ||||||
| 
 | 
 | ||||||
| `-V --market' |  | ||||||
|      convert amounts to their market value in default valuation |      convert amounts to their market value in default valuation | ||||||
|      commodities |      commodities | ||||||
|  | '-X --exchange=COMM' | ||||||
| 
 | 
 | ||||||
| `-X --exchange=COMM' |  | ||||||
|      convert amounts to their market value in commodity COMM |      convert amounts to their market value in commodity COMM | ||||||
|  | '--value' | ||||||
| 
 | 
 | ||||||
| `--value' |  | ||||||
|      convert amounts to cost or market value, more flexibly than |      convert amounts to cost or market value, more flexibly than | ||||||
|      -B/-V/-X |      -B/-V/-X | ||||||
|  | '--infer-market-prices' | ||||||
| 
 | 
 | ||||||
| `--infer-market-prices' |  | ||||||
|      use transaction prices (recorded with @ or @@) as additional market |      use transaction prices (recorded with @ or @@) as additional market | ||||||
|      prices, as if they were P directives |      prices, as if they were P directives | ||||||
|  | '--auto' | ||||||
| 
 | 
 | ||||||
| `--auto' |  | ||||||
|      apply automated posting rules to modify transactions. |      apply automated posting rules to modify transactions. | ||||||
|  | '--forecast' | ||||||
| 
 | 
 | ||||||
| `--forecast' |  | ||||||
|      generate future transactions from periodic transaction rules, for |      generate future transactions from periodic transaction rules, for | ||||||
|      the next 6 months or till report end date.  In hledger-ui, also |      the next 6 months or till report end date.  In hledger-ui, also | ||||||
|      make ordinary future transactions visible. |      make ordinary future transactions visible. | ||||||
|  | '--color=WHEN (or --colour=WHEN)' | ||||||
| 
 | 
 | ||||||
| `--color=WHEN (or --colour=WHEN)' |  | ||||||
|      Should color-supporting commands use ANSI color codes in text |      Should color-supporting commands use ANSI color codes in text | ||||||
|      output.  'auto' (default): whenever stdout seems to be a |      output.  'auto' (default): whenever stdout seems to be a | ||||||
|      color-supporting terminal.  'always' or 'yes': always, useful eg |      color-supporting terminal.  'always' or 'yes': always, useful eg | ||||||
| @ -222,62 +225,62 @@ the last one takes precedence. | |||||||
| 
 | 
 | ||||||
|    hledger help options: |    hledger help options: | ||||||
| 
 | 
 | ||||||
| `-h --help' | '-h --help' | ||||||
|  | 
 | ||||||
|      show general or COMMAND help |      show general or COMMAND help | ||||||
|  | '--man' | ||||||
| 
 | 
 | ||||||
| `--man' |  | ||||||
|      show general or COMMAND user manual with man |      show general or COMMAND user manual with man | ||||||
|  | '--info' | ||||||
| 
 | 
 | ||||||
| `--info' |  | ||||||
|      show general or COMMAND user manual with info |      show general or COMMAND user manual with info | ||||||
|  | '--version' | ||||||
| 
 | 
 | ||||||
| `--version' |  | ||||||
|      show general or ADDONCMD version |      show general or ADDONCMD version | ||||||
|  | '--debug[=N]' | ||||||
| 
 | 
 | ||||||
| `--debug[=N]' |  | ||||||
|      show debug output (levels 1-9, default: 1) |      show debug output (levels 1-9, default: 1) | ||||||
| 
 | 
 | ||||||
|    A @FILE argument will be expanded to the contents of FILE, which |    A @FILE argument will be expanded to the contents of FILE, which | ||||||
| should contain one command line option/argument per line.  (To prevent | should contain one command line option/argument per line.  (To prevent | ||||||
| this, insert a `--' argument before.) | this, insert a '--' argument before.) | ||||||
| 
 | 
 | ||||||
|    By default, hledger-web starts the web app in "transient mode" and |    By default, hledger-web starts the web app in "transient mode" and | ||||||
| also opens it in your default web browser if possible.  In this mode the | also opens it in your default web browser if possible.  In this mode the | ||||||
| web app will keep running for as long as you have it open in a browser | web app will keep running for as long as you have it open in a browser | ||||||
| window, and will exit after two minutes of inactivity (no requests and | window, and will exit after two minutes of inactivity (no requests and | ||||||
| no browser windows viewing it). With `--serve', it just runs the web | no browser windows viewing it).  With '--serve', it just runs the web | ||||||
| app without exiting, and logs requests to the console.  With | app without exiting, and logs requests to the console.  With | ||||||
| `--serve-api', only the JSON web api (see below) is served, with the | '--serve-api', only the JSON web api (see below) is served, with the | ||||||
| usual HTML server-side web UI disabled. | usual HTML server-side web UI disabled. | ||||||
| 
 | 
 | ||||||
|    By default the server listens on IP address 127.0.0.1, accessible |    By default the server listens on IP address 127.0.0.1, accessible | ||||||
| only to local requests. You can use `--host' to change this, eg `--host | only to local requests.  You can use '--host' to change this, eg '--host | ||||||
| 0.0.0.0' to listen on all configured addresses. | 0.0.0.0' to listen on all configured addresses. | ||||||
| 
 | 
 | ||||||
|    Similarly, use `--port' to set a TCP port other than 5000, eg if you |    Similarly, use '--port' to set a TCP port other than 5000, eg if you | ||||||
| are running multiple hledger-web instances. | are running multiple hledger-web instances. | ||||||
| 
 | 
 | ||||||
|    Both of these options are ignored when `--socket' is used. In this |    Both of these options are ignored when '--socket' is used.  In this | ||||||
| case, it creates an `AF_UNIX' socket file at the supplied path and uses | case, it creates an 'AF_UNIX' socket file at the supplied path and uses | ||||||
| that for communication.  This is an alternative way of running multiple | that for communication.  This is an alternative way of running multiple | ||||||
| hledger-web instances behind a reverse proxy that handles | hledger-web instances behind a reverse proxy that handles authentication | ||||||
| authentication for different users. The path can be derived in a | for different users.  The path can be derived in a predictable way, eg | ||||||
| predictable way, eg by using the username within the path. As an | by using the username within the path.  As an example, 'nginx' as | ||||||
| example, `nginx' as reverse proxy can use the variable `$remote_user' | reverse proxy can use the variable '$remote_user' to derive a path from | ||||||
| to derive a path from the username used in a HTTP basic authentication. | the username used in a HTTP basic authentication.  The following | ||||||
| The following `proxy_pass' directive allows access to all `hledger-web' | 'proxy_pass' directive allows access to all 'hledger-web' instances that | ||||||
| instances that created a socket in `/tmp/hledger/': | created a socket in '/tmp/hledger/': | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|   proxy_pass http://unix:/tmp/hledger/${remote_user}.socket; |   proxy_pass http://unix:/tmp/hledger/${remote_user}.socket; | ||||||
| 
 | 
 | ||||||
|    You can use `--base-url' to change the protocol, hostname, port and |    You can use '--base-url' to change the protocol, hostname, port and | ||||||
| path that appear in hyperlinks, useful eg for integrating hledger-web | path that appear in hyperlinks, useful eg for integrating hledger-web | ||||||
| within a larger website. The default is `http://HOST:PORT/' using the | within a larger website.  The default is 'http://HOST:PORT/' using the | ||||||
| server's configured host address and TCP port (or `http://HOST' if PORT | server's configured host address and TCP port (or 'http://HOST' if PORT | ||||||
| is 80). | is 80). | ||||||
| 
 | 
 | ||||||
|    With `--file-url' you can set a different base url for static files, |    With '--file-url' you can set a different base url for static files, | ||||||
| eg for better caching or cookie-less serving on high performance | eg for better caching or cookie-less serving on high performance | ||||||
| websites. | websites. | ||||||
| 
 | 
 | ||||||
| @ -292,29 +295,25 @@ journal and to add new transactions, but not to change existing data. | |||||||
| 
 | 
 | ||||||
|    You can restrict who can reach it by |    You can restrict who can reach it by | ||||||
| 
 | 
 | ||||||
|    * setting the IP address it listens on (see `--host' above). By |    * setting the IP address it listens on (see '--host' above).  By | ||||||
|      default it listens on 127.0.0.1, accessible to all users on the |      default it listens on 127.0.0.1, accessible to all users on the | ||||||
|      local machine. |      local machine. | ||||||
| 
 |  | ||||||
|    * putting it behind an authenticating proxy, using eg apache or nginx |    * putting it behind an authenticating proxy, using eg apache or nginx | ||||||
| 
 |  | ||||||
|    * custom firewall rules |    * custom firewall rules | ||||||
| 
 | 
 | ||||||
|    You can restrict what the users who reach it can do, by |    You can restrict what the users who reach it can do, by | ||||||
| 
 | 
 | ||||||
|    * using the `--capabilities=CAP[,CAP..]' flag when you start it, |    * using the '--capabilities=CAP[,CAP..]' flag when you start it, | ||||||
|      enabling one or more of the following capabilities.  The default |      enabling one or more of the following capabilities.  The default | ||||||
|      value is `view,add': |      value is 'view,add': | ||||||
|         * `view' - allows viewing the journal file and all included |         * 'view' - allows viewing the journal file and all included | ||||||
|           files |           files | ||||||
| 
 |         * 'add' - allows adding new transactions to the main journal | ||||||
|         * `add' - allows adding new transactions to the main journal |  | ||||||
|           file |           file | ||||||
| 
 |         * 'manage' - allows editing, uploading or downloading the main | ||||||
|         * `manage' - allows editing, uploading or downloading the main |  | ||||||
|           or included files |           or included files | ||||||
| 
 | 
 | ||||||
|    * using the `--capabilities-header=HTTPHEADER' flag to specify a HTTP |    * using the '--capabilities-header=HTTPHEADER' flag to specify a HTTP | ||||||
|      header from which it will read capabilities to enable.  hledger-web |      header from which it will read capabilities to enable.  hledger-web | ||||||
|      on Sandstorm uses the X-Sandstorm-Permissions header to integrate |      on Sandstorm uses the X-Sandstorm-Permissions header to integrate | ||||||
|      with Sandstorm's permissions.  This is disabled by default. |      with Sandstorm's permissions.  This is disabled by default. | ||||||
| @ -325,7 +324,7 @@ File: hledger-web.info,  Node: EDITING UPLOADING DOWNLOADING,  Next: RELOADING, | |||||||
| 3 EDITING, UPLOADING, DOWNLOADING | 3 EDITING, UPLOADING, DOWNLOADING | ||||||
| ********************************* | ********************************* | ||||||
| 
 | 
 | ||||||
| If you enable the `manage' capability mentioned above, you'll see a new | If you enable the 'manage' capability mentioned above, you'll see a new | ||||||
| "spanner" button to the right of the search form.  Clicking this will | "spanner" button to the right of the search form.  Clicking this will | ||||||
| let you edit, upload, or download the journal file or any files it | let you edit, upload, or download the journal file or any files it | ||||||
| includes. | includes. | ||||||
| @ -366,15 +365,13 @@ File: hledger-web.info,  Node: JSON API,  Next: ENVIRONMENT,  Prev: RELOADING, | |||||||
| 
 | 
 | ||||||
| In addition to the web UI, hledger-web also serves a JSON API that can | In addition to the web UI, hledger-web also serves a JSON API that can | ||||||
| be used to get data or add new transactions.  If you want the JSON API | be used to get data or add new transactions.  If you want the JSON API | ||||||
| only, you can use the `--serve-api' flag. Eg: | only, you can use the '--serve-api' flag.  Eg: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| $ hledger-web -f examples/sample.journal --serve-api | $ hledger-web -f examples/sample.journal --serve-api | ||||||
| ... | ... | ||||||
| 
 | 
 | ||||||
|    You can get JSON data from these routes: |    You can get JSON data from these routes: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| /version | /version | ||||||
| /accountnames | /accountnames | ||||||
| /transactions | /transactions | ||||||
| @ -387,7 +384,6 @@ $ hledger-web -f examples/sample.journal --serve-api | |||||||
| command).  (hledger-web's JSON does not include newlines, here we use | command).  (hledger-web's JSON does not include newlines, here we use | ||||||
| python to prettify it): | python to prettify it): | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool | $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool | ||||||
| [ | [ | ||||||
|     "assets", |     "assets", | ||||||
| @ -407,7 +403,6 @@ $ curl -s http://127.0.0.1:5000/accountnames | python -m json.tool | |||||||
| 
 | 
 | ||||||
|    Or all transactions: |    Or all transactions: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ curl -s http://127.0.0.1:5000/transactions | python -m json.tool | $ curl -s http://127.0.0.1:5000/transactions | python -m json.tool | ||||||
| [ | [ | ||||||
|     { |     { | ||||||
| @ -433,21 +428,20 @@ on the various data types, eg Transaction. And for a higher level | |||||||
| understanding, see the journal manual. | understanding, see the journal manual. | ||||||
| 
 | 
 | ||||||
|    In some cases there is outer JSON corresponding to a "Report" type. |    In some cases there is outer JSON corresponding to a "Report" type. | ||||||
| To understand that, go to the Hledger.Web.Handler.MiscR haddock and | To understand that, go to the Hledger.Web.Handler.MiscR haddock and look | ||||||
| look at the source for the appropriate handler to see what it returns. | at the source for the appropriate handler to see what it returns.  Eg | ||||||
| Eg for `/accounttransactions' it's getAccounttransactionsR, returning a | for '/accounttransactions' it's getAccounttransactionsR, returning a | ||||||
| "`accountTransactionsReport ...'". Looking up the haddock for that we | "'accountTransactionsReport ...'".  Looking up the haddock for that we | ||||||
| can see that /accounttransactions returns an AccountTransactionsReport, | can see that /accounttransactions returns an AccountTransactionsReport, | ||||||
| which consists of a report title and a list of | which consists of a report title and a list of | ||||||
| AccountTransactionsReportItem (etc). | AccountTransactionsReportItem (etc). | ||||||
| 
 | 
 | ||||||
|    You can add a new transaction to the journal with a PUT request to |    You can add a new transaction to the journal with a PUT request to | ||||||
| `/add', if hledger-web was started with the `add' capability (enabled | '/add', if hledger-web was started with the 'add' capability (enabled by | ||||||
| by default). The payload must be the full, exact JSON representation of | default).  The payload must be the full, exact JSON representation of a | ||||||
| a hledger transaction (partial data won't do). You can get sample JSON | hledger transaction (partial data won't do).  You can get sample JSON | ||||||
| from hledger-web's `/transactions' or `/accounttransactions', or you | from hledger-web's '/transactions' or '/accounttransactions', or you can | ||||||
| can export it with hledger-lib, eg like so: | export it with hledger-lib, eg like so: | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| .../hledger$ stack ghci hledger-lib | .../hledger$ stack ghci hledger-lib | ||||||
| >>> writeJsonFile "txn.json" (head $ jtxns samplejournal) | >>> writeJsonFile "txn.json" (head $ jtxns samplejournal) | ||||||
| @ -456,7 +450,6 @@ can export it with hledger-lib, eg like so: | |||||||
|    Here's how it looks as of hledger-1.17 (remember, this JSON |    Here's how it looks as of hledger-1.17 (remember, this JSON | ||||||
| corresponds to hledger's Transaction and related data types): | corresponds to hledger's Transaction and related data types): | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| { | { | ||||||
|     "tcomment": "", |     "tcomment": "", | ||||||
|     "tpostings": [ |     "tpostings": [ | ||||||
| @ -546,7 +539,6 @@ corresponds to hledger's Transaction and related data types): | |||||||
|    And here's how to test adding it with curl.  This should add a new |    And here's how to test adding it with curl.  This should add a new | ||||||
| entry to your journal: | entry to your journal: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json | $ curl http://127.0.0.1:5000/add -X PUT -H 'Content-Type: application/json' --data-binary @txn.json | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| @ -555,26 +547,25 @@ File: hledger-web.info,  Node: ENVIRONMENT,  Next: FILES,  Prev: JSON API,  Up: | |||||||
| 6 ENVIRONMENT | 6 ENVIRONMENT | ||||||
| ************* | ************* | ||||||
| 
 | 
 | ||||||
| *LEDGER_FILE* The journal file path when not specified with `-f'. | *LEDGER_FILE* The journal file path when not specified with '-f'. | ||||||
| Default: `~/.hledger.journal' (on windows, perhaps | Default: '~/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). | 'C:/Users/USER/.hledger.journal'). | ||||||
| 
 | 
 | ||||||
|    A typical value is `~/DIR/YYYY.journal', where DIR is a |    A typical value is '~/DIR/YYYY.journal', where DIR is a | ||||||
| version-controlled finance directory and YYYY is the current year.  Or | version-controlled finance directory and YYYY is the current year.  Or | ||||||
| `~/DIR/current.journal', where current.journal is a symbolic link to | '~/DIR/current.journal', where current.journal is a symbolic link to | ||||||
| YYYY.journal. | YYYY.journal. | ||||||
| 
 | 
 | ||||||
|    On Mac computers, you can set this and other environment variables |    On Mac computers, you can set this and other environment variables in | ||||||
| in a more thorough way that also affects applications started from the | a more thorough way that also affects applications started from the GUI | ||||||
| GUI (say, an Emacs dock icon). Eg on MacOS Catalina I have a | (say, an Emacs dock icon).  Eg on MacOS Catalina I have a | ||||||
| `~/.MacOSX/environment.plist' file containing | '~/.MacOSX/environment.plist' file containing | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|   "LEDGER_FILE" : "~/finance/current.journal" |   "LEDGER_FILE" : "~/finance/current.journal" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|    To see the effect you may need to `killall Dock', or reboot. |    To see the effect you may need to 'killall Dock', or reboot. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | File: hledger-web.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | ||||||
| @ -583,9 +574,9 @@ File: hledger-web.info,  Node: FILES,  Next: BUGS,  Prev: ENVIRONMENT,  Up: Top | |||||||
| ******* | ******* | ||||||
| 
 | 
 | ||||||
| Reads data from one or more files in hledger journal, timeclock, | Reads data from one or more files in hledger journal, timeclock, | ||||||
| timedot, or CSV format specified with `-f', or `$LEDGER_FILE', or | timedot, or CSV format specified with '-f', or '$LEDGER_FILE', or | ||||||
| `$HOME/.hledger.journal' (on windows, perhaps | '$HOME/.hledger.journal' (on windows, perhaps | ||||||
| `C:/Users/USER/.hledger.journal'). | 'C:/Users/USER/.hledger.journal'). | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: BUGS,  Prev: FILES,  Up: Top | File: hledger-web.info,  Node: BUGS,  Prev: FILES,  Up: Top | ||||||
| @ -593,10 +584,10 @@ File: hledger-web.info,  Node: BUGS,  Prev: FILES,  Up: Top | |||||||
| 8 BUGS | 8 BUGS | ||||||
| ****** | ****** | ||||||
| 
 | 
 | ||||||
| The need to precede options with `--' when invoked from hledger is | The need to precede options with '--' when invoked from hledger is | ||||||
| awkward. | awkward. | ||||||
| 
 | 
 | ||||||
|    `-f-' doesn't work (hledger-web can't read from stdin). |    '-f-' doesn't work (hledger-web can't read from stdin). | ||||||
| 
 | 
 | ||||||
|    Query arguments and some hledger options are ignored. |    Query arguments and some hledger options are ignored. | ||||||
| 
 | 
 | ||||||
| @ -604,25 +595,24 @@ awkward. | |||||||
| 
 | 
 | ||||||
|    Does not work well on small screens. |    Does not work well on small screens. | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top84 | Node: Top72 | ||||||
| Node: OPTIONS1727 | Node: OPTIONS1738 | ||||||
| Ref: #options1832 | Ref: #options1843 | ||||||
| Node: PERMISSIONS9245 | Node: PERMISSIONS9276 | ||||||
| Ref: #permissions9384 | Ref: #permissions9415 | ||||||
| Node: EDITING UPLOADING DOWNLOADING10596 | Node: EDITING UPLOADING DOWNLOADING10627 | ||||||
| Ref: #editing-uploading-downloading10777 | Ref: #editing-uploading-downloading10808 | ||||||
| Node: RELOADING11608 | Node: RELOADING11642 | ||||||
| Ref: #reloading11742 | Ref: #reloading11776 | ||||||
| Node: JSON API12174 | Node: JSON API12209 | ||||||
| Ref: #json-api12288 | Ref: #json-api12323 | ||||||
| Node: ENVIRONMENT17777 | Node: ENVIRONMENT17813 | ||||||
| Ref: #environment17893 | Ref: #environment17929 | ||||||
| Node: FILES18625 | Node: FILES18662 | ||||||
| Ref: #files18725 | Ref: #files18762 | ||||||
| Node: BUGS18938 | Node: BUGS18975 | ||||||
| Ref: #bugs19016 | Ref: #bugs19053 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -3621,9 +3621,10 @@ commands, including \f[C]check\f[R]: | |||||||
| \f[B]parseable\f[R] - data files are well-formed and can be successfully | \f[B]parseable\f[R] - data files are well-formed and can be successfully | ||||||
| parsed | parsed | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| \f[B]autobalanced\f[R] - all transactions are balanced, inferring | \f[B]balancedwithautoconversion\f[R] - all transactions are balanced, | ||||||
| missing amounts where necessary, and possibly converting commodities | inferring missing amounts where necessary, and possibly converting | ||||||
| using transaction prices or automatically-inferred transaction prices | commodities using transaction prices or automatically-inferred | ||||||
|  | transaction prices | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| \f[B]assertions\f[R] - all balance assertions in the journal are | \f[B]assertions\f[R] - all balance assertions in the journal are | ||||||
| passing. | passing. | ||||||
| @ -3640,6 +3641,9 @@ Or, they can be run by giving their names as arguments to | |||||||
| declared | declared | ||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| \f[B]commodities\f[R] - all commodity symbols used have been declared | \f[B]commodities\f[R] - all commodity symbols used have been declared | ||||||
|  | .IP \[bu] 2 | ||||||
|  | \f[B]balancednoautoconversion\f[R] - transactions are balanced, possibly | ||||||
|  | using explicit transaction prices but not inferred ones | ||||||
| .SS Other checks | .SS Other checks | ||||||
| .PP | .PP | ||||||
| These checks can be run only by giving their names as arguments to | These checks can be run only by giving their names as arguments to | ||||||
| @ -6743,7 +6747,7 @@ See also Rewrite account names. | |||||||
| To set an account alias, use the \f[C]alias\f[R] directive in your | To set an account alias, use the \f[C]alias\f[R] directive in your | ||||||
| journal file. | journal file. | ||||||
| This affects all subsequent journal entries in the current file or its | This affects all subsequent journal entries in the current file or its | ||||||
| included files. | included files (but note: not sibling or parent files). | ||||||
| The spaces around the = are optional: | The spaces around the = are optional: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| @ -7730,21 +7734,26 @@ below), a default account name will be chosen (like | |||||||
| \[dq]expenses:unknown\[dq] or \[dq]income:unknown\[dq]). | \[dq]expenses:unknown\[dq] or \[dq]income:unknown\[dq]). | ||||||
| .SS amount | .SS amount | ||||||
| .PP | .PP | ||||||
| \f[C]amountN\f[R] sets posting N\[aq]s amount. | \f[C]amountN\f[R] sets the Nth posting\[aq]s amount. | ||||||
| If the CSV uses separate fields for inflows and outflows, you can use |  | ||||||
| \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R] instead. |  | ||||||
| By assigning to \f[C]amount1\f[R], \f[C]amount2\f[R], ... | By assigning to \f[C]amount1\f[R], \f[C]amount2\f[R], ... | ||||||
| etc. | etc. | ||||||
| you can generate anywhere from 0 to 99 postings. | you can generate up to 99 postings. | ||||||
| .PP | .PP | ||||||
| There is also an older, unnumbered form of these names, suitable for | If the CSV uses separate fields for debits and credits (inflows and | ||||||
| 2-posting transactions, which sets both posting 1\[aq]s and (negated) | outflows), you can use \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R] | ||||||
| posting 2\[aq]s amount: \f[C]amount\f[R], or \f[C]amount-in\f[R] and | instead. | ||||||
| \f[C]amount-out\f[R]. | Note hledger assumes both of these fields are unsigned, and will | ||||||
| This is still supported because it keeps pre-hledger-1.17 csv rules | automatically negate the \[dq]-out\[dq] value. | ||||||
| files working, and because it can be more succinct, and because it | If the fields are signed, see \[dq]Setting amounts\[dq] below. | ||||||
| converts posting 2\[aq]s amount to cost if there\[aq]s a transaction | .PP | ||||||
| price, which can be useful. | There is also an unnumbered form of these names: \f[C]amount\f[R], or | ||||||
|  | \f[C]amount-in\f[R] and \f[C]amount-out\f[R]. | ||||||
|  | This is supported to keep pre-hledger-1.17 CSV rules files working (and | ||||||
|  | for occasional convenience). | ||||||
|  | It is suitable only for two-posting transactions; it sets both posting | ||||||
|  | 1\[aq]s and posting 2\[aq]s amount. | ||||||
|  | Posting 2\[aq]s amount will be negated, and also converted to cost if | ||||||
|  | there\[aq]s a transaction price. | ||||||
| .PP | .PP | ||||||
| If you have an existing rules file using the unnumbered form, you might | If you have an existing rules file using the unnumbered form, you might | ||||||
| want to use the numbered form in certain conditional blocks, without | want to use the numbered form in certain conditional blocks, without | ||||||
| @ -8307,40 +8316,47 @@ Assign (via a fields list or a field assignment) to \f[C]amountN\f[R]. | |||||||
| This sets the Nth posting\[aq]s amount. | This sets the Nth posting\[aq]s amount. | ||||||
| N is usually 1 or 2 but can go up to 99. | N is usually 1 or 2 but can go up to 99. | ||||||
| .IP "2." 3 | .IP "2." 3 | ||||||
| \f[B]If the CSV has separate Debit and Credit amount fields:\f[R] | \f[B]If the CSV has separate amount fields for debit & credit (in & | ||||||
|  | out):\f[R] | ||||||
|  | .PD 0 | ||||||
|  | .P | ||||||
|  | .PD | ||||||
|  | .RS 4 | ||||||
|  | .IP "a." 3 | ||||||
|  | \f[B]If both fields are unsigned:\f[R] | ||||||
| .PD 0 | .PD 0 | ||||||
| .P | .P | ||||||
| .PD | .PD | ||||||
| Assign to \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R]. | Assign to \f[C]amountN-in\f[R] and \f[C]amountN-out\f[R]. | ||||||
| This sets posting N\[aq]s amount to whichever of these has a non-zero | This sets posting N\[aq]s amount to whichever of these has a non-zero | ||||||
| value, guessing an appropriate sign. | value, and negates the \[dq]-out\[dq] value. | ||||||
| .RS 4 | .IP "b." 3 | ||||||
| .IP \[bu] 2 | \f[B]If either field is signed (can contain a minus sign):\f[R] | ||||||
| \f[B]If hledger guesses the wrong sign:\f[R] |  | ||||||
| .PD 0 | .PD 0 | ||||||
| .P | .P | ||||||
| .PD | .PD | ||||||
| Prepend a minus sign to flip it. | Use a conditional rule to flip the sign (of non-empty values). | ||||||
| Eg: | Since hledger always negates amountN-out, if it was already negative, we | ||||||
| .RS 2 | must undo that by negating once more (but only if the field is | ||||||
|  | non-empty): | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| fields date, description, amount-in, amount-out | fields date, description, amount1-in, amount1-out | ||||||
| amount-out -%amount-out | if %amount1-out [1-9] | ||||||
|  |  amount1-out -%amount1-out | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .RE | .IP "c." 3 | ||||||
| .IP \[bu] 2 | \f[B]If both fields, or neither field, can contain a non-zero | ||||||
| \f[B]If both fields contain a non-zero value:\f[R] | value:\f[R] | ||||||
| .PD 0 | .PD 0 | ||||||
| .P | .P | ||||||
| .PD | .PD | ||||||
| The \f[C]amountN-in\f[R]/\f[C]amountN-out\f[R] rules require that each | hledger normally expects exactly one of the fields to have a non-zero | ||||||
| CSV record has a non-zero value in exactly one of the two fields, so | value. | ||||||
| that hledger knows which to choose. | Eg, the \f[C]amountN-in\f[R]/\f[C]amountN-out\f[R] rules would reject | ||||||
| So these would all be rejected: | value pairs like these: | ||||||
| .RS 2 |  | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| @ -8350,9 +8366,10 @@ So these would all be rejected: | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| If your CSV has amount values like this, use conditional rules instead. | So, use smarter conditional rules to set the amount from the appropriate | ||||||
| For example, to make hledger to choose the value containing non-zero | field. | ||||||
| digits: | Eg, these rules would make it use only the value containing non-zero | ||||||
|  | digits, handling the above: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| @ -8364,18 +8381,15 @@ if %out [1-9] | |||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .RE | .RE | ||||||
| .RE |  | ||||||
| .IP "3." 3 | .IP "3." 3 | ||||||
| \f[B]Using the old numberless syntax:\f[R] | \f[B]If you are stuck with hledger <1.17, or you want posting 2\[aq]s | ||||||
|  | amount converted to cost:\f[R] | ||||||
| .PD 0 | .PD 0 | ||||||
| .P | .P | ||||||
| .PD | .PD | ||||||
| Assign to \f[C]amount\f[R] (or to \f[C]amount-in\f[R] and | Assign to \f[C]amount\f[R] (or to \f[C]amount-in\f[R] and | ||||||
| \f[C]amount-out\f[R]). | \f[C]amount-out\f[R]). | ||||||
| This sets posting 1\[aq]s and posting 2\[aq]s amounts (and converts | (The old numberless syntax, which sets amount1 and amount2.) | ||||||
| posting 2\[aq]s amount to cost). |  | ||||||
| This is supported for backwards compatibility (and occasional |  | ||||||
| convenience). |  | ||||||
| .IP "4." 3 | .IP "4." 3 | ||||||
| \f[B]If the CSV has the balance instead of the transaction amount:\f[R] | \f[B]If the CSV has the balance instead of the transaction amount:\f[R] | ||||||
| .PD 0 | .PD 0 | ||||||
|  | |||||||
							
								
								
									
										3875
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
							
						
						
									
										3875
									
								
								hledger/hledger.info
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -2598,9 +2598,9 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o parseable - data files are well-formed and can be successfully parsed |        o parseable - data files are well-formed and can be successfully parsed | ||||||
| 
 | 
 | ||||||
|        o autobalanced -  all  transactions  are  balanced,  inferring  missing |        o balancedwithautoconversion - all transactions are balanced, inferring | ||||||
|          amounts  where  necessary,  and possibly converting commodities using |          missing  amounts where necessary, and possibly converting commodities | ||||||
|          transaction prices or automatically-inferred transaction prices |          using transaction prices or automatically-inferred transaction prices | ||||||
| 
 | 
 | ||||||
|        o assertions  -  all  balance  assertions  in  the journal are passing. |        o assertions  -  all  balance  assertions  in  the journal are passing. | ||||||
|          (This check can be disabled with -I/--ignore-assertions.) |          (This check can be disabled with -I/--ignore-assertions.) | ||||||
| @ -2614,6 +2614,9 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o commodities - all commodity symbols used have been declared |        o commodities - all commodity symbols used have been declared | ||||||
| 
 | 
 | ||||||
|  |        o balancednoautoconversion - transactions are balanced, possibly  using | ||||||
|  |          explicit transaction prices but not inferred ones | ||||||
|  | 
 | ||||||
|    Other checks |    Other checks | ||||||
|        These  checks  can  be  run  only by giving their names as arguments to |        These  checks  can  be  run  only by giving their names as arguments to | ||||||
|        check.  They are more  specialised  and  not  desirable  for  everyone, |        check.  They are more  specialised  and  not  desirable  for  everyone, | ||||||
| @ -4892,7 +4895,8 @@ JOURNAL FORMAT | |||||||
|    Basic aliases |    Basic aliases | ||||||
|        To set an account alias, use the alias directive in your journal  file. |        To set an account alias, use the alias directive in your journal  file. | ||||||
|        This  affects all subsequent journal entries in the current file or its |        This  affects all subsequent journal entries in the current file or its | ||||||
|        included files.  The spaces around the = are optional: |        included files (but note: not sibling or  parent  files).   The  spaces | ||||||
|  |        around the = are optional: | ||||||
| 
 | 
 | ||||||
|               alias OLD = NEW |               alias OLD = NEW | ||||||
| 
 | 
 | ||||||
| @ -5659,17 +5663,21 @@ CSV FORMAT | |||||||
|        or "income:unknown"). |        or "income:unknown"). | ||||||
| 
 | 
 | ||||||
|    amount |    amount | ||||||
|        amountN  sets  posting N's amount.  If the CSV uses separate fields for |        amountN sets the  Nth  posting's  amount.   By  assigning  to  amount1, | ||||||
|        inflows and outflows, you can use amountN-in and  amountN-out  instead. |        amount2, ...  etc.  you can generate up to 99 postings. | ||||||
|        By  assigning to amount1, amount2, ...  etc.  you can generate anywhere |  | ||||||
|        from 0 to 99 postings. |  | ||||||
| 
 | 
 | ||||||
|        There is also an older, unnumbered form of these  names,  suitable  for |        If  the  CSV  uses  separate fields for debits and credits (inflows and | ||||||
|        2-posting transactions, which sets both posting 1's and (negated) post- |        outflows), you  can  use  amountN-in  and  amountN-out  instead.   Note | ||||||
|        ing 2's amount: amount, or amount-in and  amount-out.   This  is  still |        hledger  assumes  both of these fields are unsigned, and will automati- | ||||||
|        supported  because  it  keeps pre-hledger-1.17 csv rules files working, |        cally negate the "-out" value.  If the fields are signed, see  "Setting | ||||||
|        and because it can be more succinct, and because  it  converts  posting |        amounts" below. | ||||||
|        2's amount to cost if there's a transaction price, which can be useful. | 
 | ||||||
|  |        There  is  also an unnumbered form of these names: amount, or amount-in | ||||||
|  |        and amount-out.  This is supported to keep pre-hledger-1.17  CSV  rules | ||||||
|  |        files  working  (and  for occasional convenience).  It is suitable only | ||||||
|  |        for two-posting transactions; it sets both posting 1's and posting  2's | ||||||
|  |        amount.  Posting 2's amount will be negated, and also converted to cost | ||||||
|  |        if there's a transaction price. | ||||||
| 
 | 
 | ||||||
|        If you have an existing rules file using the unnumbered form, you might |        If you have an existing rules file using the unnumbered form, you might | ||||||
|        want  to  use  the numbered form in certain conditional blocks, without |        want  to  use  the numbered form in certain conditional blocks, without | ||||||
| @ -6068,28 +6076,35 @@ CSV FORMAT | |||||||
|        Assign (via a fields list or a field assignment) to amountN.  This sets |        Assign (via a fields list or a field assignment) to amountN.  This sets | ||||||
|        the Nth posting's amount.  N is usually 1 or 2 but can go up to 99. |        the Nth posting's amount.  N is usually 1 or 2 but can go up to 99. | ||||||
| 
 | 
 | ||||||
|        2. If the CSV has separate Debit and Credit amount fields: |        2. If the CSV has separate amount fields for debit & credit (in & out): | ||||||
|        Assign  to amountN-in and amountN-out.  This sets posting N's amount to |  | ||||||
|        whichever of these has a non-zero value, guessing an appropriate  sign. |  | ||||||
| 
 | 
 | ||||||
|            o If hledger guesses the wrong sign: |            a. If both fields are unsigned: | ||||||
|            Prepend a minus sign to flip it.  Eg: |            Assign to amountN-in and amountN-out.  This sets posting N's amount | ||||||
|  |            to  whichever of these has a non-zero value, and negates the "-out" | ||||||
|  |            value. | ||||||
| 
 | 
 | ||||||
|                     fields date, description, amount-in, amount-out |            b. If either field is signed (can contain a minus sign): | ||||||
|                     amount-out -%amount-out |            Use a conditional rule to flip  the  sign  (of  non-empty  values). | ||||||
|  |            Since  hledger  always negates amountN-out, if it was already nega- | ||||||
|  |            tive, we must undo that by negating once  more  (but  only  if  the | ||||||
|  |            field is non-empty): | ||||||
| 
 | 
 | ||||||
|            o If both fields contain a non-zero value: |                   fields date, description, amount1-in, amount1-out | ||||||
|            The amountN-in/amountN-out rules require that each CSV record has a |                   if %amount1-out [1-9] | ||||||
|            non-zero value in exactly one of the two fields,  so  that  hledger |                    amount1-out -%amount1-out | ||||||
|            knows which to choose.  So these would all be rejected: | 
 | ||||||
|  |            c. If both fields, or neither field, can contain a non-zero value: | ||||||
|  |            hledger  normally  expects exactly one of the fields to have a non- | ||||||
|  |            zero value.  Eg,  the  amountN-in/amountN-out  rules  would  reject | ||||||
|  |            value pairs like these: | ||||||
| 
 | 
 | ||||||
|                   "",  "" |                   "",  "" | ||||||
|                   "0", "0" |                   "0", "0" | ||||||
|                   "1", "none" |                   "1", "none" | ||||||
| 
 | 
 | ||||||
|              If  your  CSV  has amount values like this, use conditional rules |            So, use smarter conditional rules to set the amount from the appro- | ||||||
|              instead.  For example, to make hledger to choose the  value  con- |            priate field.  Eg, these rules would make it  use  only  the  value | ||||||
|              taining non-zero digits: |            containing non-zero digits, handling the above: | ||||||
| 
 | 
 | ||||||
|                   fields date, description, in, out |                   fields date, description, in, out | ||||||
|                   if %in [1-9] |                   if %in [1-9] | ||||||
| @ -6097,11 +6112,10 @@ CSV FORMAT | |||||||
|                   if %out [1-9] |                   if %out [1-9] | ||||||
|                    amount1 %out |                    amount1 %out | ||||||
| 
 | 
 | ||||||
|        3. Using the old numberless syntax: |        3. If  you are stuck with hledger <1.17, or you want posting 2's amount | ||||||
|        Assign  to  amount (or to amount-in and amount-out).  This sets posting |           converted to cost: | ||||||
|        1's and posting 2's amounts (and converts posting 2's amount to  cost). |        Assign to amount (or to amount-in and amount-out).  (The old numberless | ||||||
|        This  is  supported  for backwards compatibility (and occasional conve- |        syntax, which sets amount1 and amount2.) | ||||||
|        nience). |  | ||||||
| 
 | 
 | ||||||
|        4. If the CSV has the balance instead of the transaction amount: |        4. If the CSV has the balance instead of the transaction amount: | ||||||
|        Assign to balanceN, which sets posting N's amount indirectly via a bal- |        Assign to balanceN, which sets posting N's amount indirectly via a bal- | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user