;doc: update manuals
This commit is contained in:
		
							parent
							
								
									308c554603
								
							
						
					
					
						commit
						791f4655df
					
				| @ -342,6 +342,8 @@ It lists accounts and their balances, like hledger\[aq]s balance | |||||||
| command. | command. | ||||||
| By default, it shows all accounts and their latest ending balances | By default, it shows all accounts and their latest ending balances | ||||||
| (including the balances of subaccounts). | (including the balances of subaccounts). | ||||||
|  | Accounts which have been declared with an account directive are also | ||||||
|  | listed, even if not yet used (except for empty parent accounts). | ||||||
| If you specify a query on the command line, it shows just the matched | If you specify a query on the command line, it shows just the matched | ||||||
| accounts and the balances from matched transactions. | accounts and the balances from matched transactions. | ||||||
| .PP | .PP | ||||||
| @ -382,7 +384,7 @@ all three, the filter is removed.) | |||||||
| .PP | .PP | ||||||
| \f[C]R\f[R] toggles real mode, in which virtual postings are ignored. | \f[C]R\f[R] toggles real mode, in which virtual postings are ignored. | ||||||
| .PP | .PP | ||||||
| \f[C]Z\f[R] toggles nonzero mode, in which only accounts with nonzero | \f[C]z\f[R] 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). | ||||||
| .PP | .PP | ||||||
| @ -428,7 +430,7 @@ activate all three, the filter is removed.) | |||||||
| .PP | .PP | ||||||
| \f[C]R\f[R] toggles real mode, in which virtual postings are ignored. | \f[C]R\f[R] toggles real mode, in which virtual postings are ignored. | ||||||
| .PP | .PP | ||||||
| \f[C]Z\f[R] toggles nonzero mode, in which only transactions posting a | \f[C]z\f[R] 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). | ||||||
| .PP | .PP | ||||||
|  | |||||||
| @ -368,7 +368,9 @@ File: hledger-ui.info,  Node: Accounts screen,  Next: Register screen,  Up: SCRE | |||||||
| This is normally the first screen displayed.  It lists accounts and | This is normally the first screen displayed.  It lists accounts and | ||||||
| their balances, like hledger's balance command.  By default, it shows | their balances, like hledger's balance command.  By default, it shows | ||||||
| all 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).  Accounts which have been declared with an account | ||||||
|  | directive are also listed, even if not yet used (except for empty parent | ||||||
|  | accounts).  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 | ||||||
| @ -402,7 +404,7 @@ 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). | ||||||
| 
 | 
 | ||||||
| @ -448,7 +450,7 @@ 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). | ||||||
| 
 | 
 | ||||||
| @ -633,24 +635,24 @@ Node: SCREENS11193 | |||||||
| Ref: #screens11291 | Ref: #screens11291 | ||||||
| Node: Accounts screen11381 | Node: Accounts screen11381 | ||||||
| Ref: #accounts-screen11509 | Ref: #accounts-screen11509 | ||||||
| Node: Register screen13713 | Node: Register screen13848 | ||||||
| Ref: #register-screen13868 | Ref: #register-screen14003 | ||||||
| Node: Transaction screen15852 | Node: Transaction screen15987 | ||||||
| Ref: #transaction-screen16010 | Ref: #transaction-screen16145 | ||||||
| Node: Error screen16880 | Node: Error screen17015 | ||||||
| Ref: #error-screen17002 | Ref: #error-screen17137 | ||||||
| Node: TIPS17246 | Node: TIPS17381 | ||||||
| Ref: #tips17345 | Ref: #tips17480 | ||||||
| Node: Watch mode17397 | Node: Watch mode17532 | ||||||
| Ref: #watch-mode17514 | Ref: #watch-mode17649 | ||||||
| Node: Watch mode limitations18264 | Node: Watch mode limitations18399 | ||||||
| Ref: #watch-mode-limitations18405 | Ref: #watch-mode-limitations18540 | ||||||
| Node: ENVIRONMENT19541 | Node: ENVIRONMENT19676 | ||||||
| Ref: #environment19652 | Ref: #environment19787 | ||||||
| Node: FILES20459 | Node: FILES20594 | ||||||
| Ref: #files20558 | Ref: #files20693 | ||||||
| Node: BUGS20771 | Node: BUGS20906 | ||||||
| Ref: #bugs20848 | Ref: #bugs20983 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -312,7 +312,9 @@ SCREENS | |||||||
|        This is normally the first screen displayed.   It  lists  accounts  and |        This is normally the first screen displayed.   It  lists  accounts  and | ||||||
|        their  balances,  like hledger's balance command.  By default, it shows |        their  balances,  like hledger's balance command.  By default, it shows | ||||||
|        all accounts and their latest ending balances (including  the  balances |        all accounts and their latest ending balances (including  the  balances | ||||||
|        of  subaccounts).  If you specify a query on the command line, it shows |        of  subaccounts).   Accounts  which  have been declared with an account | ||||||
|  |        directive are also listed, even if not yet used (except for empty  par- | ||||||
|  |        ent  accounts).   If  you specify a query on the command line, it shows | ||||||
|        just the matched accounts and the balances from matched transactions. |        just the matched accounts and the balances from matched transactions. | ||||||
| 
 | 
 | ||||||
|        Account names are shown as a flat list by default; press  t  to  toggle |        Account names are shown as a flat list by default; press  t  to  toggle | ||||||
| @ -345,7 +347,7 @@ SCREENS | |||||||
| 
 | 
 | ||||||
|        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  balances |        z toggles nonzero mode, in which only accounts  with  nonzero  balances | ||||||
|        are  shown (hledger-ui shows zero items by default, unlike command-line |        are  shown (hledger-ui shows zero items by default, unlike command-line | ||||||
|        hledger). |        hledger). | ||||||
| 
 | 
 | ||||||
| @ -385,7 +387,7 @@ SCREENS | |||||||
| 
 | 
 | ||||||
|        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  nonzero |        z toggles nonzero mode, in which only transactions  posting  a  nonzero | ||||||
|        change  are  shown (hledger-ui shows zero items by default, unlike com- |        change  are  shown (hledger-ui shows zero items by default, unlike com- | ||||||
|        mand-line hledger). |        mand-line hledger). | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,5 +1,4 @@ | |||||||
| This is hledger-web/hledger-web.info, produced by makeinfo version 4.8 | This is hledger-web.info, produced by makeinfo version 6.8 from stdin. | ||||||
| from stdin. |  | ||||||
| 
 | 
 | ||||||
| INFO-DIR-SECTION User Applications | INFO-DIR-SECTION User Applications | ||||||
| START-INFO-DIR-ENTRY | START-INFO-DIR-ENTRY | ||||||
| @ -7,7 +6,7 @@ START-INFO-DIR-ENTRY | |||||||
| END-INFO-DIR-ENTRY | END-INFO-DIR-ENTRY | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: Top,  Up: (dir) | File: hledger-web.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
| 
 | 
 | ||||||
| hledger-web(1) | hledger-web(1) | ||||||
| ************** | ************** | ||||||
| @ -15,31 +14,32 @@ 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.23.99. | This manual is for hledger-web 1.23.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 | ||||||
| simple, editable file format. hledger is inspired by and largely | simple, editable file format.  hledger is inspired by and largely | ||||||
| compatible with ledger(1). | 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: | ||||||
| 
 | 
 | ||||||
| @ -59,177 +59,180 @@ File: hledger-web.info,  Node: OPTIONS,  Next: PERMISSIONS,  Prev: Top,  Up: Top | |||||||
| ********* | ********* | ||||||
| 
 | 
 | ||||||
| Command-line options and arguments may be used to set an initial filter | Command-line options and arguments may be used to set an initial filter | ||||||
| on the data. 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: | 
 | ||||||
|      `$LEDGER_FILE' or `$HOME/.hledger.journal') |      use a different input file.  For stdin, use - (default: | ||||||
|  |      '$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) | ||||||
|  | '--today=DATE' | ||||||
| 
 | 
 | ||||||
| `--today=DATE' |  | ||||||
|      override today's date (affects relative smart dates, for |      override today's date (affects relative smart dates, for | ||||||
|      tests/examples) |      tests/examples) | ||||||
|  | '-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. | ||||||
|  | '--commodity-style' | ||||||
| 
 | 
 | ||||||
| `--commodity-style' |  | ||||||
|      Override the commodity style in the output for the specified |      Override the commodity style in the output for the specified | ||||||
|      commodity.  For example 'EUR1.000,00'. |      commodity.  For example 'EUR1.000,00'. | ||||||
|  | '--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 | ||||||
|      when piping output into 'less -R'.  'never' or 'no': never.  A |      when piping output into 'less -R'. 'never' or 'no': never.  A | ||||||
|      NO_COLOR environment variable overrides this. |      NO_COLOR environment variable overrides this. | ||||||
|  | '--pretty[=WHEN]' | ||||||
| 
 | 
 | ||||||
| `--pretty[=WHEN]' |      Show prettier output, e.g.  using unicode box-drawing characters. | ||||||
|      Show prettier output, e.g. using unicode box-drawing characters. |  | ||||||
|      Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', 'never' |      Accepts 'yes' (the default) or 'no' ('y', 'n', 'always', 'never' | ||||||
|      also work).  If you provide an argument you must use '=', e.g. |      also work).  If you provide an argument you must use '=', e.g. | ||||||
|      '-pretty=yes'. |      '-pretty=yes'. | ||||||
| @ -241,62 +244,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. | ||||||
| 
 | 
 | ||||||
| @ -311,32 +314,28 @@ 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. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: EDITING UPLOADING DOWNLOADING,  Next: RELOADING,  Prev: PERMISSIONS,  Up: Top | File: hledger-web.info,  Node: EDITING UPLOADING DOWNLOADING,  Next: RELOADING,  Prev: PERMISSIONS,  Up: Top | ||||||
| @ -344,8 +343,8 @@ 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. | ||||||
| 
 | 
 | ||||||
| @ -354,13 +353,13 @@ visitor) can alter or wipe the data files. | |||||||
| 
 | 
 | ||||||
|    Normally whenever a file is changed in this way, hledger-web saves a |    Normally whenever a file is changed in this way, hledger-web saves a | ||||||
| numbered backup (assuming file permissions allow it, the disk is not | numbered backup (assuming file permissions allow it, the disk is not | ||||||
| full, etc.) hledger-web is not aware of version control systems, | full, etc.)  hledger-web is not aware of version control systems, | ||||||
| currently; if you use one, you'll have to arrange to commit the changes | currently; if you use one, you'll have to arrange to commit the changes | ||||||
| yourself (eg with a cron job or a file watcher like entr). | yourself (eg with a cron job or a file watcher like entr). | ||||||
| 
 | 
 | ||||||
|    Changes which would leave the journal file(s) unparseable or |    Changes which would leave the journal file(s) unparseable or | ||||||
| non-valid (eg with failing balance assertions) are prevented. | non-valid (eg with failing balance assertions) are prevented. | ||||||
| (Probably. This needs re-testing.) | (Probably.  This needs re-testing.) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.info,  Node: RELOADING,  Next: JSON API,  Prev: EDITING UPLOADING DOWNLOADING,  Up: Top | File: hledger-web.info,  Node: RELOADING,  Next: JSON API,  Prev: EDITING UPLOADING DOWNLOADING,  Up: Top | ||||||
| @ -370,7 +369,7 @@ File: hledger-web.info,  Node: RELOADING,  Next: JSON API,  Prev: EDITING UPLOAD | |||||||
| 
 | 
 | ||||||
| hledger-web detects changes made to the files by other means (eg if you | hledger-web detects changes made to the files by other means (eg if you | ||||||
| edit it directly, outside of hledger-web), and it will show the new data | edit it directly, outside of hledger-web), and it will show the new data | ||||||
| when you reload the page or navigate to a new page. If a change makes a | when you reload the page or navigate to a new page.  If a change makes a | ||||||
| file unparseable, hledger-web will display an error message until the | file unparseable, hledger-web will display an error message until the | ||||||
| file has been fixed. | file has been fixed. | ||||||
| 
 | 
 | ||||||
| @ -384,16 +383,14 @@ 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 | ||||||
| @ -406,7 +403,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", | ||||||
| @ -426,7 +422,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 | ||||||
| [ | [ | ||||||
|     { |     { | ||||||
| @ -448,25 +443,24 @@ $ curl -s http://127.0.0.1:5000/transactions | python -m json.tool | |||||||
| 
 | 
 | ||||||
|    Most of the JSON corresponds to hledger's data types; for details of |    Most of the JSON corresponds to hledger's data types; for details of | ||||||
| what the fields mean, see the Hledger.Data.Json haddock docs and click | what the fields mean, see the Hledger.Data.Json haddock docs and click | ||||||
| on the various data types, eg Transaction. And for a higher level | 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) | ||||||
| @ -475,7 +469,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": [ | ||||||
| @ -562,10 +555,9 @@ corresponds to hledger's Transaction and related data types): | |||||||
|     "tstatus": "Unmarked" |     "tstatus": "Unmarked" | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|    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 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| @ -574,26 +566,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 | ||||||
| @ -602,9 +593,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 | ||||||
| @ -612,10 +603,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. | ||||||
| 
 | 
 | ||||||
| @ -623,25 +614,29 @@ awkward. | |||||||
| 
 | 
 | ||||||
|    Does not work well on small screens. |    Does not work well on small screens. | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|  |  | ||||||
| Tag Table: | Tag Table: | ||||||
| Node: Top235 | Node: Top223 | ||||||
| Node: OPTIONS1878 | Node: OPTIONS1889 | ||||||
| Ref: #options1983 | Ref: #options1994 | ||||||
| Node: PERMISSIONS9873 | Node: PERMISSIONS9905 | ||||||
| Ref: #permissions10012 | Ref: #permissions10044 | ||||||
| Node: EDITING UPLOADING DOWNLOADING11224 | Node: EDITING UPLOADING DOWNLOADING11256 | ||||||
| Ref: #editing-uploading-downloading11405 | Ref: #editing-uploading-downloading11437 | ||||||
| Node: RELOADING12236 | Node: RELOADING12271 | ||||||
| Ref: #reloading12370 | Ref: #reloading12405 | ||||||
| Node: JSON API12802 | Node: JSON API12838 | ||||||
| Ref: #json-api12916 | Ref: #json-api12952 | ||||||
| Node: ENVIRONMENT18405 | Node: ENVIRONMENT18442 | ||||||
| Ref: #environment18521 | Ref: #environment18558 | ||||||
| Node: FILES19253 | Node: FILES19291 | ||||||
| Ref: #files19353 | Ref: #files19391 | ||||||
| Node: BUGS19566 | Node: BUGS19604 | ||||||
| Ref: #bugs19644 | Ref: #bugs19682 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | Local Variables: | ||||||
|  | coding: utf-8 | ||||||
|  | End: | ||||||
|  | |||||||
| @ -3101,6 +3101,20 @@ Output as CSV and use a CSV viewer like visidata | |||||||
| .IP \[bu] 2 | .IP \[bu] 2 | ||||||
| Output as HTML and view with a browser: | Output as HTML and view with a browser: | ||||||
| \f[C]hledger bal -D -o a.html && open a.html\f[R] | \f[C]hledger bal -D -o a.html && open a.html\f[R] | ||||||
|  | .SS Showing declared accounts | ||||||
|  | .PP | ||||||
|  | With \f[C]--declared\f[R], accounts which have been declared with an | ||||||
|  | account directive will be included in the balance report, even if they | ||||||
|  | have no transactions. | ||||||
|  | (Since they will have a zero balance, you will also need | ||||||
|  | \f[C]-E/--empty\f[R] to see them.) | ||||||
|  | .PP | ||||||
|  | More precisely, \f[I]leaf\f[R] declared accounts (with no subaccounts) | ||||||
|  | will be included, since those are usually the more useful in reports. | ||||||
|  | .PP | ||||||
|  | The idea of this is to be able to see a useful \[dq]complete\[dq] | ||||||
|  | balance report, even when you don\[aq]t have transactions in all of your | ||||||
|  | declared accounts yet. | ||||||
| .SS Commodity layout | .SS Commodity layout | ||||||
| .PP | .PP | ||||||
| With \f[C]--layout\f[R], you can control how amounts with more than one | With \f[C]--layout\f[R], you can control how amounts with more than one | ||||||
| @ -6790,7 +6804,7 @@ _ | |||||||
| T{ | T{ | ||||||
| \f[B]\f[CB]account\f[B]\f[R] | \f[B]\f[CB]account\f[B]\f[R] | ||||||
| T}@T{ | T}@T{ | ||||||
| Declare an account, for checking all entries in all files; and its | Declares an account, for checking all entries in all files; and its | ||||||
| display order and type, for reports. | display order and type, for reports. | ||||||
| Subdirectives: any text, ignored. | Subdirectives: any text, ignored. | ||||||
| T}@T{ | T}@T{ | ||||||
| @ -7282,67 +7296,64 @@ account ACCTNAME  [ACCTTYPE] [;COMMENT] | |||||||
| .fi | .fi | ||||||
| .SS Account types | .SS Account types | ||||||
| .PP | .PP | ||||||
| hledger recognises five main types of account, corresponding to the | By adding a \f[C]type\f[R] tag to the account directive, with value | ||||||
| account classes in the accounting equation: | \f[C]A\f[R], \f[C]L\f[R], \f[C]E\f[R], \f[C]R\f[R], \f[C]X\f[R], | ||||||
|  | \f[C]C\f[R] (or if you prefer: \f[C]Asset\f[R], \f[C]Liability\f[R], | ||||||
|  | \f[C]Equity\f[R], \f[C]Revenue\f[R], \f[C]Expense\f[R], \f[C]Cash\f[R]), | ||||||
|  | you can declare hledger accounts to be of a certain type: | ||||||
|  | .IP \[bu] 2 | ||||||
|  | \f[B]asset\f[R], \f[B]liability\f[R], \f[B]equity\f[R], | ||||||
|  | \f[B]revenue\f[R], \f[B]expense\f[R] | ||||||
|  | .PD 0 | ||||||
|  | .P | ||||||
|  | .PD | ||||||
|  | the standard types in accounting, or | ||||||
|  | .IP \[bu] 2 | ||||||
|  | \f[B]cash\f[R] | ||||||
|  | .PD 0 | ||||||
|  | .P | ||||||
|  | .PD | ||||||
|  | a subtype of asset, used for liquid assets. | ||||||
| .PP | .PP | ||||||
| \f[C]Asset\f[R], \f[C]Liability\f[R], \f[C]Equity\f[R], | Declaring account types is a good idea, since it helps enable the easy | ||||||
| \f[C]Revenue\f[R], \f[C]Expense\f[R]. | balancesheet, balancesheetequity, incomestatement and cashflow reports, | ||||||
|  | and probably other things in future. | ||||||
|  | As a convenience, when account types are not declared, hledger will try | ||||||
|  | to guess them based on english-language account names. | ||||||
| .PP | .PP | ||||||
| These account types are important for controlling which accounts appear | Here is a typical set of top-level account declarations (because of the | ||||||
| in the balancesheet, balancesheetequity, incomestatement reports (and | aforementioned, with these account names the type tags are not strictly | ||||||
| probably for other things in future). | needed, but with non-english or non-standard account names, they will | ||||||
| .PP | be): | ||||||
| Additionally, we recognise the \f[C]Cash\f[R] type, which is also an |  | ||||||
| \f[C]Asset\f[R], and which causes accounts to appear in the cashflow |  | ||||||
| report. |  | ||||||
| (\[dq]Cash\[dq] here means liquid assets, eg bank balances but typically |  | ||||||
| not investments or receivables.) |  | ||||||
| .SS Declaring account types |  | ||||||
| .PP |  | ||||||
| To make the balancesheet/balancesheetequity/cashflow/incomestatement |  | ||||||
| reports work, generally you should declare your top-level accounts, and |  | ||||||
| their types. |  | ||||||
| For each top-level account, write an account directive, with a |  | ||||||
| \f[C]type:\f[R] tag. |  | ||||||
| The tag\[aq]s value can be any of \f[C]Asset\f[R], \f[C]Liability\f[R], |  | ||||||
| \f[C]Equity\f[R], \f[C]Revenue\f[R], \f[C]Expense\f[R], \f[C]Cash\f[R], |  | ||||||
| or (for short) \f[C]A\f[R], \f[C]L\f[R], \f[C]E\f[R], \f[C]R\f[R], |  | ||||||
| \f[C]X\f[R], \f[C]C\f[R] (case insensitive). |  | ||||||
| An account\[aq]s type is inherited by its subaccounts, unless they |  | ||||||
| declare a different type. |  | ||||||
| Here\[aq]s an example, declaring all six account types: |  | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| account assets       ; type: Asset | account assets       ; type: A | ||||||
| account assets:bank  ; type: Cash | account liabilities  ; type: L | ||||||
| account assets:cash  ; type: Cash | account equity       ; type: E | ||||||
| account liabilities  ; type: Liability | account revenues     ; type: R | ||||||
| account equity       ; type: Equity | account expenses     ; type: X | ||||||
| account revenues     ; type: Revenue | 
 | ||||||
| account expenses     ; type: Expense | account assets:bank  ; type: C | ||||||
|  | account assets:cash  ; type: C | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP | .PP | ||||||
| There is also an older syntax, which is deprecated and will be dropped | It\[aq]s not necessary to declare the type of subaccounts. | ||||||
| soon (A, L, E, R or X separated from the account name by two or more | (You can, if they are different from the parent, but this is not | ||||||
| spaces): | common.) | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| account assets       A |  | ||||||
| account liabilities  L |  | ||||||
| account equity       E |  | ||||||
| account revenues     R |  | ||||||
| account expenses     X |  | ||||||
| \f[R] |  | ||||||
| .fi |  | ||||||
| .SS Auto-detected account types | .SS Auto-detected account types | ||||||
| .PP | .PP | ||||||
| hledger tries to find at least one top level account in each of the six | More about \[dq]guessing\[dq] account types: hledger tries to find at | ||||||
| account types (Asset, Liability, Equity, Revenue, Expense, Cash). | least one top level account in each of the six account types (Asset, | ||||||
| When no accounts have been declared for a particular type, hledger tries | Liability, Equity, Revenue, Expense, Cash). | ||||||
| to auto-detect some accounts by name, using regular expressions: | When no accounts have been declared for a particular type, it tries to | ||||||
|  | auto-detect some accounts by name, using the regular expressions below. | ||||||
|  | Note: if you declare any account\[aq]s type, it\[aq]s a good idea to | ||||||
|  | declare an account for all six types, because a mix of declared and | ||||||
|  | auto-detected types can cause confusing results. | ||||||
|  | .PP | ||||||
|  | The auto-detection rules are: | ||||||
| .IP | .IP | ||||||
| .nf | .nf | ||||||
| \f[C] | \f[C] | ||||||
| @ -7357,40 +7368,6 @@ to auto-detect some accounts by name, using regular expressions: | |||||||
|  \[ha]expenses?(:|$)                                                    | Expense |  \[ha]expenses?(:|$)                                                    | Expense | ||||||
| \f[R] | \f[R] | ||||||
| .fi | .fi | ||||||
| .PP |  | ||||||
| For people using standard english account names, this feature helps |  | ||||||
| hledger\[aq]s high-level reports work out of the box with minimal |  | ||||||
| configuration. |  | ||||||
| .PP |  | ||||||
| If you use non-english account names, you should declare account types |  | ||||||
| to make these reports work. |  | ||||||
| And more generally, declaring accounts and types is usually a good idea, |  | ||||||
| for increased clarity and predictability (and for the other benefits of |  | ||||||
| account directives: error checking, display order, etc). |  | ||||||
| .PP |  | ||||||
| Notes: |  | ||||||
| .IP \[bu] 2 |  | ||||||
| When any account is declared as some type, this disables auto-detection |  | ||||||
| for that particular type. |  | ||||||
| .IP \[bu] 2 |  | ||||||
| If you declare any account\[aq]s type, it\[aq]s a good idea to declare |  | ||||||
| an account for all six types, since a mix of declared and auto-detected |  | ||||||
| types can cause confusion. |  | ||||||
| For example, here liabilities is declared to be Equity, but would also |  | ||||||
| be auto-detected as Liability, since no Liability account is declared: |  | ||||||
| .RS 2 |  | ||||||
| .IP |  | ||||||
| .nf |  | ||||||
| \f[C] |  | ||||||
| account liabilities  ; type:Equity |  | ||||||
| 
 |  | ||||||
| 2020-01-01 |  | ||||||
|   assets        1 |  | ||||||
|   liabilities   1 |  | ||||||
|   equity       -2 |  | ||||||
| \f[R] |  | ||||||
| .fi |  | ||||||
| .RE |  | ||||||
| .SS Account display order | .SS Account display order | ||||||
| .PP | .PP | ||||||
| Account directives also set the order in which accounts are displayed, | Account directives also set the order in which accounts are displayed, | ||||||
|  | |||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -2161,6 +2161,19 @@ COMMANDS | |||||||
|        o Output  as  HTML and view with a browser: hledger bal -D -o a.html && |        o Output  as  HTML and view with a browser: hledger bal -D -o a.html && | ||||||
|          open a.html |          open a.html | ||||||
| 
 | 
 | ||||||
|  |    Showing declared accounts | ||||||
|  |        With --declared, accounts which have  been  declared  with  an  account | ||||||
|  |        directive  will be included in the balance report, even if they have no | ||||||
|  |        transactions.  (Since they will have a zero balance, you will also need | ||||||
|  |        -E/--empty to see them.) | ||||||
|  | 
 | ||||||
|  |        More  precisely,  leaf  declared accounts (with no subaccounts) will be | ||||||
|  |        included, since those are usually the more useful in reports. | ||||||
|  | 
 | ||||||
|  |        The idea of this is to be able  to  see  a  useful  "complete"  balance | ||||||
|  |        report,  even  when you don't have transactions in all of your declared | ||||||
|  |        accounts yet. | ||||||
|  | 
 | ||||||
|    Commodity layout |    Commodity layout | ||||||
|        With --layout, you can control how amounts with more than one commodity |        With --layout, you can control how amounts with more than one commodity | ||||||
|        are displayed: |        are displayed: | ||||||
| @ -2412,6 +2425,7 @@ COMMANDS | |||||||
|                   period end         ues  from  report   from     report    report   start |                   period end         ues  from  report   from     report    report   start | ||||||
|                                      start  to  period   start to period    to period end |                                      start  to  period   start to period    to period end | ||||||
|                                      end                 end |                                      end                 end | ||||||
|  | 
 | ||||||
|        --his-     change      from   sum  of  posting-   period-end         DATE-value  of |        --his-     change      from   sum  of  posting-   period-end         DATE-value  of | ||||||
|        torical    journal start to   date  market val-   value of change    change    from |        torical    journal start to   date  market val-   value of change    change    from | ||||||
|        /-H        period end (his-   ues from  journal   from    journal    journal  start |        /-H        period end (his-   ues from  journal   from    journal    journal  start | ||||||
| @ -4902,7 +4916,7 @@ JOURNAL FORMAT | |||||||
|                                                                                   file |                                                                                   file | ||||||
|                                                                                   end? |                                                                                   end? | ||||||
|        ---------------------------------------------------------------------------------- |        ---------------------------------------------------------------------------------- | ||||||
|        account    Declare  an  account,  for checking all entries in all files; |        account    Declares  an  account, for checking all entries in all files; | ||||||
|                   and its display order and type, for reports.   Subdirectives: |                   and its display order and type, for reports.   Subdirectives: | ||||||
|                   any text, ignored. |                   any text, ignored. | ||||||
|        alias      Rewrites  account  names,  in  following entries until end of   Y |        alias      Rewrites  account  names,  in  following entries until end of   Y | ||||||
| @ -4910,6 +4924,8 @@ JOURNAL FORMAT | |||||||
|        apply      Prepends a common parent account to  all  account  names,  in   Y |        apply      Prepends a common parent account to  all  account  names,  in   Y | ||||||
|        account    following  entries  until  end  of  current file or end apply |        account    following  entries  until  end  of  current file or end apply | ||||||
|                   account. |                   account. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|        comment    Ignores  part  of the journal file, until end of current file   Y |        comment    Ignores  part  of the journal file, until end of current file   Y | ||||||
|                   or end comment. |                   or end comment. | ||||||
|        commod-    Declares  a commodity, for checking all entries in all files;   N, Y |        commod-    Declares  a commodity, for checking all entries in all files;   N, Y | ||||||
| @ -4928,8 +4944,6 @@ JOURNAL FORMAT | |||||||
|        include    Includes entries and directives from another file, as if they |        include    Includes entries and directives from another file, as if they | ||||||
|                   were written inline. |                   were written inline. | ||||||
|        payee      Declares a payee name, for checking all entries in all files. |        payee      Declares a payee name, for checking all entries in all files. | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        P          Declares  a  market  price  for a commodity on some date, for |        P          Declares  a  market  price  for a commodity on some date, for | ||||||
|                   valuation reports. |                   valuation reports. | ||||||
|        Y          Declares a year for yearless  dates,  for  following  entries   Y |        Y          Declares a year for yearless  dates,  for  following  entries   Y | ||||||
| @ -5242,53 +5256,50 @@ JOURNAL FORMAT | |||||||
|                 [LEDGER-STYLE SUBDIRECTIVES, IGNORED] |                 [LEDGER-STYLE SUBDIRECTIVES, IGNORED] | ||||||
| 
 | 
 | ||||||
|    Account types |    Account types | ||||||
|        hledger  recognises  five  main  types of account, corresponding to the |        By  adding  a type tag to the account directive, with value A, L, E, R, | ||||||
|        account classes in the accounting equation: |        X, C (or if you prefer: Asset,  Liability,  Equity,  Revenue,  Expense, | ||||||
|  |        Cash), you can declare hledger accounts to be of a certain type: | ||||||
| 
 | 
 | ||||||
|        Asset, Liability, Equity, Revenue, Expense. |        o asset, liability, equity, revenue, expense | ||||||
|  |        the standard types in accounting, or | ||||||
| 
 | 
 | ||||||
|        These account types are important for controlling which accounts appear |        o cash | ||||||
|        in  the  balancesheet, balancesheetequity, incomestatement reports (and |        a subtype of asset, used for liquid assets. | ||||||
|        probably for other things in future). |  | ||||||
| 
 | 
 | ||||||
|        Additionally, we recognise the Cash type, which is also an  Asset,  and |        Declaring  account types is a good idea, since it helps enable the easy | ||||||
|        which  causes  accounts to appear in the cashflow report.  ("Cash" here |        balancesheet, balancesheetequity, incomestatement and cashflow reports, | ||||||
|        means liquid assets, eg bank balances but typically not investments  or |        and  probably  other  things in future.  As a convenience, when account | ||||||
|        receivables.) |        types are not declared,  hledger  will  try  to  guess  them  based  on | ||||||
|  |        english-language account names. | ||||||
| 
 | 
 | ||||||
|    Declaring account types |        Here is a typical set of top-level account declarations (because of the | ||||||
|        To  make  the  balancesheet/balancesheetequity/cashflow/incomestatement |        aforementioned, with these account names the type tags are not strictly | ||||||
|        reports work, generally you should declare your top-level accounts, and |        needed,  but  with non-english or non-standard account names, they will | ||||||
|        their  types.   For each top-level account, write an account directive, |        be): | ||||||
|        with a type: tag.  The tag's value can  be  any  of  Asset,  Liability, |  | ||||||
|        Equity,  Revenue,  Expense, Cash, or (for short) A, L, E, R, X, C (case |  | ||||||
|        insensitive).  An account's  type  is  inherited  by  its  subaccounts, |  | ||||||
|        unless they declare a different type.  Here's an example, declaring all |  | ||||||
|        six account types: |  | ||||||
| 
 | 
 | ||||||
|               account assets       ; type: Asset |               account assets       ; type: A | ||||||
|               account assets:bank  ; type: Cash |               account liabilities  ; type: L | ||||||
|               account assets:cash  ; type: Cash |               account equity       ; type: E | ||||||
|               account liabilities  ; type: Liability |               account revenues     ; type: R | ||||||
|               account equity       ; type: Equity |               account expenses     ; type: X | ||||||
|               account revenues     ; type: Revenue |  | ||||||
|               account expenses     ; type: Expense |  | ||||||
| 
 | 
 | ||||||
|        There is also an older syntax, which is deprecated and will be  dropped |               account assets:bank  ; type: C | ||||||
|        soon  (A,  L,  E, R or X separated from the account name by two or more |               account assets:cash  ; type: C | ||||||
|        spaces): |  | ||||||
| 
 | 
 | ||||||
|               account assets       A |        It's not necessary to declare the type of subaccounts.   (You  can,  if | ||||||
|               account liabilities  L |        they are different from the parent, but this is not common.) | ||||||
|               account equity       E |  | ||||||
|               account revenues     R |  | ||||||
|               account expenses     X |  | ||||||
| 
 | 
 | ||||||
|    Auto-detected account types |    Auto-detected account types | ||||||
|        hledger tries to find at least one top level account in each of the six |        More about "guessing" account types: hledger tries to find at least one | ||||||
|        account types (Asset, Liability, Equity, Revenue, Expense, Cash).  When |        top level account in each of the six account types  (Asset,  Liability, | ||||||
|        no accounts have been declared for a particular type, hledger tries  to |        Equity,  Revenue,  Expense, Cash).  When no accounts have been declared | ||||||
|        auto-detect some accounts by name, using regular expressions: |        for a particular type, it tries to auto-detect some accounts  by  name, | ||||||
|  |        using  the  regular  expressions  below.   Note:  if  you  declare  any | ||||||
|  |        account's type, it's a good idea to declare  an  account  for  all  six | ||||||
|  |        types, because a mix of declared and auto-detected types can cause con- | ||||||
|  |        fusing results. | ||||||
|  | 
 | ||||||
|  |        The auto-detection rules are: | ||||||
| 
 | 
 | ||||||
|                If account's name matches this case insensitive regular expression:| its type is: |                If account's name matches this case insensitive regular expression:| its type is: | ||||||
|               ------------------------------------------------------------------- | ------------ |               ------------------------------------------------------------------- | ------------ | ||||||
| @ -5300,34 +5311,6 @@ JOURNAL FORMAT | |||||||
|                ^(income|revenue)s?(:|$)                                           | Revenue |                ^(income|revenue)s?(:|$)                                           | Revenue | ||||||
|                ^expenses?(:|$)                                                    | Expense |                ^expenses?(:|$)                                                    | Expense | ||||||
| 
 | 
 | ||||||
|        For  people  using  standard  english account names, this feature helps |  | ||||||
|        hledger's high-level reports work out of the box with minimal  configu- |  | ||||||
|        ration. |  | ||||||
| 
 |  | ||||||
|        If  you use non-english account names, you should declare account types |  | ||||||
|        to make these reports work.  And more generally, declaring accounts and |  | ||||||
|        types  is usually a good idea, for increased clarity and predictability |  | ||||||
|        (and for the other benefits of account directives: error checking, dis- |  | ||||||
|        play order, etc). |  | ||||||
| 
 |  | ||||||
|        Notes: |  | ||||||
| 
 |  | ||||||
|        o When  any account is declared as some type, this disables auto-detec- |  | ||||||
|          tion for that particular type. |  | ||||||
| 
 |  | ||||||
|        o If you declare any account's type, it's a good  idea  to  declare  an |  | ||||||
|          account  for all six types, since a mix of declared and auto-detected |  | ||||||
|          types can cause confusion.  For example, here liabilities is declared |  | ||||||
|          to  be Equity, but would also be auto-detected as Liability, since no |  | ||||||
|          Liability account is declared: |  | ||||||
| 
 |  | ||||||
|                 account liabilities  ; type:Equity |  | ||||||
| 
 |  | ||||||
|                 2020-01-01 |  | ||||||
|                   assets        1 |  | ||||||
|                   liabilities   1 |  | ||||||
|                   equity       -2 |  | ||||||
| 
 |  | ||||||
|    Account display order |    Account display order | ||||||
|        Account directives also set the order in which accounts are  displayed, |        Account directives also set the order in which accounts are  displayed, | ||||||
|        eg  in  reports,  the  hledger-ui  accounts screen, and the hledger-web |        eg  in  reports,  the  hledger-ui  accounts screen, and the hledger-web | ||||||
| @ -5826,8 +5809,6 @@ CSV FORMAT | |||||||
| 
 | 
 | ||||||
|        skip                         skip one or more header lines or matched CSV |        skip                         skip one or more header lines or matched CSV | ||||||
|                                     records |                                     records | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        fields list                  name  CSV  fields,  assign  them  to hledger |        fields list                  name  CSV  fields,  assign  them  to hledger | ||||||
|                                     fields |                                     fields | ||||||
|        field assignment             assign a value to one  hledger  field,  with |        field assignment             assign a value to one  hledger  field,  with | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user