update embedded manuals
This commit is contained in:
		
							parent
							
								
									a3fa09b604
								
							
						
					
					
						commit
						676eb6e1a2
					
				| @ -1,4 +1,4 @@ | |||||||
| This is hledger-api.1.info, produced by makeinfo version 6.0 from stdin. | This is hledger-api.1.info, produced by makeinfo version 6.1 from stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-api.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | File: hledger-api.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger_csv.5.info, produced by makeinfo version 6.0 from stdin. | This is hledger_csv.5.info, produced by makeinfo version 6.1 from stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger_csv.5.info,  Node: Top,  Next: CSV RULES,  Up: (dir) | File: hledger_csv.5.info,  Node: Top,  Next: CSV RULES,  Up: (dir) | ||||||
|  | |||||||
| @ -126,59 +126,59 @@ CSV RULES | |||||||
|    newest-first |    newest-first | ||||||
|        newest-first |        newest-first | ||||||
| 
 | 
 | ||||||
|        Consider adding this rule if all of the following are true:  you  might |        Consider  adding  this rule if all of the following are true: you might | ||||||
|        be  processing  just  one  day of data, your CSV records are in reverse |        be processing just one day of data, your CSV  records  are  in  reverse | ||||||
|        chronological order (newest first), and you care about  preserving  the |        chronological  order  (newest first), and you care about preserving the | ||||||
|        order  of  same-day  transactions.   It  usually  isn't needed, because |        order of same-day  transactions.   It  usually  isn't  needed,  because | ||||||
|        hledger autodetects the CSV order, but when all CSV  records  have  the |        hledger  autodetects  the  CSV order, but when all CSV records have the | ||||||
|        same date it will assume they are oldest first. |        same date it will assume they are oldest first. | ||||||
| 
 | 
 | ||||||
| CSV TIPS | CSV TIPS | ||||||
|    CSV ordering |    CSV ordering | ||||||
|        The  generated  journal  entries  will be sorted by date.  The order of |        The generated journal entries will be sorted by  date.   The  order  of | ||||||
|        same-day entries will be preserved (except in the  special  case  where |        same-day  entries  will  be preserved (except in the special case where | ||||||
|        you might need newest-first, see above). |        you might need newest-first, see above). | ||||||
| 
 | 
 | ||||||
|    CSV accounts |    CSV accounts | ||||||
|        Each  journal  entry  will  have two postings, to account1 and account2 |        Each journal entry will have two postings,  to  account1  and  account2 | ||||||
|        respectively.  It's not yet possible to generate entries with more than |        respectively.  It's not yet possible to generate entries with more than | ||||||
|        two  postings.   It's  conventional and recommended to use account1 for |        two postings.  It's conventional and recommended to  use  account1  for | ||||||
|        the account whose CSV we are reading. |        the account whose CSV we are reading. | ||||||
| 
 | 
 | ||||||
|    CSV amounts |    CSV amounts | ||||||
|        The amount field sets the amount of the account1 posting. |        The amount field sets the amount of the account1 posting. | ||||||
| 
 | 
 | ||||||
|        If the CSV has debit/credit amounts in separate fields, assign  to  the |        If  the  CSV has debit/credit amounts in separate fields, assign to the | ||||||
|        amount-in  and  amount-out pseudo fields instead.  (Whichever one has a |        amount-in and amount-out pseudo fields instead.  (Whichever one  has  a | ||||||
|        value will be used, with appropriate sign.  If both contain a value, it |        value will be used, with appropriate sign.  If both contain a value, it | ||||||
|        may not work so well.) |        may not work so well.) | ||||||
| 
 | 
 | ||||||
|        If  an  amount  value is parenthesised, it will be de-parenthesised and |        If an amount value is parenthesised, it will  be  de-parenthesised  and | ||||||
|        sign-flipped. |        sign-flipped. | ||||||
| 
 | 
 | ||||||
|        If an amount value begins with a double minus sign, those  will  cancel |        If  an  amount value begins with a double minus sign, those will cancel | ||||||
|        out and be removed. |        out and be removed. | ||||||
| 
 | 
 | ||||||
|        If  the CSV has the currency symbol in a separate field, assign that to |        If the CSV has the currency symbol in a separate field, assign that  to | ||||||
|        the currency pseudo field to have it prepended to the amount.  Or,  you |        the  currency pseudo field to have it prepended to the amount.  Or, you | ||||||
|        can  use a field assignment to amount that interpolates both CSV fields |        can use a field assignment to amount that interpolates both CSV  fields | ||||||
|        (giving more control, eg to put the currency symbol on the right). |        (giving more control, eg to put the currency symbol on the right). | ||||||
| 
 | 
 | ||||||
|    CSV balance assertions |    CSV balance assertions | ||||||
|        If the CSV includes a running balance, you can assign that to the  bal- |        If  the CSV includes a running balance, you can assign that to the bal- | ||||||
|        ance  pseudo field; whenever the running balance value is non-empty, it |        ance pseudo field; whenever the running balance value is non-empty,  it | ||||||
|        will be asserted as the balance after the account1 posting. |        will be asserted as the balance after the account1 posting. | ||||||
| 
 | 
 | ||||||
|    Reading multiple CSV files |    Reading multiple CSV files | ||||||
|        You can read multiple CSV files at once using multiple -f arguments  on |        You  can read multiple CSV files at once using multiple -f arguments on | ||||||
|        the  command  line,  and  hledger will look for a correspondingly-named |        the command line, and hledger will  look  for  a  correspondingly-named | ||||||
|        rules file for each.  Note if you use the --rules-file option, this one |        rules file for each.  Note if you use the --rules-file option, this one | ||||||
|        rules file will be used for all the CSV files being read. |        rules file will be used for all the CSV files being read. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -192,7 +192,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger_journal.5.info, produced by makeinfo version 6.0 from | This is hledger_journal.5.info, produced by makeinfo version 6.1 from | ||||||
| stdin. | stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | |||||||
| @ -7,23 +7,23 @@ NAME | |||||||
|        Journal - hledger's default file format, representing a General Journal |        Journal - hledger's default file format, representing a General Journal | ||||||
| 
 | 
 | ||||||
| DESCRIPTION | DESCRIPTION | ||||||
|        hledger's usual data source is a plain  text  file  containing  journal |        hledger's  usual  data  source  is a plain text file containing journal | ||||||
|        entries  in  hledger  journal  format.  This file represents a standard |        entries in hledger journal format.  This  file  represents  a  standard | ||||||
|        accounting general journal.  I use file names ending in  .journal,  but |        accounting  general  journal.  I use file names ending in .journal, but | ||||||
|        that's not required.  The journal file contains a number of transaction |        that's not required.  The journal file contains a number of transaction | ||||||
|        entries, each describing a transfer of money (or any commodity) between |        entries, each describing a transfer of money (or any commodity) between | ||||||
|        two or more named accounts, in a simple format readable by both hledger |        two or more named accounts, in a simple format readable by both hledger | ||||||
|        and humans. |        and humans. | ||||||
| 
 | 
 | ||||||
|        hledger's journal format is a compatible subset,  mostly,  of  ledger's |        hledger's  journal  format  is a compatible subset, mostly, of ledger's | ||||||
|        journal  format,  so  hledger  can  work with compatible ledger journal |        journal format, so hledger can  work  with  compatible  ledger  journal | ||||||
|        files as well.  It's safe, and encouraged,  to  run  both  hledger  and |        files  as  well.   It's  safe,  and encouraged, to run both hledger and | ||||||
|        ledger on the same journal file, eg to validate the results you're get- |        ledger on the same journal file, eg to validate the results you're get- | ||||||
|        ting. |        ting. | ||||||
| 
 | 
 | ||||||
|        You can use hledger without learning any more about this file; just use |        You can use hledger without learning any more about this file; just use | ||||||
|        the  add  or web commands to create and update it.  Many users, though, |        the add or web commands to create and update it.  Many  users,  though, | ||||||
|        also edit the  journal  file  directly  with  a  text  editor,  perhaps |        also  edit  the  journal  file  directly  with  a  text editor, perhaps | ||||||
|        assisted by the helper modes for emacs or vim. |        assisted by the helper modes for emacs or vim. | ||||||
| 
 | 
 | ||||||
|        Here's an example: |        Here's an example: | ||||||
| @ -57,73 +57,73 @@ DESCRIPTION | |||||||
| 
 | 
 | ||||||
| FILE FORMAT | FILE FORMAT | ||||||
|    Transactions |    Transactions | ||||||
|        Transactions  are  movements  of  some  quantity of commodities between |        Transactions are movements of  some  quantity  of  commodities  between | ||||||
|        named accounts.  Each transaction is represented  by  a  journal  entry |        named  accounts.   Each  transaction  is represented by a journal entry | ||||||
|        beginning  with a simple date in column 0.  This can be followed by any |        beginning with a simple date in column 0.  This can be followed by  any | ||||||
|        of the following, separated by spaces: |        of the following, separated by spaces: | ||||||
| 
 | 
 | ||||||
|        o (optional) a status character (empty, !, or *) |        o (optional) a status character (empty, !, or *) | ||||||
| 
 | 
 | ||||||
|        o (optional) a transaction code (any short number or text, enclosed  in |        o (optional)  a transaction code (any short number or text, enclosed in | ||||||
|          parentheses) |          parentheses) | ||||||
| 
 | 
 | ||||||
|        o (optional) a transaction description (any remaining text until end of |        o (optional) a transaction description (any remaining text until end of | ||||||
|          line or a semicolon) |          line or a semicolon) | ||||||
| 
 | 
 | ||||||
|        o (optional) a transaction comment  (any  remaining  text  following  a |        o (optional)  a  transaction  comment  (any  remaining text following a | ||||||
|          semicolon until end of line) |          semicolon until end of line) | ||||||
| 
 | 
 | ||||||
|        Then  comes zero or more (but usually at least 2) indented lines repre- |        Then comes zero or more (but usually at least 2) indented lines  repre- | ||||||
|        senting... |        senting... | ||||||
| 
 | 
 | ||||||
|    Postings |    Postings | ||||||
|        A posting is an addition of some amount to, or removal of  some  amount |        A  posting  is an addition of some amount to, or removal of some amount | ||||||
|        from,  an account.  Each posting line begins with at least one space or |        from, an account.  Each posting line begins with at least one space  or | ||||||
|        tab (2 or 4 spaces is common), followed by: |        tab (2 or 4 spaces is common), followed by: | ||||||
| 
 | 
 | ||||||
|        o (optional) a status character (empty, !, or *), followed by a space |        o (optional) a status character (empty, !, or *), followed by a space | ||||||
| 
 | 
 | ||||||
|        o (required) an account name (any text,  optionally  containing  single |        o (required)  an  account  name (any text, optionally containing single | ||||||
|          spaces, until end of line or a double space) |          spaces, until end of line or a double space) | ||||||
| 
 | 
 | ||||||
|        o (optional) two or more spaces or tabs followed by an amount. |        o (optional) two or more spaces or tabs followed by an amount. | ||||||
| 
 | 
 | ||||||
|        Positive  amounts  are being added to the account, negative amounts are |        Positive amounts are being added to the account, negative  amounts  are | ||||||
|        being removed. |        being removed. | ||||||
| 
 | 
 | ||||||
|        The amounts within a transaction must always sum up to zero.  As a con- |        The amounts within a transaction must always sum up to zero.  As a con- | ||||||
|        venience,  one  amount  may be left blank; it will be inferred so as to |        venience, one amount may be left blank; it will be inferred  so  as  to | ||||||
|        balance the transaction. |        balance the transaction. | ||||||
| 
 | 
 | ||||||
|        Be sure to note the unusual two-space delimiter  between  account  name |        Be  sure  to  note the unusual two-space delimiter between account name | ||||||
|        and  amount.  This makes it easy to write account names containing spa- |        and amount.  This makes it easy to write account names containing  spa- | ||||||
|        ces.  But if you accidentally leave only one space (or tab) before  the |        ces.   But if you accidentally leave only one space (or tab) before the | ||||||
|        amount, the amount will be considered part of the account name. |        amount, the amount will be considered part of the account name. | ||||||
| 
 | 
 | ||||||
|    Dates |    Dates | ||||||
|    Simple dates |    Simple dates | ||||||
|        Within  a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D) |        Within a journal file, transaction dates use Y/M/D (or Y-M-D or  Y.M.D) | ||||||
|        Leading zeros are optional.  The year may be omitted, in which case  it |        Leading  zeros are optional.  The year may be omitted, in which case it | ||||||
|        will  be  inferred  from  the  context  -  the current transaction, the |        will be inferred from  the  context  -  the  current  transaction,  the | ||||||
|        default year set with a default year directive,  or  the  current  date |        default  year  set  with  a default year directive, or the current date | ||||||
|        when  the command is run.  Some examples: 2010/01/31, 1/31, 2010-01-31, |        when the command is run.  Some examples: 2010/01/31, 1/31,  2010-01-31, | ||||||
|        2010.1.31. |        2010.1.31. | ||||||
| 
 | 
 | ||||||
|    Secondary dates |    Secondary dates | ||||||
|        Real-life transactions sometimes involve more than one date  -  eg  the |        Real-life  transactions  sometimes  involve more than one date - eg the | ||||||
|        date you write a cheque, and the date it clears in your bank.  When you |        date you write a cheque, and the date it clears in your bank.  When you | ||||||
|        want to model this, eg for more  accurate  balances,  you  can  specify |        want  to  model  this,  eg  for more accurate balances, you can specify | ||||||
|        individual  posting dates, which I recommend.  Or, you can use the sec- |        individual posting dates, which I recommend.  Or, you can use the  sec- | ||||||
|        ondary dates (aka auxiliary/effective  dates)  feature,  supported  for |        ondary  dates  (aka  auxiliary/effective  dates) feature, supported for | ||||||
|        compatibility with Ledger. |        compatibility with Ledger. | ||||||
| 
 | 
 | ||||||
|        A secondary date can be written after the primary date, separated by an |        A secondary date can be written after the primary date, separated by an | ||||||
|        equals sign.  The primary date, on the left, is used  by  default;  the |        equals  sign.   The  primary date, on the left, is used by default; the | ||||||
|        secondary  date,  on the right, is used when the --date2 flag is speci- |        secondary date, on the right, is used when the --date2 flag  is  speci- | ||||||
|        fied (--aux-date or --effective also work). |        fied (--aux-date or --effective also work). | ||||||
| 
 | 
 | ||||||
|        The meaning of secondary dates is up to you, but it's best to follow  a |        The  meaning of secondary dates is up to you, but it's best to follow a | ||||||
|        consistent  rule.   Eg  write  the bank's clearing date as primary, and |        consistent rule.  Eg write the bank's clearing  date  as  primary,  and | ||||||
|        when needed, the date the transaction was initiated as secondary. |        when needed, the date the transaction was initiated as secondary. | ||||||
| 
 | 
 | ||||||
|        Here's an example.  Note that a secondary date will use the year of the |        Here's an example.  Note that a secondary date will use the year of the | ||||||
| @ -139,18 +139,18 @@ FILE FORMAT | |||||||
|               $ hledger register checking --date2 |               $ hledger register checking --date2 | ||||||
|               2010/02/19 movie ticket         assets:checking                $-10         $-10 |               2010/02/19 movie ticket         assets:checking                $-10         $-10 | ||||||
| 
 | 
 | ||||||
|        Secondary  dates require some effort; you must use them consistently in |        Secondary dates require some effort; you must use them consistently  in | ||||||
|        your journal entries and remember whether to use or not use the --date2 |        your journal entries and remember whether to use or not use the --date2 | ||||||
|        flag for your reports.  They are included in hledger for Ledger compat- |        flag for your reports.  They are included in hledger for Ledger compat- | ||||||
|        ibility, but posting dates are  a  more  powerful  and  less  confusing |        ibility,  but  posting  dates  are  a  more powerful and less confusing | ||||||
|        alternative. |        alternative. | ||||||
| 
 | 
 | ||||||
|    Posting dates |    Posting dates | ||||||
|        You  can  give  individual  postings a different date from their parent |        You can give individual postings a different  date  from  their  parent | ||||||
|        transaction, by adding a posting comment containing a tag  (see  below) |        transaction,  by  adding a posting comment containing a tag (see below) | ||||||
|        like date:DATE.  This is probably the best way to control posting dates |        like date:DATE.  This is probably the best way to control posting dates | ||||||
|        precisely.  Eg in  this  example  the  expense  should  appear  in  May |        precisely.   Eg  in  this  example  the  expense  should  appear in May | ||||||
|        reports,  and the deduction from checking should be reported on 6/1 for |        reports, and the deduction from checking should be reported on 6/1  for | ||||||
|        easy bank reconciliation: |        easy bank reconciliation: | ||||||
| 
 | 
 | ||||||
|               2015/5/30 |               2015/5/30 | ||||||
| @ -163,82 +163,80 @@ FILE FORMAT | |||||||
|               $ hledger -f t.j register checking |               $ hledger -f t.j register checking | ||||||
|               2015/06/01                      assets:checking               $-10          $-10 |               2015/06/01                      assets:checking               $-10          $-10 | ||||||
| 
 | 
 | ||||||
|        DATE should be a simple date; if the year is not specified it will  use |        DATE  should be a simple date; if the year is not specified it will use | ||||||
|        the  year  of  the  transaction's date.  You can set the secondary date |        the year of the transaction's date.  You can  set  the  secondary  date | ||||||
|        similarly, with date2:DATE2.  The date: or  date2:  tags  must  have  a |        similarly,  with  date2:DATE2.   The  date:  or date2: tags must have a | ||||||
|        valid  simple  date  value  if they are present, eg a date: tag with no |        valid simple date value if they are present, eg a  date:  tag  with  no | ||||||
|        value is not allowed. |        value is not allowed. | ||||||
| 
 | 
 | ||||||
|        Ledger's earlier, more compact bracketed date syntax is also supported: |        Ledger's earlier, more compact bracketed date syntax is also supported: | ||||||
|        [DATE],  [DATE=DATE2]  or  [=DATE2].  hledger will attempt to parse any |        [DATE], [DATE=DATE2] or [=DATE2].  hledger will attempt  to  parse  any | ||||||
|        square-bracketed sequence of the 0123456789/-.= characters in this way. |        square-bracketed sequence of the 0123456789/-.= characters in this way. | ||||||
|        With  this  syntax, DATE infers its year from the transaction and DATE2 |        With this syntax, DATE infers its year from the transaction  and  DATE2 | ||||||
|        infers its year from DATE. |        infers its year from DATE. | ||||||
| 
 | 
 | ||||||
|    Status |    Status | ||||||
|        Transactions, or individual postings within a transaction, can  have  a |        Transactions,  or  individual postings within a transaction, can have a | ||||||
|        status  mark,  which  is  a  single  character  before  the transaction |        status mark,  which  is  a  single  character  before  the  transaction | ||||||
|        description or posting account name, separated  from  it  by  a  space, |        description  or  posting  account  name,  separated from it by a space, | ||||||
|        indicating one of three statuses: |        indicating one of three statuses: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        mark     status |        mark     status | ||||||
|        ------------------ |        ------------------ | ||||||
|                 unmarked |                 unmarked | ||||||
|        !        pending |        !        pending | ||||||
|        *        cleared |        *        cleared | ||||||
| 
 | 
 | ||||||
|        When  reporting,  you  can  filter  by  status  with the -U/--unmarked, |        When reporting, you  can  filter  by  status  with  the  -U/--unmarked, | ||||||
|        -P/--pending, and -C/--cleared flags; or  the  status:,  status:!,  and |        -P/--pending,  and  -C/--cleared  flags;  or the status:, status:!, and | ||||||
|        status:* queries; or the U, P, C keys in hledger-ui. |        status:* queries; or the U, P, C keys in hledger-ui. | ||||||
| 
 | 
 | ||||||
|        Note,  in Ledger and in older versions of hledger, the "unmarked" state |        Note, in Ledger and in older versions of hledger, the "unmarked"  state | ||||||
|        is called "uncleared".  As  of  hledger  1.3  we  have  renamed  it  to |        is  called  "uncleared".   As  of  hledger  1.3  we  have renamed it to | ||||||
|        unmarked for clarity. |        unmarked for clarity. | ||||||
| 
 | 
 | ||||||
|        To  replicate Ledger and old hledger's behaviour of also matching pend- |        To replicate Ledger and old hledger's behaviour of also matching  pend- | ||||||
|        ing, combine -U and -P. |        ing, combine -U and -P. | ||||||
| 
 | 
 | ||||||
|        Status marks are optional, but can be helpful eg for  reconciling  with |        Status  marks  are optional, but can be helpful eg for reconciling with | ||||||
|        real-world accounts.  Some editor modes provide highlighting and short- |        real-world accounts.  Some editor modes provide highlighting and short- | ||||||
|        cuts for working with status.  Eg in Emacs ledger-mode, you can  toggle |        cuts  for working with status.  Eg in Emacs ledger-mode, you can toggle | ||||||
|        transaction status with C-c C-e, or posting status with C-c C-c. |        transaction status with C-c C-e, or posting status with C-c C-c. | ||||||
| 
 | 
 | ||||||
|        What  "uncleared", "pending", and "cleared" actually mean is up to you. |        What "uncleared", "pending", and "cleared" actually mean is up to  you. | ||||||
|        Here's one suggestion: |        Here's one suggestion: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        status       meaning |        status       meaning | ||||||
|        -------------------------------------------------------------------------- |        -------------------------------------------------------------------------- | ||||||
|        uncleared    recorded but not yet reconciled; needs review |        uncleared    recorded but not yet reconciled; needs review | ||||||
|        pending      tentatively reconciled (if needed, eg during a  big  recon- |        pending      tentatively  reconciled  (if needed, eg during a big recon- | ||||||
|                     ciliation) |                     ciliation) | ||||||
|        cleared      complete,  reconciled  as  far  as possible, and considered |        cleared      complete, reconciled as far  as  possible,  and  considered | ||||||
|                     correct |                     correct | ||||||
| 
 | 
 | ||||||
|        With this scheme, you would use -PC to see the current balance at  your |        With  this scheme, you would use -PC to see the current balance at your | ||||||
|        bank,  -U  to  see  things which will probably hit your bank soon (like |        bank, -U to see things which will probably hit  your  bank  soon  (like | ||||||
|        uncashed checks), and no flags to see the most up-to-date state of your |        uncashed checks), and no flags to see the most up-to-date state of your | ||||||
|        finances. |        finances. | ||||||
| 
 | 
 | ||||||
|    Description |    Description | ||||||
|        A  transaction's description is the rest of the line following the date |        A transaction's description is the rest of the line following the  date | ||||||
|        and status mark (or until a  comment  begins).   Sometimes  called  the |        and  status  mark  (or  until  a comment begins).  Sometimes called the | ||||||
|        "narration" in traditional bookkeeping, it can be used for whatever you |        "narration" in traditional bookkeeping, it can be used for whatever you | ||||||
|        wish, or left blank.  Transaction descriptions can be  queried,  unlike |        wish,  or  left blank.  Transaction descriptions can be queried, unlike | ||||||
|        comments. |        comments. | ||||||
| 
 | 
 | ||||||
|    Payee and note |    Payee and note | ||||||
|        You  can  optionally  include  a | (pipe) character in a description to |        You can optionally include a | (pipe) character  in  a  description  to | ||||||
|        subdivide it into a payee/payer name on the left and  additional  notes |        subdivide  it  into a payee/payer name on the left and additional notes | ||||||
|        on  the  right.   This may be worthwhile if you need to do more precise |        on the right.  This may be worthwhile if you need to  do  more  precise | ||||||
|        querying and pivoting by payee. |        querying and pivoting by payee. | ||||||
| 
 | 
 | ||||||
|    Account names |    Account names | ||||||
|        Account names typically have several parts separated by a  full  colon, |        Account  names  typically have several parts separated by a full colon, | ||||||
|        from  which hledger derives a hierarchical chart of accounts.  They can |        from which hledger derives a hierarchical chart of accounts.  They  can | ||||||
|        be anything you like, but  in  finance  there  are  traditionally  five |        be  anything  you  like,  but  in  finance there are traditionally five | ||||||
|        top-level  accounts: assets, liabilities, income, expenses, and equity. |        top-level accounts: assets, liabilities, income, expenses, and equity. | ||||||
| 
 | 
 | ||||||
|        Account names may contain single  spaces,  eg:  assets:accounts receiv- |        Account names may contain single  spaces,  eg:  assets:accounts receiv- | ||||||
|        able.   Because  of  this,  they must always be followed by two or more |        able.   Because  of  this,  they must always be followed by two or more | ||||||
| @ -285,31 +283,31 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        o if there is a commodity directive specifying the format, that is used |        o if there is a commodity directive specifying the format, that is used | ||||||
| 
 | 
 | ||||||
|        o otherwise  the  format  is  inferred from the first posting amount in |        o otherwise the format is inferred from the  first  posting  amount  in | ||||||
|          that commodity in the journal, and the precision (number  of  decimal |          that  commodity  in the journal, and the precision (number of decimal | ||||||
|          places) will be the maximum from all posting amounts in that commmod- |          places) will be the maximum from all posting amounts in that commmod- | ||||||
|          ity |          ity | ||||||
| 
 | 
 | ||||||
|        o or if there are no such amounts in the journal, a default  format  is |        o or  if  there are no such amounts in the journal, a default format is | ||||||
|          used (like $1000.00). |          used (like $1000.00). | ||||||
| 
 | 
 | ||||||
|        Price  amounts  and amounts in D directives usually don't affect amount |        Price amounts and amounts in D directives usually don't  affect  amount | ||||||
|        format inference, but in some situations they  can  do  so  indirectly. |        format  inference,  but  in  some situations they can do so indirectly. | ||||||
|        (Eg  when  D's default commodity is applied to a commodity-less amount, |        (Eg when D's default commodity is applied to a  commodity-less  amount, | ||||||
|        or when an amountless posting is balanced using a price's commodity, or |        or when an amountless posting is balanced using a price's commodity, or | ||||||
|        when  -V  is  used.) If you find this causing problems, set the desired |        when -V is used.) If you find this causing problems,  set  the  desired | ||||||
|        format with a commodity directive. |        format with a commodity directive. | ||||||
| 
 | 
 | ||||||
|    Virtual Postings |    Virtual Postings | ||||||
|        When you parenthesise the account name in a posting,  we  call  that  a |        When  you  parenthesise  the  account name in a posting, we call that a | ||||||
|        virtual posting, which means: |        virtual posting, which means: | ||||||
| 
 | 
 | ||||||
|        o it is ignored when checking that the transaction is balanced |        o it is ignored when checking that the transaction is balanced | ||||||
| 
 | 
 | ||||||
|        o it  is  excluded from reports when the --real/-R flag is used, or the |        o it is excluded from reports when the --real/-R flag is used,  or  the | ||||||
|          real:1 query. |          real:1 query. | ||||||
| 
 | 
 | ||||||
|        You could use this, eg, to set an  account's  opening  balance  without |        You  could  use  this,  eg, to set an account's opening balance without | ||||||
|        needing to use the equity:opening balances account: |        needing to use the equity:opening balances account: | ||||||
| 
 | 
 | ||||||
|               1/1 special unbalanced posting to set initial balance |               1/1 special unbalanced posting to set initial balance | ||||||
| @ -317,8 +315,8 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        When the account name is bracketed, we call it a balanced virtual post- |        When the account name is bracketed, we call it a balanced virtual post- | ||||||
|        ing.  This is like an ordinary virtual posting except the balanced vir- |        ing.  This is like an ordinary virtual posting except the balanced vir- | ||||||
|        tual  postings  in a transaction must balance to 0, like the real post- |        tual postings in a transaction must balance to 0, like the  real  post- | ||||||
|        ings (but separately from them).  Balanced virtual  postings  are  also |        ings  (but  separately  from them).  Balanced virtual postings are also | ||||||
|        excluded by --real/-R or real:1. |        excluded by --real/-R or real:1. | ||||||
| 
 | 
 | ||||||
|               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere |               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere | ||||||
| @ -328,13 +326,13 @@ FILE FORMAT | |||||||
|                 [assets:checking:budget:food]  $-10 |                 [assets:checking:budget:food]  $-10 | ||||||
| 
 | 
 | ||||||
|        Virtual postings have some legitimate uses, but those are few.  You can |        Virtual postings have some legitimate uses, but those are few.  You can | ||||||
|        usually find an equivalent journal entry using real postings, which  is |        usually  find an equivalent journal entry using real postings, which is | ||||||
|        more correct and provides better error checking. |        more correct and provides better error checking. | ||||||
| 
 | 
 | ||||||
|    Balance Assertions |    Balance Assertions | ||||||
|        hledger  supports  Ledger-style  balance  assertions  in journal files. |        hledger supports Ledger-style  balance  assertions  in  journal  files. | ||||||
|        These look like =EXPECTEDBALANCE following a posting's amount.   Eg  in |        These  look  like =EXPECTEDBALANCE following a posting's amount.  Eg in | ||||||
|        this  example we assert the expected dollar balance in accounts a and b |        this example we assert the expected dollar balance in accounts a and  b | ||||||
|        after each posting: |        after each posting: | ||||||
| 
 | 
 | ||||||
|               2013/1/1 |               2013/1/1 | ||||||
| @ -346,31 +344,31 @@ FILE FORMAT | |||||||
|                 b  $-1  =$-2 |                 b  $-1  =$-2 | ||||||
| 
 | 
 | ||||||
|        After reading a journal file, hledger will check all balance assertions |        After reading a journal file, hledger will check all balance assertions | ||||||
|        and  report  an error if any of them fail.  Balance assertions can pro- |        and report an error if any of them fail.  Balance assertions  can  pro- | ||||||
|        tect you from, eg, inadvertently disrupting reconciled  balances  while |        tect  you  from, eg, inadvertently disrupting reconciled balances while | ||||||
|        cleaning  up  old  entries.   You can disable them temporarily with the |        cleaning up old entries.  You can disable  them  temporarily  with  the | ||||||
|        --ignore-assertions flag, which can be useful  for  troubleshooting  or |        --ignore-assertions  flag,  which  can be useful for troubleshooting or | ||||||
|        for reading Ledger files. |        for reading Ledger files. | ||||||
| 
 | 
 | ||||||
|    Assertions and ordering |    Assertions and ordering | ||||||
|        hledger  sorts  an  account's postings and assertions first by date and |        hledger sorts an account's postings and assertions first  by  date  and | ||||||
|        then (for postings on the same day) by parse order.  Note this is  dif- |        then  (for postings on the same day) by parse order.  Note this is dif- | ||||||
|        ferent from Ledger, which sorts assertions only by parse order.  (Also, |        ferent from Ledger, which sorts assertions only by parse order.  (Also, | ||||||
|        Ledger assertions do not see the accumulated effect of  repeated  post- |        Ledger  assertions  do not see the accumulated effect of repeated post- | ||||||
|        ings to the same account within a transaction.) |        ings to the same account within a transaction.) | ||||||
| 
 | 
 | ||||||
|        So,  hledger  balance  assertions  keep  working if you reorder differ- |        So, hledger balance assertions keep  working  if  you  reorder  differ- | ||||||
|        ently-dated transactions  within  the  journal.   But  if  you  reorder |        ently-dated  transactions  within  the  journal.   But  if  you reorder | ||||||
|        same-dated transactions or postings, assertions might break and require |        same-dated transactions or postings, assertions might break and require | ||||||
|        updating.  This order dependence does bring an advantage: precise  con- |        updating.   This order dependence does bring an advantage: precise con- | ||||||
|        trol over the order of postings and assertions within a day, so you can |        trol over the order of postings and assertions within a day, so you can | ||||||
|        assert intra-day balances. |        assert intra-day balances. | ||||||
| 
 | 
 | ||||||
|    Assertions and included files |    Assertions and included files | ||||||
|        With included files, things are a little more  complicated.   Including |        With  included  files, things are a little more complicated.  Including | ||||||
|        preserves  the ordering of postings and assertions.  If you have multi- |        preserves the ordering of postings and assertions.  If you have  multi- | ||||||
|        ple postings to an account on the  same  day,  split  across  different |        ple  postings  to  an  account  on the same day, split across different | ||||||
|        files,  and  you  also want to assert the account's balance on the same |        files, and you also want to assert the account's balance  on  the  same | ||||||
|        day, you'll have to put the assertion in the right file. |        day, you'll have to put the assertion in the right file. | ||||||
| 
 | 
 | ||||||
|    Assertions and multiple -f options |    Assertions and multiple -f options | ||||||
| @ -378,21 +376,21 @@ FILE FORMAT | |||||||
|        -f options.  Use include or concatenate the files instead. |        -f options.  Use include or concatenate the files instead. | ||||||
| 
 | 
 | ||||||
|    Assertions and commodities |    Assertions and commodities | ||||||
|        The  asserted  balance must be a simple single-commodity amount, and in |        The asserted balance must be a simple single-commodity amount,  and  in | ||||||
|        fact the assertion checks only  this  commodity's  balance  within  the |        fact  the  assertion  checks  only  this commodity's balance within the | ||||||
|        (possibly  multi-commodity) account balance.  We could call this a par- |        (possibly multi-commodity) account balance.  We could call this a  par- | ||||||
|        tial balance assertion.  This is compatible with Ledger, and  makes  it |        tial  balance  assertion.  This is compatible with Ledger, and makes it | ||||||
|        possible to make assertions about accounts containing multiple commodi- |        possible to make assertions about accounts containing multiple commodi- | ||||||
|        ties. |        ties. | ||||||
| 
 | 
 | ||||||
|        To assert each commodity's balance in such a  multi-commodity  account, |        To  assert  each commodity's balance in such a multi-commodity account, | ||||||
|        you  can  add multiple postings (with amount 0 if necessary).  But note |        you can add multiple postings (with amount 0 if necessary).   But  note | ||||||
|        that no matter how many assertions you  add,  you  can't  be  sure  the |        that  no  matter  how  many  assertions  you add, you can't be sure the | ||||||
|        account does not contain some unexpected commodity.  (We'll add support |        account does not contain some unexpected commodity.  (We'll add support | ||||||
|        for this kind of total balance assertion if there's demand.) |        for this kind of total balance assertion if there's demand.) | ||||||
| 
 | 
 | ||||||
|    Assertions and subaccounts |    Assertions and subaccounts | ||||||
|        Balance assertions do not count  the  balance  from  subaccounts;  they |        Balance  assertions  do  not  count  the balance from subaccounts; they | ||||||
|        check the posted account's exclusive balance.  For example: |        check the posted account's exclusive balance.  For example: | ||||||
| 
 | 
 | ||||||
|               1/1 |               1/1 | ||||||
| @ -400,7 +398,7 @@ FILE FORMAT | |||||||
|                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 |                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 | ||||||
|                 equity |                 equity | ||||||
| 
 | 
 | ||||||
|        The  balance  report's  flat  mode  shows these exclusive balances more |        The balance report's flat mode  shows  these  exclusive  balances  more | ||||||
|        clearly: |        clearly: | ||||||
| 
 | 
 | ||||||
|               $ hledger bal checking --flat |               $ hledger bal checking --flat | ||||||
| @ -414,10 +412,10 @@ FILE FORMAT | |||||||
|        tual.  They are not affected by the --real/-R flag or real: query. |        tual.  They are not affected by the --real/-R flag or real: query. | ||||||
| 
 | 
 | ||||||
|    Balance Assignments |    Balance Assignments | ||||||
|        Ledger-style  balance  assignments  are also supported.  These are like |        Ledger-style balance assignments are also supported.   These  are  like | ||||||
|        balance assertions, but with no posting amount on the left side of  the |        balance  assertions, but with no posting amount on the left side of the | ||||||
|        equals  sign;  instead  it is calculated automatically so as to satisfy |        equals sign; instead it is calculated automatically so  as  to  satisfy | ||||||
|        the assertion.  This can be a convenience during data  entry,  eg  when |        the  assertion.   This  can be a convenience during data entry, eg when | ||||||
|        setting opening balances: |        setting opening balances: | ||||||
| 
 | 
 | ||||||
|               ; starting a new journal, set asset account balances |               ; starting a new journal, set asset account balances | ||||||
| @ -435,8 +433,8 @@ FILE FORMAT | |||||||
|                 expenses:misc |                 expenses:misc | ||||||
| 
 | 
 | ||||||
|        The calculated amount depends on the account's balance in the commodity |        The calculated amount depends on the account's balance in the commodity | ||||||
|        at that point (which depends on the previously-dated  postings  of  the |        at  that  point  (which depends on the previously-dated postings of the | ||||||
|        commodity  to  that account since the last balance assertion or assign- |        commodity to that account since the last balance assertion  or  assign- | ||||||
|        ment).  Note that using balance assignments makes your journal a little |        ment).  Note that using balance assignments makes your journal a little | ||||||
|        less explicit; to know the exact amount posted, you have to run hledger |        less explicit; to know the exact amount posted, you have to run hledger | ||||||
|        or do the calculations yourself, instead of just reading it. |        or do the calculations yourself, instead of just reading it. | ||||||
| @ -444,12 +442,12 @@ FILE FORMAT | |||||||
|    Prices |    Prices | ||||||
|    Transaction prices |    Transaction prices | ||||||
|        Within a transaction, you can note an amount's price in another commod- |        Within a transaction, you can note an amount's price in another commod- | ||||||
|        ity.   This can be used to document the cost (in a purchase) or selling |        ity.  This can be used to document the cost (in a purchase) or  selling | ||||||
|        price (in a sale).  For  example,  transaction  prices  are  useful  to |        price  (in  a  sale).   For  example,  transaction prices are useful to | ||||||
|        record purchases of a foreign currency. |        record purchases of a foreign currency. | ||||||
| 
 | 
 | ||||||
|        Transaction  prices  are  fixed,  and do not change over time.  (Ledger |        Transaction prices are fixed, and do not  change  over  time.   (Ledger | ||||||
|        users: Ledger uses a different syntax for fixed  prices,  {=UNITPRICE}, |        users:  Ledger  uses a different syntax for fixed prices, {=UNITPRICE}, | ||||||
|        which hledger currently ignores). |        which hledger currently ignores). | ||||||
| 
 | 
 | ||||||
|        There are several ways to record a transaction price: |        There are several ways to record a transaction price: | ||||||
| @ -473,9 +471,9 @@ FILE FORMAT | |||||||
|                     assets:euros     100          ; one hundred euros purchased |                     assets:euros     100          ; one hundred euros purchased | ||||||
|                     assets:dollars  $-135          ; for $135 |                     assets:dollars  $-135          ; for $135 | ||||||
| 
 | 
 | ||||||
|        Amounts with transaction prices can be  displayed  in  the  transaction |        Amounts  with  transaction  prices  can be displayed in the transaction | ||||||
|        price's commodity by using the -B/--cost flag (except for #551) ("B" is |        price's commodity by using the -B/--cost flag (except for #551) ("B" is | ||||||
|        from "cost Basis").  Eg for the above, here is how -B affects the  bal- |        from  "cost Basis").  Eg for the above, here is how -B affects the bal- | ||||||
|        ance report: |        ance report: | ||||||
| 
 | 
 | ||||||
|               $ hledger bal -N --flat |               $ hledger bal -N --flat | ||||||
| @ -485,8 +483,8 @@ FILE FORMAT | |||||||
|                              $-135  assets:dollars |                              $-135  assets:dollars | ||||||
|                               $135  assets:euros    # <- the euros' cost |                               $135  assets:euros    # <- the euros' cost | ||||||
| 
 | 
 | ||||||
|        Note  -B is sensitive to the order of postings when a transaction price |        Note -B is sensitive to the order of postings when a transaction  price | ||||||
|        is inferred: the inferred price will be in the commodity  of  the  last |        is  inferred:  the  inferred price will be in the commodity of the last | ||||||
|        amount.  So if example 3's postings are reversed, while the transaction |        amount.  So if example 3's postings are reversed, while the transaction | ||||||
|        is equivalent, -B shows something different: |        is equivalent, -B shows something different: | ||||||
| 
 | 
 | ||||||
| @ -499,33 +497,33 @@ FILE FORMAT | |||||||
|                               100  assets:euros |                               100  assets:euros | ||||||
| 
 | 
 | ||||||
|    Market prices |    Market prices | ||||||
|        Market prices are not tied to a particular transaction; they  represent |        Market  prices are not tied to a particular transaction; they represent | ||||||
|        historical  exchange rates between two commodities.  (Ledger calls them |        historical exchange rates between two commodities.  (Ledger calls  them | ||||||
|        historical prices.) For  example,  the  prices  published  by  a  stock |        historical  prices.)  For  example,  the  prices  published  by a stock | ||||||
|        exchange  or the foreign exchange market.  hledger can use these prices |        exchange or the foreign exchange market.  hledger can use these  prices | ||||||
|        to show the market value of things at a given date, see market value. |        to show the market value of things at a given date, see market value. | ||||||
| 
 | 
 | ||||||
|        To record market prices, use P directives in the main journal or in  an |        To  record market prices, use P directives in the main journal or in an | ||||||
|        included file.  Their format is: |        included file.  Their format is: | ||||||
| 
 | 
 | ||||||
|               P DATE COMMODITYBEINGPRICED UNITPRICE |               P DATE COMMODITYBEINGPRICED UNITPRICE | ||||||
| 
 | 
 | ||||||
|        DATE  is a simple date as usual.  COMMODITYBEINGPRICED is the symbol of |        DATE is a simple date as usual.  COMMODITYBEINGPRICED is the symbol  of | ||||||
|        the commodity being priced.  UNITPRICE is an  ordinary  amount  (symbol |        the  commodity  being  priced.  UNITPRICE is an ordinary amount (symbol | ||||||
|        and  quantity) in a second commodity, specifying the unit price or con- |        and quantity) in a second commodity, specifying the unit price or  con- | ||||||
|        version rate for the first commodity in terms of  the  second,  on  the |        version  rate  for  the  first commodity in terms of the second, on the | ||||||
|        given date. |        given date. | ||||||
| 
 | 
 | ||||||
|        For  example, the following directives say that one euro was worth 1.35 |        For example, the following directives say that one euro was worth  1.35 | ||||||
|        US dollars during 2009, and $1.40 from 2010 onward: |        US dollars during 2009, and $1.40 from 2010 onward: | ||||||
| 
 | 
 | ||||||
|               P 2009/1/1  $1.35 |               P 2009/1/1  $1.35 | ||||||
|               P 2010/1/1  $1.40 |               P 2010/1/1  $1.40 | ||||||
| 
 | 
 | ||||||
|    Comments |    Comments | ||||||
|        Lines in the journal beginning with a semicolon  (;)  or  hash  (#)  or |        Lines  in  the  journal  beginning  with a semicolon (;) or hash (#) or | ||||||
|        asterisk  (*)  are  comments,  and will be ignored.  (Asterisk comments |        asterisk (*) are comments, and will  be  ignored.   (Asterisk  comments | ||||||
|        make it easy to treat your journal like an org-mode outline in  emacs.) |        make it easy to treat your journal like an org-mode outline in emacs.) | ||||||
| 
 | 
 | ||||||
|        Also,   anything  between  comment  and  end comment  directives  is  a |        Also,   anything  between  comment  and  end comment  directives  is  a | ||||||
|        (multi-line) comment.  If there is no end comment, the comment  extends |        (multi-line) comment.  If there is no end comment, the comment  extends | ||||||
| @ -625,54 +623,54 @@ FILE FORMAT | |||||||
|        Or, you can use the --alias 'OLD=NEW' option on the command line.  This |        Or, you can use the --alias 'OLD=NEW' option on the command line.  This | ||||||
|        affects all entries.  It's useful for trying out aliases interactively. |        affects all entries.  It's useful for trying out aliases interactively. | ||||||
| 
 | 
 | ||||||
|        OLD  and  NEW  are full account names.  hledger will replace any occur- |        OLD and NEW are full account names.  hledger will  replace  any  occur- | ||||||
|        rence of the old account name with the new one.  Subaccounts  are  also |        rence  of  the old account name with the new one.  Subaccounts are also | ||||||
|        affected.  Eg: |        affected.  Eg: | ||||||
| 
 | 
 | ||||||
|               alias checking = assets:bank:wells fargo:checking |               alias checking = assets:bank:wells fargo:checking | ||||||
|               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" |               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" | ||||||
| 
 | 
 | ||||||
|    Regex aliases |    Regex aliases | ||||||
|        There  is  also a more powerful variant that uses a regular expression, |        There is also a more powerful variant that uses a  regular  expression, | ||||||
|        indicated by the forward slashes: |        indicated by the forward slashes: | ||||||
| 
 | 
 | ||||||
|               alias /REGEX/ = REPLACEMENT |               alias /REGEX/ = REPLACEMENT | ||||||
| 
 | 
 | ||||||
|        or --alias '/REGEX/=REPLACEMENT'. |        or --alias '/REGEX/=REPLACEMENT'. | ||||||
| 
 | 
 | ||||||
|        REGEX is a case-insensitive regular expression.   Anywhere  it  matches |        REGEX  is  a  case-insensitive regular expression.  Anywhere it matches | ||||||
|        inside  an  account name, the matched part will be replaced by REPLACE- |        inside an account name, the matched part will be replaced  by  REPLACE- | ||||||
|        MENT.  If REGEX contains parenthesised match groups, these can be  ref- |        MENT.   If REGEX contains parenthesised match groups, these can be ref- | ||||||
|        erenced by the usual numeric backreferences in REPLACEMENT.  Eg: |        erenced by the usual numeric backreferences in REPLACEMENT.  Eg: | ||||||
| 
 | 
 | ||||||
|               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 |               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 | ||||||
|               # rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking" |               # rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking" | ||||||
| 
 | 
 | ||||||
|        Also  note that REPLACEMENT continues to the end of line (or on command |        Also note that REPLACEMENT continues to the end of line (or on  command | ||||||
|        line, to end of option argument), so it  can  contain  trailing  white- |        line,  to  end  of  option argument), so it can contain trailing white- | ||||||
|        space. |        space. | ||||||
| 
 | 
 | ||||||
|    Multiple aliases |    Multiple aliases | ||||||
|        You  can  define  as  many aliases as you like using directives or com- |        You can define as many aliases as you like  using  directives  or  com- | ||||||
|        mand-line options.  Aliases are recursive - each alias sees the  result |        mand-line  options.  Aliases are recursive - each alias sees the result | ||||||
|        of  applying  previous  ones.   (This  is  different from Ledger, where |        of applying previous ones.   (This  is  different  from  Ledger,  where | ||||||
|        aliases are non-recursive by default).  Aliases are applied in the fol- |        aliases are non-recursive by default).  Aliases are applied in the fol- | ||||||
|        lowing order: |        lowing order: | ||||||
| 
 | 
 | ||||||
|        1. alias  directives,  most recently seen first (recent directives take |        1. alias directives, most recently seen first (recent  directives  take | ||||||
|           precedence over earlier ones; directives not yet seen are ignored) |           precedence over earlier ones; directives not yet seen are ignored) | ||||||
| 
 | 
 | ||||||
|        2. alias options, in the order they appear on the command line |        2. alias options, in the order they appear on the command line | ||||||
| 
 | 
 | ||||||
|    end aliases |    end aliases | ||||||
|        You  can  clear  (forget)  all  currently  defined  aliases  with   the |        You   can  clear  (forget)  all  currently  defined  aliases  with  the | ||||||
|        end aliases directive: |        end aliases directive: | ||||||
| 
 | 
 | ||||||
|               end aliases |               end aliases | ||||||
| 
 | 
 | ||||||
|    account directive |    account directive | ||||||
|        The  account directive predefines account names, as in Ledger and Bean- |        The account directive predefines account names, as in Ledger and  Bean- | ||||||
|        count.  This may be useful for your own documentation; hledger  doesn't |        count.   This may be useful for your own documentation; hledger doesn't | ||||||
|        make use of it yet. |        make use of it yet. | ||||||
| 
 | 
 | ||||||
|               ; account ACCT |               ; account ACCT | ||||||
| @ -687,8 +685,8 @@ FILE FORMAT | |||||||
|               ; etc. |               ; etc. | ||||||
| 
 | 
 | ||||||
|    apply account directive |    apply account directive | ||||||
|        You  can  specify  a  parent  account  which  will  be prepended to all |        You can specify a  parent  account  which  will  be  prepended  to  all | ||||||
|        accounts within a section of the journal.  Use  the  apply account  and |        accounts  within  a  section of the journal.  Use the apply account and | ||||||
|        end apply account directives like so: |        end apply account directives like so: | ||||||
| 
 | 
 | ||||||
|               apply account home |               apply account home | ||||||
| @ -705,7 +703,7 @@ FILE FORMAT | |||||||
|                   home:food           $10 |                   home:food           $10 | ||||||
|                   home:cash          $-10 |                   home:cash          $-10 | ||||||
| 
 | 
 | ||||||
|        If  end apply account  is  omitted,  the effect lasts to the end of the |        If end apply account is omitted, the effect lasts to  the  end  of  the | ||||||
|        file.  Included files are also affected, eg: |        file.  Included files are also affected, eg: | ||||||
| 
 | 
 | ||||||
|               apply account business |               apply account business | ||||||
| @ -714,16 +712,16 @@ FILE FORMAT | |||||||
|               apply account personal |               apply account personal | ||||||
|               include personal.journal |               include personal.journal | ||||||
| 
 | 
 | ||||||
|        Prior to hledger 1.0, legacy account and end spellings were  also  sup- |        Prior  to  hledger 1.0, legacy account and end spellings were also sup- | ||||||
|        ported. |        ported. | ||||||
| 
 | 
 | ||||||
|    Multi-line comments |    Multi-line comments | ||||||
|        A  line containing just comment starts a multi-line comment, and a line |        A line containing just comment starts a multi-line comment, and a  line | ||||||
|        containing just end comment ends it.  See comments. |        containing just end comment ends it.  See comments. | ||||||
| 
 | 
 | ||||||
|    commodity directive |    commodity directive | ||||||
|        The commodity directive predefines commodities (currently this is  just |        The  commodity directive predefines commodities (currently this is just | ||||||
|        informational),  and  also it may define the display format for amounts |        informational), and also it may define the display format  for  amounts | ||||||
|        in this commodity (overriding the automatically inferred format). |        in this commodity (overriding the automatically inferred format). | ||||||
| 
 | 
 | ||||||
|        It may be written on a single line, like this: |        It may be written on a single line, like this: | ||||||
| @ -735,8 +733,8 @@ FILE FORMAT | |||||||
|               ; separating thousands with comma. |               ; separating thousands with comma. | ||||||
|               commodity 1,000.0000 AAAA |               commodity 1,000.0000 AAAA | ||||||
| 
 | 
 | ||||||
|        or on multiple lines, using the "format" subdirective.   In  this  case |        or  on  multiple  lines, using the "format" subdirective.  In this case | ||||||
|        the  commodity  symbol  appears  twice  and  should be the same in both |        the commodity symbol appears twice and  should  be  the  same  in  both | ||||||
|        places: |        places: | ||||||
| 
 | 
 | ||||||
|               ; commodity SYMBOL |               ; commodity SYMBOL | ||||||
| @ -749,10 +747,10 @@ FILE FORMAT | |||||||
|                 format INR 9,99,99,999.00 |                 format INR 9,99,99,999.00 | ||||||
| 
 | 
 | ||||||
|    Default commodity |    Default commodity | ||||||
|        The D directive sets a default commodity (and display  format),  to  be |        The  D  directive  sets a default commodity (and display format), to be | ||||||
|        used for amounts without a commodity symbol (ie, plain numbers).  (Note |        used for amounts without a commodity symbol (ie, plain numbers).  (Note | ||||||
|        this differs from Ledger's default commodity directive.) The  commodity |        this  differs from Ledger's default commodity directive.) The commodity | ||||||
|        and  display  format  will  be applied to all subsequent commodity-less |        and display format will be applied  to  all  subsequent  commodity-less | ||||||
|        amounts, or until the next D directive. |        amounts, or until the next D directive. | ||||||
| 
 | 
 | ||||||
|               # commodity-less amounts should be treated as dollars |               # commodity-less amounts should be treated as dollars | ||||||
| @ -764,8 +762,8 @@ FILE FORMAT | |||||||
|                 b |                 b | ||||||
| 
 | 
 | ||||||
|    Default year |    Default year | ||||||
|        You can set a default year to be used for subsequent dates which  don't |        You  can set a default year to be used for subsequent dates which don't | ||||||
|        specify  a year.  This is a line beginning with Y followed by the year. |        specify a year.  This is a line beginning with Y followed by the  year. | ||||||
|        Eg: |        Eg: | ||||||
| 
 | 
 | ||||||
|               Y2009      ; set default year to 2009 |               Y2009      ; set default year to 2009 | ||||||
| @ -785,27 +783,26 @@ FILE FORMAT | |||||||
|                 assets |                 assets | ||||||
| 
 | 
 | ||||||
|    Including other files |    Including other files | ||||||
|        You can pull in the content of additional journal files by  writing  an |        You  can  pull in the content of additional journal files by writing an | ||||||
|        include directive, like this: |        include directive, like this: | ||||||
| 
 | 
 | ||||||
|               include path/to/file.journal |               include path/to/file.journal | ||||||
| 
 | 
 | ||||||
|        If  the path does not begin with a slash, it is relative to the current |        If the path does not begin with a slash, it is relative to the  current | ||||||
|        file.  Glob patterns (*) are not currently supported. |        file.  Glob patterns (*) are not currently supported. | ||||||
| 
 | 
 | ||||||
|        The include directive can only  be  used  in  journal  files.   It  can |        The  include  directive  can  only  be  used  in journal files.  It can | ||||||
|        include journal, timeclock or timedot files, but not CSV files. |        include journal, timeclock or timedot files, but not CSV files. | ||||||
| 
 | 
 | ||||||
| EDITOR SUPPORT | EDITOR SUPPORT | ||||||
|        Add-on modes exist for various text editors, to make working with jour- |        Add-on modes exist for various text editors, to make working with jour- | ||||||
|        nal files easier.  They add colour, navigation aids  and  helpful  com- |        nal  files  easier.   They add colour, navigation aids and helpful com- | ||||||
|        mands.   For  hledger  users  who  edit  the journal file directly (the |        mands.  For hledger users who  edit  the  journal  file  directly  (the | ||||||
|        majority), using one of these modes is quite recommended. |        majority), using one of these modes is quite recommended. | ||||||
| 
 | 
 | ||||||
|        These were written with Ledger in mind,  but  also  work  with  hledger |        These  were  written  with  Ledger  in mind, but also work with hledger | ||||||
|        files: |        files: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        Emacs              http://www.ledger-cli.org/3.0/doc/ledger-mode.html |        Emacs              http://www.ledger-cli.org/3.0/doc/ledger-mode.html | ||||||
|        Vim                https://github.com/ledger/ledger/wiki/Get- |        Vim                https://github.com/ledger/ledger/wiki/Get- | ||||||
|                           ting-started |                           ting-started | ||||||
| @ -815,15 +812,13 @@ EDITOR SUPPORT | |||||||
|                           Mate-2 |                           Mate-2 | ||||||
|        Text Wrangler      https://github.com/ledger/ledger/wiki/Edit- |        Text Wrangler      https://github.com/ledger/ledger/wiki/Edit- | ||||||
|                           ing-Ledger-files-with-TextWrangler |                           ing-Ledger-files-with-TextWrangler | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|        Visual    Studio   https://marketplace.visualstudio.com/items?item- |        Visual    Studio   https://marketplace.visualstudio.com/items?item- | ||||||
|        Code               Name=mark-hansen.hledger-vscode |        Code               Name=mark-hansen.hledger-vscode | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -837,7 +832,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger_timeclock.5.info, produced by makeinfo version 6.0 from | This is hledger_timeclock.5.info, produced by makeinfo version 6.1 from | ||||||
| stdin. | stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | |||||||
| @ -7,11 +7,11 @@ NAME | |||||||
|        Timeclock - the time logging format of timeclock.el, as read by hledger |        Timeclock - the time logging format of timeclock.el, as read by hledger | ||||||
| 
 | 
 | ||||||
| DESCRIPTION | DESCRIPTION | ||||||
|        hledger can read timeclock files.  As with Ledger, these are (a  subset |        hledger  can read timeclock files.  As with Ledger, these are (a subset | ||||||
|        of) timeclock.el's format, containing clock-in and clock-out entries as |        of) timeclock.el's format, containing clock-in and clock-out entries as | ||||||
|        in the example below.  The date is a simple date.  The time  format  is |        in  the  example below.  The date is a simple date.  The time format is | ||||||
|        HH:MM[:SS][+-ZZZZ].   Seconds and timezone are optional.  The timezone, |        HH:MM[:SS][+-ZZZZ].  Seconds and timezone are optional.  The  timezone, | ||||||
|        if present, must be four digits and is ignored (currently the  time  is |        if  present,  must be four digits and is ignored (currently the time is | ||||||
|        always interpreted as a local time). |        always interpreted as a local time). | ||||||
| 
 | 
 | ||||||
|               i 2015/03/30 09:00:00 some:account name  optional description after two spaces |               i 2015/03/30 09:00:00 some:account name  optional description after two spaces | ||||||
| @ -19,9 +19,9 @@ DESCRIPTION | |||||||
|               i 2015/03/31 22:21:45 another account |               i 2015/03/31 22:21:45 another account | ||||||
|               o 2015/04/01 02:00:34 |               o 2015/04/01 02:00:34 | ||||||
| 
 | 
 | ||||||
|        hledger  treats  each  clock-in/clock-out pair as a transaction posting |        hledger treats each clock-in/clock-out pair as  a  transaction  posting | ||||||
|        some number of hours to an account.  Or if the session spans more  than |        some  number of hours to an account.  Or if the session spans more than | ||||||
|        one  day, it is split into several transactions, one for each day.  For |        one day, it is split into several transactions, one for each day.   For | ||||||
|        the above time log, hledger print generates these journal entries: |        the above time log, hledger print generates these journal entries: | ||||||
| 
 | 
 | ||||||
|               $ hledger -f t.timeclock print |               $ hledger -f t.timeclock print | ||||||
| @ -42,7 +42,7 @@ DESCRIPTION | |||||||
| 
 | 
 | ||||||
|        To generate time logs, ie to clock in and clock out, you could: |        To generate time logs, ie to clock in and clock out, you could: | ||||||
| 
 | 
 | ||||||
|        o use emacs and  the  built-in  timeclock.el,  or  the  extended  time- |        o use  emacs  and  the  built-in  timeclock.el,  or  the extended time- | ||||||
|          clock-x.el and perhaps the extras in ledgerutils.el |          clock-x.el and perhaps the extras in ledgerutils.el | ||||||
| 
 | 
 | ||||||
|        o at the command line, use these bash aliases: |        o at the command line, use these bash aliases: | ||||||
| @ -51,13 +51,13 @@ DESCRIPTION | |||||||
|                 alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" |                 alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG" | ||||||
| 
 | 
 | ||||||
|        o or use the old ti and to scripts in the ledger 2.x repository.  These |        o or use the old ti and to scripts in the ledger 2.x repository.  These | ||||||
|          rely on a "timeclock" executable which I think is just the  ledger  2 |          rely  on  a "timeclock" executable which I think is just the ledger 2 | ||||||
|          executable renamed. |          executable renamed. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -71,7 +71,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger_timedot.5.info, produced by makeinfo version 6.0 from | This is hledger_timedot.5.info, produced by makeinfo version 6.1 from | ||||||
| stdin. | stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger-ui.1.info, produced by makeinfo version 6.0 from stdin. | This is hledger-ui.1.info, produced by makeinfo version 6.1 from stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-ui.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | File: hledger-ui.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger-web.1.info, produced by makeinfo version 6.0 from stdin. | This is hledger-web.1.info, produced by makeinfo version 6.1 from stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger-web.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | File: hledger-web.1.info,  Node: Top,  Next: OPTIONS,  Up: (dir) | ||||||
|  | |||||||
| @ -57,22 +57,22 @@ DESCRIPTION | |||||||
|        With --file-url you can set a different base url for static  files,  eg |        With --file-url you can set a different base url for static  files,  eg | ||||||
|        for better caching or cookie-less serving on high performance websites. |        for better caching or cookie-less serving on high performance websites. | ||||||
| 
 | 
 | ||||||
|        Note there is no built-in  access  control  (aside  from  listening  on |        Note  there  is  no  built-in  access  control (aside from listening on | ||||||
|        127.0.0.1  by default).  So you will need to hide hledger-web behind an |        127.0.0.1 by default).  So you will need to hide hledger-web behind  an | ||||||
|        authenticating proxy (such as apache or nginx) if you want to  restrict |        authenticating  proxy (such as apache or nginx) if you want to restrict | ||||||
|        who can see and add entries to your journal. |        who can see and add entries to your journal. | ||||||
| 
 | 
 | ||||||
|        Command-line options and arguments may be used to set an initial filter |        Command-line options and arguments may be used to set an initial filter | ||||||
|        on the data.  This is not shown in the web UI, but it will  be  applied |        on  the  data.  This is not shown in the web UI, but it will be applied | ||||||
|        in addition to any search query entered there. |        in addition to any search query entered there. | ||||||
| 
 | 
 | ||||||
|        With journal and timeclock files (but not CSV files, currently) the web |        With journal and timeclock files (but not CSV files, currently) the web | ||||||
|        app detects changes made by other means and will show the new  data  on |        app  detects  changes made by other means and will show the new data on | ||||||
|        the  next request.  If a change makes the file unparseable, hledger-web |        the next request.  If a change makes the file unparseable,  hledger-web | ||||||
|        will show an error until the file has been fixed. |        will show an error until the file has been fixed. | ||||||
| 
 | 
 | ||||||
| OPTIONS | OPTIONS | ||||||
|        Note: if invoking hledger-web as a hledger subcommand, write --  before |        Note:  if invoking hledger-web as a hledger subcommand, write -- before | ||||||
|        options as shown above. |        options as shown above. | ||||||
| 
 | 
 | ||||||
|        --serve |        --serve | ||||||
| @ -85,14 +85,14 @@ OPTIONS | |||||||
|               listen on this TCP port (default: 5000) |               listen on this TCP port (default: 5000) | ||||||
| 
 | 
 | ||||||
|        --base-url=URL |        --base-url=URL | ||||||
|               set  the  base  url  (default:  http://IPADDR:PORT).   You would |               set the  base  url  (default:  http://IPADDR:PORT).   You  would | ||||||
|               change this when sharing over the network, or integrating within |               change this when sharing over the network, or integrating within | ||||||
|               a larger website. |               a larger website. | ||||||
| 
 | 
 | ||||||
|        --file-url=URL |        --file-url=URL | ||||||
|               set the static files url (default: BASEURL/static).  hledger-web |               set the static files url (default: BASEURL/static).  hledger-web | ||||||
|               normally serves static files itself, but if you wanted to  serve |               normally  serves static files itself, but if you wanted to serve | ||||||
|               them  from  another server for efficiency, you would set the url |               them from another server for efficiency, you would set  the  url | ||||||
|               with this. |               with this. | ||||||
| 
 | 
 | ||||||
|        hledger input options: |        hledger input options: | ||||||
| @ -102,7 +102,7 @@ OPTIONS | |||||||
|               $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: |               Conversion  rules  file  to  use  when  reading  CSV   (default: | ||||||
|               FILE.rules) |               FILE.rules) | ||||||
| 
 | 
 | ||||||
|        --alias=OLD=NEW |        --alias=OLD=NEW | ||||||
| @ -140,11 +140,11 @@ OPTIONS | |||||||
|               multiperiod/multicolumn report by year |               multiperiod/multicolumn report by year | ||||||
| 
 | 
 | ||||||
|        -p --period=PERIODEXP |        -p --period=PERIODEXP | ||||||
|               set start date, end date, and/or reporting interval all at  once |               set  start date, end date, and/or reporting interval all at once | ||||||
|               (overrides the flags above) |               (overrides the flags above) | ||||||
| 
 | 
 | ||||||
|        --date2 |        --date2 | ||||||
|               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 | ||||||
| @ -166,11 +166,11 @@ OPTIONS | |||||||
|               show items with zero amount, normally hidden |               show items with zero amount, normally hidden | ||||||
| 
 | 
 | ||||||
|        -B --cost |        -B --cost | ||||||
|               convert amounts to their cost at  transaction  time  (using  the |               convert  amounts  to  their  cost at transaction time (using the | ||||||
|               transaction price, if any) |               transaction price, if any) | ||||||
| 
 | 
 | ||||||
|        -V --value |        -V --value | ||||||
|               convert  amounts  to  their  market value on the report end date |               convert amounts to their market value on  the  report  end  date | ||||||
|               (using the most recent applicable market price, if any) |               (using the most recent applicable market price, if any) | ||||||
| 
 | 
 | ||||||
|        When a reporting option appears more than once in the command line, the |        When a reporting option appears more than once in the command line, the | ||||||
| @ -190,22 +190,22 @@ OPTIONS | |||||||
|               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 should |        A @FILE argument will be expanded to the contents of FILE, which should | ||||||
|        contain one command line option/argument per line.  (To  prevent  this, |        contain  one  command line option/argument per line.  (To prevent this, | ||||||
|        insert a -- argument before.) |        insert a -- argument before.) | ||||||
| 
 | 
 | ||||||
| ENVIRONMENT | ENVIRONMENT | ||||||
|        LEDGER_FILE The journal file path when not specified with -f.  Default: |        LEDGER_FILE The journal file path when not specified with -f.  Default: | ||||||
|        ~/.hledger.journal (on  windows,  perhaps  C:/Users/USER/.hledger.jour- |        ~/.hledger.journal  (on  windows,  perhaps C:/Users/USER/.hledger.jour- | ||||||
|        nal). |        nal). | ||||||
| 
 | 
 | ||||||
| FILES | FILES | ||||||
|        Reads  data from one or more files in hledger journal, timeclock, time- |        Reads data from one or more files in hledger journal, timeclock,  time- | ||||||
|        dot,  or  CSV  format  specified   with   -f,   or   $LEDGER_FILE,   or |        dot,   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). | ||||||
| 
 | 
 | ||||||
| BUGS | BUGS | ||||||
|        The need to precede options with -- when invoked from hledger  is  awk- |        The  need  to precede options with -- when invoked from hledger is awk- | ||||||
|        ward. |        ward. | ||||||
| 
 | 
 | ||||||
|        -f- doesn't work (hledger-web can't read from stdin). |        -f- doesn't work (hledger-web can't read from stdin). | ||||||
| @ -219,7 +219,7 @@ BUGS | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -233,7 +233,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -319,12 +319,14 @@ Or, you can run the addon executable directly: | |||||||
| .PP | .PP | ||||||
| Most hledger commands accept arguments after the command name, which are | Most hledger commands accept arguments after the command name, which are | ||||||
| often a query, filtering the data in some way. | often a query, filtering the data in some way. | ||||||
| .SS Argument expansion | .SS Argument files | ||||||
| .PP | .PP | ||||||
| You can save a set of command line options/arguments in a file, one per | You can save a set of command line options/arguments in a file, one per | ||||||
| line, and then reuse them by writing \f[C]\@FILE\f[] in a command line. | line, and then reuse them by writing \f[C]\@FILENAME\f[] in a command | ||||||
| (To prevent this expansion of \f[C]\@\f[]\-arguments, precede them with | line. | ||||||
| a \f[C]\-\-\f[] argument.) | To prevent this expansion of \f[C]\@\f[]\-arguments, precede them with a | ||||||
|  | \f[C]\-\-\f[] argument. | ||||||
|  | For more, see Save frequently used options. | ||||||
| .SS Special characters | .SS Special characters | ||||||
| .PP | .PP | ||||||
| Option and argument values which contain problematic characters should | Option and argument values which contain problematic characters should | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| This is hledger.1.info, produced by makeinfo version 6.0 from stdin. | This is hledger.1.info, produced by makeinfo version 6.1 from stdin. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: Top,  Next: EXAMPLES,  Up: (dir) | File: hledger.1.info,  Node: Top,  Next: EXAMPLES,  Up: (dir) | ||||||
| @ -118,7 +118,7 @@ File: hledger.1.info,  Node: OPTIONS,  Next: QUERIES,  Prev: EXAMPLES,  Up: Top | |||||||
| * General options:: | * General options:: | ||||||
| * Command options:: | * Command options:: | ||||||
| * Command arguments:: | * Command arguments:: | ||||||
| * Argument expansion:: | * Argument files:: | ||||||
| * Special characters:: | * Special characters:: | ||||||
| * Input files:: | * Input files:: | ||||||
| * Smart dates:: | * Smart dates:: | ||||||
| @ -254,7 +254,7 @@ options after a double-hyphen, eg: 'hledger ui -- --watch'.  Or, you can | |||||||
| run the addon executable directly: 'hledger-ui --watch'. | run the addon executable directly: 'hledger-ui --watch'. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: Command arguments,  Next: Argument expansion,  Prev: Command options,  Up: OPTIONS | File: hledger.1.info,  Node: Command arguments,  Next: Argument files,  Prev: Command options,  Up: OPTIONS | ||||||
| 
 | 
 | ||||||
| 2.3 Command arguments | 2.3 Command arguments | ||||||
| ===================== | ===================== | ||||||
| @ -263,18 +263,18 @@ Most hledger commands accept arguments after the command name, which are | |||||||
| often a query, filtering the data in some way. | often a query, filtering the data in some way. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: Argument expansion,  Next: Special characters,  Prev: Command arguments,  Up: OPTIONS | File: hledger.1.info,  Node: Argument files,  Next: Special characters,  Prev: Command arguments,  Up: OPTIONS | ||||||
| 
 | 
 | ||||||
| 2.4 Argument expansion | 2.4 Argument files | ||||||
| ====================== | ================== | ||||||
| 
 | 
 | ||||||
| You can save a set of command line options/arguments in a file, one per | You can save a set of command line options/arguments in a file, one per | ||||||
| line, and then reuse them by writing '@FILE' in a command line.  (To | line, and then reuse them by writing '@FILENAME' in a command line.  To | ||||||
| prevent this expansion of '@'-arguments, precede them with a '--' | prevent this expansion of '@'-arguments, precede them with a '--' | ||||||
| argument.) | argument.  For more, see Save frequently used options. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| File: hledger.1.info,  Node: Special characters,  Next: Input files,  Prev: Argument expansion,  Up: OPTIONS | File: hledger.1.info,  Node: Special characters,  Next: Input files,  Prev: Argument files,  Up: OPTIONS | ||||||
| 
 | 
 | ||||||
| 2.5 Special characters | 2.5 Special characters | ||||||
| ====================== | ====================== | ||||||
| @ -2222,129 +2222,129 @@ Node: EXAMPLES1886 | |||||||
| Ref: #examples1988 | Ref: #examples1988 | ||||||
| Node: OPTIONS3634 | Node: OPTIONS3634 | ||||||
| Ref: #options3738 | Ref: #options3738 | ||||||
| Node: General options4042 | Node: General options4038 | ||||||
| Ref: #general-options4169 | Ref: #general-options4165 | ||||||
| Node: Command options6488 | Node: Command options6484 | ||||||
| Ref: #command-options6641 | Ref: #command-options6637 | ||||||
| Node: Command arguments7039 | Node: Command arguments7035 | ||||||
| Ref: #command-arguments7199 | Ref: #command-arguments7191 | ||||||
| Node: Argument expansion7320 | Node: Argument files7312 | ||||||
| Ref: #argument-expansion7485 | Ref: #argument-files7465 | ||||||
| Node: Special characters7704 | Node: Special characters7731 | ||||||
| Ref: #special-characters7863 | Ref: #special-characters7886 | ||||||
| Node: Input files9282 | Node: Input files9305 | ||||||
| Ref: #input-files9420 | Ref: #input-files9443 | ||||||
| Node: Smart dates11383 | Node: Smart dates11406 | ||||||
| Ref: #smart-dates11526 | Ref: #smart-dates11549 | ||||||
| Node: Report start & end date12505 | Node: Report start & end date12528 | ||||||
| Ref: #report-start-end-date12677 | Ref: #report-start-end-date12700 | ||||||
| Node: Report intervals13743 | Node: Report intervals13766 | ||||||
| Ref: #report-intervals13908 | Ref: #report-intervals13931 | ||||||
| Node: Period expressions14309 | Node: Period expressions14332 | ||||||
| Ref: #period-expressions14471 | Ref: #period-expressions14494 | ||||||
| Node: Depth limiting16811 | Node: Depth limiting16834 | ||||||
| Ref: #depth-limiting16957 | Ref: #depth-limiting16980 | ||||||
| Node: Pivoting17299 | Node: Pivoting17322 | ||||||
| Ref: #pivoting17419 | Ref: #pivoting17442 | ||||||
| Node: Cost19095 | Node: Cost19118 | ||||||
| Ref: #cost19205 | Ref: #cost19228 | ||||||
| Node: Market value19323 | Node: Market value19346 | ||||||
| Ref: #market-value19460 | Ref: #market-value19483 | ||||||
| Node: Regular expressions20760 | Node: Regular expressions20783 | ||||||
| Ref: #regular-expressions20898 | Ref: #regular-expressions20921 | ||||||
| Node: QUERIES22259 | Node: QUERIES22282 | ||||||
| Ref: #queries22363 | Ref: #queries22386 | ||||||
| Node: COMMANDS26330 | Node: COMMANDS26353 | ||||||
| Ref: #commands26444 | Ref: #commands26467 | ||||||
| Node: accounts27427 | Node: accounts27450 | ||||||
| Ref: #accounts27527 | Ref: #accounts27550 | ||||||
| Node: activity28520 | Node: activity28543 | ||||||
| Ref: #activity28632 | Ref: #activity28655 | ||||||
| Node: add28991 | Node: add29014 | ||||||
| Ref: #add29092 | Ref: #add29115 | ||||||
| Node: balance31750 | Node: balance31773 | ||||||
| Ref: #balance31863 | Ref: #balance31886 | ||||||
| Node: Flat mode35020 | Node: Flat mode35043 | ||||||
| Ref: #flat-mode35147 | Ref: #flat-mode35170 | ||||||
| Node: Depth limited balance reports35567 | Node: Depth limited balance reports35590 | ||||||
| Ref: #depth-limited-balance-reports35770 | Ref: #depth-limited-balance-reports35793 | ||||||
| Node: Multicolumn balance reports36190 | Node: Multicolumn balance reports36213 | ||||||
| Ref: #multicolumn-balance-reports36401 | Ref: #multicolumn-balance-reports36424 | ||||||
| Node: Custom balance output41049 | Node: Custom balance output41072 | ||||||
| Ref: #custom-balance-output41233 | Ref: #custom-balance-output41256 | ||||||
| Node: Colour support43326 | Node: Colour support43349 | ||||||
| Ref: #colour-support43487 | Ref: #colour-support43510 | ||||||
| Node: Output destination43660 | Node: Output destination43683 | ||||||
| Ref: #output-destination43818 | Ref: #output-destination43841 | ||||||
| Node: CSV output44088 | Node: CSV output44111 | ||||||
| Ref: #csv-output44207 | Ref: #csv-output44230 | ||||||
| Node: balancesheet44604 | Node: balancesheet44627 | ||||||
| Ref: #balancesheet44742 | Ref: #balancesheet44765 | ||||||
| Node: balancesheetequity46710 | Node: balancesheetequity46733 | ||||||
| Ref: #balancesheetequity46861 | Ref: #balancesheetequity46884 | ||||||
| Node: cashflow47650 | Node: cashflow47673 | ||||||
| Ref: #cashflow47780 | Ref: #cashflow47803 | ||||||
| Node: check-dates49692 | Node: check-dates49715 | ||||||
| Ref: #check-dates49821 | Ref: #check-dates49844 | ||||||
| Node: check-dupes49938 | Node: check-dupes49961 | ||||||
| Ref: #check-dupes50065 | Ref: #check-dupes50088 | ||||||
| Node: equity50202 | Node: equity50225 | ||||||
| Ref: #equity50314 | Ref: #equity50337 | ||||||
| Node: help50477 | Node: help50500 | ||||||
| Ref: #help50580 | Ref: #help50603 | ||||||
| Node: import51654 | Node: import51677 | ||||||
| Ref: #import51770 | Ref: #import51793 | ||||||
| Node: incomestatement52500 | Node: incomestatement52523 | ||||||
| Ref: #incomestatement52636 | Ref: #incomestatement52659 | ||||||
| Node: prices54589 | Node: prices54612 | ||||||
| Ref: #prices54706 | Ref: #prices54729 | ||||||
| Node: print54749 | Node: print54772 | ||||||
| Ref: #print54861 | Ref: #print54884 | ||||||
| Node: print-unique59707 | Node: print-unique59730 | ||||||
| Ref: #print-unique59835 | Ref: #print-unique59858 | ||||||
| Node: register59903 | Node: register59926 | ||||||
| Ref: #register60032 | Ref: #register60055 | ||||||
| Node: Custom register output64533 | Node: Custom register output64556 | ||||||
| Ref: #custom-register-output64664 | Ref: #custom-register-output64687 | ||||||
| Node: register-match65961 | Node: register-match65984 | ||||||
| Ref: #register-match66097 | Ref: #register-match66120 | ||||||
| Node: rewrite66280 | Node: rewrite66303 | ||||||
| Ref: #rewrite66399 | Ref: #rewrite66422 | ||||||
| Node: stats66468 | Node: stats66491 | ||||||
| Ref: #stats66573 | Ref: #stats66596 | ||||||
| Node: tags67454 | Node: tags67477 | ||||||
| Ref: #tags67554 | Ref: #tags67577 | ||||||
| Node: test67790 | Node: test67813 | ||||||
| Ref: #test67876 | Ref: #test67899 | ||||||
| Node: ADD-ON COMMANDS68244 | Node: ADD-ON COMMANDS68267 | ||||||
| Ref: #add-on-commands68356 | Ref: #add-on-commands68379 | ||||||
| Node: Official add-ons69643 | Node: Official add-ons69666 | ||||||
| Ref: #official-add-ons69785 | Ref: #official-add-ons69808 | ||||||
| Node: api69872 | Node: api69895 | ||||||
| Ref: #api69963 | Ref: #api69986 | ||||||
| Node: ui70015 | Node: ui70038 | ||||||
| Ref: #ui70116 | Ref: #ui70139 | ||||||
| Node: web70174 | Node: web70197 | ||||||
| Ref: #web70265 | Ref: #web70288 | ||||||
| Node: Third party add-ons70311 | Node: Third party add-ons70334 | ||||||
| Ref: #third-party-add-ons70488 | Ref: #third-party-add-ons70511 | ||||||
| Node: diff70623 | Node: diff70646 | ||||||
| Ref: #diff70722 | Ref: #diff70745 | ||||||
| Node: iadd70821 | Node: iadd70844 | ||||||
| Ref: #iadd70937 | Ref: #iadd70960 | ||||||
| Node: interest71020 | Node: interest71043 | ||||||
| Ref: #interest71143 | Ref: #interest71166 | ||||||
| Node: irr71238 | Node: irr71261 | ||||||
| Ref: #irr71338 | Ref: #irr71361 | ||||||
| Node: Experimental add-ons71416 | Node: Experimental add-ons71439 | ||||||
| Ref: #experimental-add-ons71570 | Ref: #experimental-add-ons71593 | ||||||
| Node: autosync71861 | Node: autosync71884 | ||||||
| Ref: #autosync71975 | Ref: #autosync71998 | ||||||
| Node: budget72214 | Node: budget72237 | ||||||
| Ref: #budget72338 | Ref: #budget72361 | ||||||
| Node: chart72404 | Node: chart72427 | ||||||
| Ref: #chart72523 | Ref: #chart72546 | ||||||
| Node: check72594 | Node: check72617 | ||||||
| Ref: #check72698 | Ref: #check72721 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -222,33 +222,34 @@ OPTIONS | |||||||
|        Most hledger commands accept arguments after the  command  name,  which |        Most hledger commands accept arguments after the  command  name,  which | ||||||
|        are often a query, filtering the data in some way. |        are often a query, filtering the data in some way. | ||||||
| 
 | 
 | ||||||
|    Argument expansion |    Argument files | ||||||
|        You can save a set of command line options/arguments in a file, one per |        You can save a set of command line options/arguments in a file, one per | ||||||
|        line, and then reuse them by writing @FILE in a command line.  (To pre- |        line, and then reuse them by writing @FILENAME in a command  line.   To | ||||||
|        vent this expansion of @-arguments, precede them with a -- argument.) |        prevent this expansion of @-arguments, precede them with a -- argument. | ||||||
|  |        For more, see Save frequently used options. | ||||||
| 
 | 
 | ||||||
|    Special characters |    Special characters | ||||||
|        Option  and argument values which contain problematic characters should |        Option and argument values which contain problematic characters  should | ||||||
|        be escaped with double quotes, backslashes, or  (best)  single  quotes. |        be  escaped  with  double quotes, backslashes, or (best) single quotes. | ||||||
|        Problematic characters means spaces, and also characters which are sig- |        Problematic characters means spaces, and also characters which are sig- | ||||||
|        nificant to your command shell, such  as  less-than/greater-than.   Eg: |        nificant  to  your  command shell, such as less-than/greater-than.  Eg: | ||||||
|        hledger register -p 'last year' "accounts receivable (receiv- |        hledger register -p 'last year' "accounts receivable (receiv- | ||||||
|        able|payable)" amt:\>100. |        able|payable)" amt:\>100. | ||||||
| 
 | 
 | ||||||
|        Characters which are significant both  to  the  shell  and  in  regular |        Characters  which  are  significant  both  to  the shell and in regular | ||||||
|        expressions  sometimes need to be double-escaped.  These include paren- |        expressions sometimes need to be double-escaped.  These include  paren- | ||||||
|        theses, the pipe symbol and the dollar sign.  Eg, to match  the  dollar |        theses,  the  pipe symbol and the dollar sign.  Eg, to match the dollar | ||||||
|        symbol,  bash users should do: hledger balance cur:'\$' or hledger bal- |        symbol, bash users should do: hledger balance cur:'\$' or  hledger bal- | ||||||
|        ance cur:\\$. |        ance cur:\\$. | ||||||
| 
 | 
 | ||||||
|        When hledger is invoking an addon executable (like hledger-ui), options |        When hledger is invoking an addon executable (like hledger-ui), options | ||||||
|        and arguments get de-escaped once more, so you might need triple-escap- |        and arguments get de-escaped once more, so you might need triple-escap- | ||||||
|        ing.  Eg: hledger ui cur:'\\$' or hledger ui cur:\\\\$ in  bash.   (The |        ing.   Eg:  hledger ui cur:'\\$' or hledger ui cur:\\\\$ in bash.  (The | ||||||
|        number  of  backslashes  in  fish  shell is left as an exercise for the |        number of backslashes in fish shell is left  as  an  exercise  for  the | ||||||
|        reader.) |        reader.) | ||||||
| 
 | 
 | ||||||
|        Inside a file used for argument expansion, one less level  of  escaping |        Inside  a  file used for argument expansion, one less level of escaping | ||||||
|        is  enough.   (And  in  this case, backslashes seem to work better than |        is enough.  (And in this case, backslashes seem  to  work  better  than | ||||||
|        quotes.  Eg: cur:\$). |        quotes.  Eg: cur:\$). | ||||||
| 
 | 
 | ||||||
|        If in doubt, keep things simple: |        If in doubt, keep things simple: | ||||||
| @ -266,7 +267,7 @@ OPTIONS | |||||||
|    Input files |    Input files | ||||||
|        hledger reads transactions from a data file (and the add command writes |        hledger reads transactions from a data file (and the add command writes | ||||||
|        to it).  By default this file is $HOME/.hledger.journal (or on Windows, |        to it).  By default this file is $HOME/.hledger.journal (or on Windows, | ||||||
|        something like C:/Users/USER/.hledger.journal).  You can override  this |        something  like C:/Users/USER/.hledger.journal).  You can override this | ||||||
|        with the $LEDGER_FILE environment variable: |        with the $LEDGER_FILE environment variable: | ||||||
| 
 | 
 | ||||||
|               $ setenv LEDGER_FILE ~/finance/2016.journal |               $ setenv LEDGER_FILE ~/finance/2016.journal | ||||||
| @ -280,25 +281,24 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|               $ cat some.journal | hledger -f- |               $ cat some.journal | hledger -f- | ||||||
| 
 | 
 | ||||||
|        Usually  the  data file is in hledger's journal format, but it can also |        Usually the data file is in hledger's journal format, but it  can  also | ||||||
|        be one of several other formats, listed  below.   hledger  detects  the |        be  one  of  several  other formats, listed below.  hledger detects the | ||||||
|        format  automatically  based  on  the file extension, or if that is not |        format automatically based on the file extension, or  if  that  is  not | ||||||
|        recognised, by trying each built-in "reader" in turn: |        recognised, by trying each built-in "reader" in turn: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        Reader:       Reads:                              Used for file extensions: |        Reader:       Reads:                              Used for file extensions: | ||||||
|        ----------------------------------------------------------------------------- |        ----------------------------------------------------------------------------- | ||||||
|        journal       hledger's  journal  format,  also   .journal    .j    .hledger |        journal       hledger's  journal  format,  also   .journal    .j    .hledger | ||||||
|                      some Ledger journals                .ledger |                      some Ledger journals                .ledger | ||||||
|        timeclock     timeclock  files  (precise   time   .timeclock |        timeclock     timeclock   files  (precise  time   .timeclock | ||||||
|                      logging) |                      logging) | ||||||
|        timedot       timedot  files  (approximate time   .timedot |        timedot       timedot files  (approximate  time   .timedot | ||||||
|                      logging) |                      logging) | ||||||
|        csv           comma-separated   values    (data   .csv |        csv           comma-separated    values   (data   .csv | ||||||
|                      interchange) |                      interchange) | ||||||
| 
 | 
 | ||||||
|        If  needed  (eg  to  ensure  correct error messages when a file has the |        If needed (eg to ensure correct error messages  when  a  file  has  the | ||||||
|        "wrong" extension), you can force a specific reader/format by  prepend- |        "wrong"  extension), you can force a specific reader/format by prepend- | ||||||
|        ing it to the file path with a colon.  Examples: |        ing it to the file path with a colon.  Examples: | ||||||
| 
 | 
 | ||||||
|               $ hledger -f csv:/some/csv-file.dat stats |               $ hledger -f csv:/some/csv-file.dat stats | ||||||
| @ -309,7 +309,7 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        o directives in one file will not affect the other files |        o directives in one file will not affect the other files | ||||||
| 
 | 
 | ||||||
|        o balance assertions will not see any account  balances  from  previous |        o balance  assertions  will  not see any account balances from previous | ||||||
|          files |          files | ||||||
| 
 | 
 | ||||||
|        If you need those, either use the include directive, or concatenate the |        If you need those, either use the include directive, or concatenate the | ||||||
| @ -317,24 +317,23 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|    Smart dates |    Smart dates | ||||||
|        hledger's user interfaces accept a flexible "smart date" syntax (unlike |        hledger's user interfaces accept a flexible "smart date" syntax (unlike | ||||||
|        dates  in the journal file).  Smart dates allow some english words, can |        dates in the journal file).  Smart dates allow some english words,  can | ||||||
|        be relative to today's date, and can have less-significant  date  parts |        be  relative  to today's date, and can have less-significant date parts | ||||||
|        omitted (defaulting to 1). |        omitted (defaulting to 1). | ||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        2009/1/1,      2009/01/01,   simple dates, several sep- |        2009/1/1,      2009/01/01,   simple dates, several sep- | ||||||
|        2009-1-1, 2009.1.1           arators allowed |        2009-1-1, 2009.1.1           arators allowed | ||||||
|        2009/1, 2009                 same  as above - a missing |        2009/1, 2009                 same as above - a  missing | ||||||
|                                     day or month defaults to 1 |                                     day or month defaults to 1 | ||||||
|        1/1,     january,     jan,   relative  dates,   meaning |        1/1,     january,     jan,   relative  dates,   meaning | ||||||
|        this year                    january  1  of the current |        this year                    january  1  of the current | ||||||
|                                     year |                                     year | ||||||
|  | 
 | ||||||
|        next year                    january 1 of next year |        next year                    january 1 of next year | ||||||
|        this month                   the  1st  of  the  current |        this month                   the  1st  of  the  current | ||||||
|                                     month |                                     month | ||||||
| 
 |  | ||||||
|        this week                    the most recent monday |        this week                    the most recent monday | ||||||
|        last week                    the  monday  of  the  week |        last week                    the  monday  of  the  week | ||||||
|                                     before this one |                                     before this one | ||||||
| @ -342,29 +341,28 @@ OPTIONS | |||||||
|        today, yesterday, tomorrow |        today, yesterday, tomorrow | ||||||
| 
 | 
 | ||||||
|    Report start & end date |    Report start & end date | ||||||
|        Most  hledger  reports  show  the  full span of time represented by the |        Most hledger reports show the full span  of  time  represented  by  the | ||||||
|        journal data, by default.  So, the effective report start and end dates |        journal data, by default.  So, the effective report start and end dates | ||||||
|        will  be  the earliest and latest transaction or posting dates found in |        will be the earliest and latest transaction or posting dates  found  in | ||||||
|        the journal. |        the journal. | ||||||
| 
 | 
 | ||||||
|        Often you will want to see a shorter time span,  such  as  the  current |        Often  you  will  want  to see a shorter time span, such as the current | ||||||
|        month.   You  can  specify  a  start  and/or end date using -b/--begin, |        month.  You can specify a  start  and/or  end  date  using  -b/--begin, | ||||||
|        -e/--end, -p/--period or a date: query (described below).  All of these |        -e/--end, -p/--period or a date: query (described below).  All of these | ||||||
|        accept  the smart date syntax.  One important thing to be aware of when |        accept the smart date syntax.  One important thing to be aware of  when | ||||||
|        specifying end dates: as in Ledger, end dates  are  exclusive,  so  you |        specifying  end  dates:  as  in Ledger, end dates are exclusive, so you | ||||||
|        need to write the date after the last day you want to include. |        need to write the date after the last day you want to include. | ||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -b 2016/3/17      begin  on  St.   Patrick's |        -b 2016/3/17      begin  on  St.   Patrick's | ||||||
|                          day 2016 |                          day 2016 | ||||||
|        -e 12/1           end at the start of decem- |        -e 12/1           end at the start of decem- | ||||||
|                          ber  1st  of  the  current |                          ber  1st  of  the  current | ||||||
|                          year (11/30  will  be  the |                          year  (11/30  will  be the | ||||||
|                          last date included) |                          last date included) | ||||||
|        -b thismonth      all   transactions  on  or |        -b thismonth      all  transactions  on   or | ||||||
|                          after the 1st of the  cur- |                          after  the 1st of the cur- | ||||||
|                          rent month |                          rent month | ||||||
|        -p thismonth      all  transactions  in  the |        -p thismonth      all  transactions  in  the | ||||||
|                          current month |                          current month | ||||||
| @ -376,15 +374,15 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|    Report intervals |    Report intervals | ||||||
|        A report interval can be specified so that commands like register, bal- |        A report interval can be specified so that commands like register, bal- | ||||||
|        ance and activity will divide their reports into  multiple  subperiods. |        ance  and  activity will divide their reports into multiple subperiods. | ||||||
|        The   basic   intervals   can  be  selected  with  one  of  -D/--daily, |        The  basic  intervals  can  be  selected  with   one   of   -D/--daily, | ||||||
|        -W/--weekly, -M/--monthly, -Q/--quarterly, or -Y/--yearly.   More  com- |        -W/--weekly,  -M/--monthly,  -Q/--quarterly, or -Y/--yearly.  More com- | ||||||
|        plex  intervals  may  be  specified  with  a period expression.  Report |        plex intervals may be  specified  with  a  period  expression.   Report | ||||||
|        intervals can not be specified with a query, currently. |        intervals can not be specified with a query, currently. | ||||||
| 
 | 
 | ||||||
|    Period expressions |    Period expressions | ||||||
|        The -p/--period option accepts period expressions, a shorthand  way  of |        The  -p/--period  option accepts period expressions, a shorthand way of | ||||||
|        expressing  a start date, end date, and/or report interval all at once. |        expressing a start date, end date, and/or report interval all at once. | ||||||
| 
 | 
 | ||||||
|        Here's a basic period expression specifying the first quarter of  2009. |        Here's a basic period expression specifying the first quarter of  2009. | ||||||
|        Note,  hledger  always treats start dates as inclusive and end dates as |        Note,  hledger  always treats start dates as inclusive and end dates as | ||||||
| @ -396,7 +394,6 @@ OPTIONS | |||||||
|        long  as you don't run two dates together.  "to" can also be written as |        long  as you don't run two dates together.  "to" can also be written as | ||||||
|        "-".  These are equivalent to the above: |        "-".  These are equivalent to the above: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "2009/1/1 2009/4/1" |        -p "2009/1/1 2009/4/1" | ||||||
|        -p2009/1/1to2009/4/1 |        -p2009/1/1to2009/4/1 | ||||||
|        -p2009/1/1-2009/4/1 |        -p2009/1/1-2009/4/1 | ||||||
| @ -404,7 +401,6 @@ OPTIONS | |||||||
|        Dates are smart dates, so if the current year is 2009,  the  above  can |        Dates are smart dates, so if the current year is 2009,  the  above  can | ||||||
|        also be written as: |        also be written as: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "1/1 4/1" |        -p "1/1 4/1" | ||||||
|        -p "january-apr" |        -p "january-apr" | ||||||
|        -p "this year to 4/1" |        -p "this year to 4/1" | ||||||
| @ -412,7 +408,6 @@ OPTIONS | |||||||
|        If you specify only one date, the missing start or end date will be the |        If you specify only one date, the missing start or end date will be the | ||||||
|        earliest or latest transaction in your journal: |        earliest or latest transaction in your journal: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "from 2009/1/1"   everything  after  january |        -p "from 2009/1/1"   everything  after  january | ||||||
|                             1, 2009 |                             1, 2009 | ||||||
|        -p "from 2009/1"     the same |        -p "from 2009/1"     the same | ||||||
| @ -423,7 +418,6 @@ OPTIONS | |||||||
|        A single date with no "from" or "to" defines both  the  start  and  end |        A single date with no "from" or "to" defines both  the  start  and  end | ||||||
|        date like so: |        date like so: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "2009"       the  year 2009; equivalent |        -p "2009"       the  year 2009; equivalent | ||||||
|                        to "2009/1/1 to 2010/1/1" |                        to "2009/1/1 to 2010/1/1" | ||||||
|        -p "2009/1"     the month of jan;  equiva- |        -p "2009/1"     the month of jan;  equiva- | ||||||
| @ -438,7 +432,6 @@ OPTIONS | |||||||
|        -Y flags.  Between report interval and start/end dates  (if  any),  the |        -Y flags.  Between report interval and start/end dates  (if  any),  the | ||||||
|        word in is optional.  Examples: |        word in is optional.  Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "weekly from 2009/1/1 to 2009/4/1" |        -p "weekly from 2009/1/1 to 2009/4/1" | ||||||
|        -p "monthly in 2008" |        -p "monthly in 2008" | ||||||
|        -p "quarterly" |        -p "quarterly" | ||||||
| @ -449,7 +442,6 @@ OPTIONS | |||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        -p "bimonthly from 2008" |        -p "bimonthly from 2008" | ||||||
|        -p "every 2 weeks" |        -p "every 2 weeks" | ||||||
|        -p "every 5 days from 1/3" |        -p "every 5 days from 1/3" | ||||||
| @ -565,7 +557,7 @@ OPTIONS | |||||||
|               $ hledger -f t.j bal euros -V -e 2016/12/21 |               $ hledger -f t.j bal euros -V -e 2016/12/21 | ||||||
|                            $103.00  assets:euros |                            $103.00  assets:euros | ||||||
| 
 | 
 | ||||||
|        Currently,  hledger's -V only uses market prices recorded with P direc- |        Currently, hledger's -V only uses market prices recorded with P  direc- | ||||||
|        tives, not transaction prices (unlike Ledger). |        tives, not transaction prices (unlike Ledger). | ||||||
| 
 | 
 | ||||||
|        Using -B and -V together is allowed. |        Using -B and -V together is allowed. | ||||||
| @ -573,56 +565,56 @@ OPTIONS | |||||||
|    Regular expressions |    Regular expressions | ||||||
|        hledger uses regular expressions in a number of places: |        hledger uses regular expressions in a number of places: | ||||||
| 
 | 
 | ||||||
|        o query terms, on the command line and in the hledger-web search  form: |        o query  terms, on the command line and in the hledger-web search form: | ||||||
|          REGEX, desc:REGEX, cur:REGEX, tag:...=REGEX |          REGEX, desc:REGEX, cur:REGEX, tag:...=REGEX | ||||||
| 
 | 
 | ||||||
|        o CSV rules conditional blocks: if REGEX ... |        o CSV rules conditional blocks: if REGEX ... | ||||||
| 
 | 
 | ||||||
|        o account  alias  directives  and options: alias /REGEX/ = REPLACEMENT, |        o account alias directives  and  options:  alias /REGEX/ = REPLACEMENT, | ||||||
|          --alias /REGEX/=REPLACEMENT |          --alias /REGEX/=REPLACEMENT | ||||||
| 
 | 
 | ||||||
|        hledger's regular expressions come from  the  regex-tdfa  library.   In |        hledger's  regular  expressions  come  from the regex-tdfa library.  In | ||||||
|        general they: |        general they: | ||||||
| 
 | 
 | ||||||
|        o are case insensitive |        o are case insensitive | ||||||
| 
 | 
 | ||||||
|        o are  infix  matching  (do  not  need  to match the entire thing being |        o are infix matching (do not need  to  match  the  entire  thing  being | ||||||
|          matched) |          matched) | ||||||
| 
 | 
 | ||||||
|        o are POSIX extended regular expressions |        o are POSIX extended regular expressions | ||||||
| 
 | 
 | ||||||
|        o also support GNU word boundaries (\<, \>, \b, \B) |        o also support GNU word boundaries (\<, \>, \b, \B) | ||||||
| 
 | 
 | ||||||
|        o and parenthesised capturing  groups  and  numeric  backreferences  in |        o and  parenthesised  capturing  groups  and  numeric backreferences in | ||||||
|          replacement strings |          replacement strings | ||||||
| 
 | 
 | ||||||
|        o do not support mode modifiers like (?s) |        o do not support mode modifiers like (?s) | ||||||
| 
 | 
 | ||||||
|        Some things to note: |        Some things to note: | ||||||
| 
 | 
 | ||||||
|        o In  the  alias directive and --alias option, regular expressions must |        o In the alias directive and --alias option, regular  expressions  must | ||||||
|          be enclosed in forward  slashes  (/REGEX/).   Elsewhere  in  hledger, |          be  enclosed  in  forward  slashes  (/REGEX/).  Elsewhere in hledger, | ||||||
|          these are not required. |          these are not required. | ||||||
| 
 | 
 | ||||||
|        o In  queries,  to match a regular expression metacharacter like $ as a |        o In queries, to match a regular expression metacharacter like $  as  a | ||||||
|          literal character, prepend a backslash.  Eg  to  search  for  amounts |          literal  character,  prepend  a  backslash.  Eg to search for amounts | ||||||
|          with the dollar sign in hledger-web, write cur:\$. |          with the dollar sign in hledger-web, write cur:\$. | ||||||
| 
 | 
 | ||||||
|        o On  the command line, some metacharacters like $ have a special mean- |        o On the command line, some metacharacters like $ have a special  mean- | ||||||
|          ing to the shell and so must be escaped at least once more.  See Spe- |          ing to the shell and so must be escaped at least once more.  See Spe- | ||||||
|          cial characters. |          cial characters. | ||||||
| 
 | 
 | ||||||
| QUERIES | QUERIES | ||||||
|        One  of  hledger's strengths is being able to quickly report on precise |        One of hledger's strengths is being able to quickly report  on  precise | ||||||
|        subsets of your data.  Most commands accept an optional  query  expres- |        subsets  of  your data.  Most commands accept an optional query expres- | ||||||
|        sion,  written  as arguments after the command name, to filter the data |        sion, written as arguments after the command name, to filter  the  data | ||||||
|        by date, account name or other criteria.  The syntax is  similar  to  a |        by  date,  account  name or other criteria.  The syntax is similar to a | ||||||
|        web search: one or more space-separated search terms, quotes to enclose |        web search: one or more space-separated search terms, quotes to enclose | ||||||
|        whitespace, prefixes to match specific fields, a not: prefix to  negate |        whitespace,  prefixes to match specific fields, a not: prefix to negate | ||||||
|        the match. |        the match. | ||||||
| 
 | 
 | ||||||
|        We  do  not yet support arbitrary boolean combinations of search terms; |        We do not yet support arbitrary boolean combinations of  search  terms; | ||||||
|        instead most commands show transactions/postings/accounts  which  match |        instead  most  commands show transactions/postings/accounts which match | ||||||
|        (or negatively match): |        (or negatively match): | ||||||
| 
 | 
 | ||||||
|        o any of the description terms AND |        o any of the description terms AND | ||||||
| @ -643,32 +635,32 @@ QUERIES | |||||||
| 
 | 
 | ||||||
|        o match all the other terms. |        o match all the other terms. | ||||||
| 
 | 
 | ||||||
|        The  following  kinds  of search terms can be used.  Remember these can |        The following kinds of search terms can be used.   Remember  these  can | ||||||
|        also be prefixed with not:, eg to exclude a particular subaccount. |        also be prefixed with not:, eg to exclude a particular subaccount. | ||||||
| 
 | 
 | ||||||
|        REGEX  match account names by this regular expression.  (No  prefix  is |        REGEX  match  account  names by this regular expression.  (No prefix is | ||||||
|               equivalent to acct:). |               equivalent to acct:). | ||||||
| 
 | 
 | ||||||
|        acct:REGEX |        acct:REGEX | ||||||
|               same as above |               same as above | ||||||
| 
 | 
 | ||||||
|        amt:N, amt:<N, amt:<=N, amt:>N, amt:>=N |        amt:N, amt:<N, amt:<=N, amt:>N, amt:>=N | ||||||
|               match  postings with a single-commodity amount that is equal to, |               match postings with a single-commodity amount that is equal  to, | ||||||
|               less than, or greater than N.  (Multi-commodity amounts are  not |               less  than, or greater than N.  (Multi-commodity amounts are not | ||||||
|               tested, and will always match.) The comparison has two modes: if |               tested, and will always match.) The comparison has two modes: if | ||||||
|               N is preceded by a + or - sign (or is 0), the two signed numbers |               N is preceded by a + or - sign (or is 0), the two signed numbers | ||||||
|               are  compared.  Otherwise, the absolute magnitudes are compared, |               are compared.  Otherwise, the absolute magnitudes are  compared, | ||||||
|               ignoring sign. |               ignoring sign. | ||||||
| 
 | 
 | ||||||
|        code:REGEX |        code:REGEX | ||||||
|               match by transaction code (eg check number) |               match by transaction code (eg check number) | ||||||
| 
 | 
 | ||||||
|        cur:REGEX |        cur:REGEX | ||||||
|               match postings or transactions including any amounts whose  cur- |               match  postings or transactions including any amounts whose cur- | ||||||
|               rency/commodity  symbol  is fully matched by REGEX.  (For a par- |               rency/commodity symbol is fully matched by REGEX.  (For  a  par- | ||||||
|               tial match, use .*REGEX.*).  Note, to match characters which are |               tial match, use .*REGEX.*).  Note, to match characters which are | ||||||
|               regex-significant, like the dollar sign ($), you need to prepend |               regex-significant, like the dollar sign ($), you need to prepend | ||||||
|               \.  And when using the command line you need  to  add  one  more |               \.   And  when  using  the command line you need to add one more | ||||||
|               level  of  quoting  to  hide  it  from  the  shell,  so  eg  do: |               level  of  quoting  to  hide  it  from  the  shell,  so  eg  do: | ||||||
|               hledger print cur:'\$' or hledger print cur:\\$. |               hledger print cur:'\$' or hledger print cur:\\$. | ||||||
| 
 | 
 | ||||||
| @ -677,20 +669,20 @@ QUERIES | |||||||
| 
 | 
 | ||||||
|        date:PERIODEXPR |        date:PERIODEXPR | ||||||
|               match dates within the specified period.  PERIODEXPR is a period |               match dates within the specified period.  PERIODEXPR is a period | ||||||
|               expression  (with  no  report  interval).   Examples: date:2016, |               expression (with  no  report  interval).   Examples:  date:2016, | ||||||
|               date:thismonth,  date:2000/2/1-2/15,  date:lastweek-.   If   the |               date:thismonth,   date:2000/2/1-2/15,  date:lastweek-.   If  the | ||||||
|               --date2  command  line  flag  is present, this matches secondary |               --date2 command line flag is  present,  this  matches  secondary | ||||||
|               dates instead. |               dates instead. | ||||||
| 
 | 
 | ||||||
|        date2:PERIODEXPR |        date2:PERIODEXPR | ||||||
|               match secondary dates within the specified period. |               match secondary dates within the specified period. | ||||||
| 
 | 
 | ||||||
|        depth:N |        depth:N | ||||||
|               match (or display, depending on command) accounts  at  or  above |               match  (or  display,  depending on command) accounts at or above | ||||||
|               this depth |               this depth | ||||||
| 
 | 
 | ||||||
|        note:REGEX |        note:REGEX | ||||||
|               match  transaction  notes  (part  of  description right of |, or |               match transaction notes (part of  description  right  of  |,  or | ||||||
|               whole description when there's no |) |               whole description when there's no |) | ||||||
| 
 | 
 | ||||||
|        payee:REGEX |        payee:REGEX | ||||||
| @ -704,38 +696,38 @@ QUERIES | |||||||
|               match unmarked, pending, or cleared transactions respectively |               match unmarked, pending, or cleared transactions respectively | ||||||
| 
 | 
 | ||||||
|        tag:REGEX[=REGEX] |        tag:REGEX[=REGEX] | ||||||
|               match  by  tag  name,  and optionally also by tag value.  Note a |               match by tag name, and optionally also by  tag  value.   Note  a | ||||||
|               tag: query is considered to match a transaction  if  it  matches |               tag:  query  is  considered to match a transaction if it matches | ||||||
|               any  of  the  postings.  Also remember that postings inherit the |               any of the postings.  Also remember that  postings  inherit  the | ||||||
|               tags of their parent transaction. |               tags of their parent transaction. | ||||||
| 
 | 
 | ||||||
|        The following special search term is used automatically in hledger-web, |        The following special search term is used automatically in hledger-web, | ||||||
|        only: |        only: | ||||||
| 
 | 
 | ||||||
|        inacct:ACCTNAME |        inacct:ACCTNAME | ||||||
|               tells  hledger-web  to  show  the  transaction register for this |               tells hledger-web to show  the  transaction  register  for  this | ||||||
|               account.  Can be filtered further with acct etc. |               account.  Can be filtered further with acct etc. | ||||||
| 
 | 
 | ||||||
|        Some of these can also be expressed as command-line options (eg depth:2 |        Some of these can also be expressed as command-line options (eg depth:2 | ||||||
|        is  equivalent  to --depth 2).  Generally you can mix options and query |        is equivalent to --depth 2).  Generally you can mix options  and  query | ||||||
|        arguments, and the resulting query will be their intersection  (perhaps |        arguments,  and the resulting query will be their intersection (perhaps | ||||||
|        excluding the -p/--period option). |        excluding the -p/--period option). | ||||||
| 
 | 
 | ||||||
| COMMANDS | COMMANDS | ||||||
|        hledger  provides  a  number  of subcommands; hledger with no arguments |        hledger provides a number of subcommands;  hledger  with  no  arguments | ||||||
|        shows a list. |        shows a list. | ||||||
| 
 | 
 | ||||||
|        If you install additional hledger-* packages, or if you put programs or |        If you install additional hledger-* packages, or if you put programs or | ||||||
|        scripts  named  hledger-NAME in your PATH, these will also be listed as |        scripts named hledger-NAME in your PATH, these will also be  listed  as | ||||||
|        subcommands. |        subcommands. | ||||||
| 
 | 
 | ||||||
|        Run  a  subcommand  by  writing  its  name  as   first   argument   (eg |        Run   a   subcommand   by  writing  its  name  as  first  argument  (eg | ||||||
|        hledger incomestatement).  You can also write one of the standard short |        hledger incomestatement).  You can also write one of the standard short | ||||||
|        aliases displayed in parentheses in the command  list  (hledger b),  or |        aliases  displayed  in  parentheses in the command list (hledger b), or | ||||||
|        any any unambiguous prefix of a command name (hledger inc). |        any any unambiguous prefix of a command name (hledger inc). | ||||||
| 
 | 
 | ||||||
|        Here  are  all  the  builtin  commands in alphabetical order.  See also |        Here are all the builtin commands  in  alphabetical  order.   See  also | ||||||
|        hledger for a more  organised  command  list,  and  hledger CMD -h  for |        hledger  for  a  more  organised  command  list, and hledger CMD -h for | ||||||
|        detailed command help. |        detailed command help. | ||||||
| 
 | 
 | ||||||
|    accounts |    accounts | ||||||
| @ -748,14 +740,14 @@ COMMANDS | |||||||
|        --drop=N |        --drop=N | ||||||
|               in flat mode: omit N leading account name parts |               in flat mode: omit N leading account name parts | ||||||
| 
 | 
 | ||||||
|        This  command  lists  all  account  names  that are in use (ie, all the |        This command lists all account names that  are  in  use  (ie,  all  the | ||||||
|        accounts which have at least one transaction posting  to  them).   With |        accounts  which  have  at least one transaction posting to them).  With | ||||||
|        query arguments, only matched account names are shown. |        query arguments, only matched account names are shown. | ||||||
| 
 | 
 | ||||||
|        It  shows  a flat list by default.  With --tree, it uses indentation to |        It shows a flat list by default.  With --tree, it uses  indentation  to | ||||||
|        show the account hierarchy. |        show the account hierarchy. | ||||||
| 
 | 
 | ||||||
|        In flat mode you can add --drop N to omit the first  few  account  name |        In  flat  mode  you can add --drop N to omit the first few account name | ||||||
|        components. |        components. | ||||||
| 
 | 
 | ||||||
|        Examples: |        Examples: | ||||||
| @ -798,8 +790,8 @@ COMMANDS | |||||||
|    activity |    activity | ||||||
|        Show an ascii barchart of posting counts per interval. |        Show an ascii barchart of posting counts per interval. | ||||||
| 
 | 
 | ||||||
|        The  activity  command  displays an ascii histogram showing transaction |        The activity command displays an ascii  histogram  showing  transaction | ||||||
|        counts by day, week, month or other reporting interval (by day  is  the |        counts  by  day, week, month or other reporting interval (by day is the | ||||||
|        default).  With query arguments, it counts only matched transactions. |        default).  With query arguments, it counts only matched transactions. | ||||||
| 
 | 
 | ||||||
|               $ hledger activity --quarterly |               $ hledger activity --quarterly | ||||||
| @ -812,24 +804,24 @@ COMMANDS | |||||||
|        Prompt for transactions and add them to the journal. |        Prompt for transactions and add them to the journal. | ||||||
| 
 | 
 | ||||||
|        --no-new-accounts |        --no-new-accounts | ||||||
|               don't  allow  creating  new  accounts;  helps prevent typos when |               don't allow creating new  accounts;  helps  prevent  typos  when | ||||||
|               entering account names |               entering account names | ||||||
| 
 | 
 | ||||||
|        Many hledger users edit their journals directly with a text editor,  or |        Many  hledger users edit their journals directly with a text editor, or | ||||||
|        generate  them from CSV.  For more interactive data entry, there is the |        generate them from CSV.  For more interactive data entry, there is  the | ||||||
|        add command, which prompts interactively on the console for new  trans- |        add  command, which prompts interactively on the console for new trans- | ||||||
|        actions,  and  appends  them to the journal file (if there are multiple |        actions, and appends them to the journal file (if  there  are  multiple | ||||||
|        -f FILE options, the first file is used.) Existing transactions are not |        -f FILE options, the first file is used.) Existing transactions are not | ||||||
|        changed.   This  is the only hledger command that writes to the journal |        changed.  This is the only hledger command that writes to  the  journal | ||||||
|        file. |        file. | ||||||
| 
 | 
 | ||||||
|        To use it, just run hledger add and follow the prompts.  You can add as |        To use it, just run hledger add and follow the prompts.  You can add as | ||||||
|        many  transactions as you like; when you are finished, enter . or press |        many transactions as you like; when you are finished, enter . or  press | ||||||
|        control-d or control-c to exit. |        control-d or control-c to exit. | ||||||
| 
 | 
 | ||||||
|        Features: |        Features: | ||||||
| 
 | 
 | ||||||
|        o add tries to provide useful defaults, using the most  similar  recent |        o add  tries  to provide useful defaults, using the most similar recent | ||||||
|          transaction (by description) as a template. |          transaction (by description) as a template. | ||||||
| 
 | 
 | ||||||
|        o You can also set the initial defaults with command line arguments. |        o You can also set the initial defaults with command line arguments. | ||||||
| @ -837,20 +829,20 @@ COMMANDS | |||||||
|        o Readline-style edit keys can be used during data entry. |        o Readline-style edit keys can be used during data entry. | ||||||
| 
 | 
 | ||||||
|        o The tab key will auto-complete whenever possible - accounts, descrip- |        o The tab key will auto-complete whenever possible - accounts, descrip- | ||||||
|          tions, dates (yesterday, today, tomorrow).   If  the  input  area  is |          tions,  dates  (yesterday,  today,  tomorrow).   If the input area is | ||||||
|          empty, it will insert the default value. |          empty, it will insert the default value. | ||||||
| 
 | 
 | ||||||
|        o If  the  journal defines a default commodity, it will be added to any |        o If the journal defines a default commodity, it will be added  to  any | ||||||
|          bare numbers entered. |          bare numbers entered. | ||||||
| 
 | 
 | ||||||
|        o A parenthesised transaction code may be entered following a date. |        o A parenthesised transaction code may be entered following a date. | ||||||
| 
 | 
 | ||||||
|        o Comments and tags may be entered following a description or amount. |        o Comments and tags may be entered following a description or amount. | ||||||
| 
 | 
 | ||||||
|        o If you make a mistake, enter < at any prompt to restart the  transac- |        o If  you make a mistake, enter < at any prompt to restart the transac- | ||||||
|          tion. |          tion. | ||||||
| 
 | 
 | ||||||
|        o Input  prompts  are displayed in a different colour when the terminal |        o Input prompts are displayed in a different colour when  the  terminal | ||||||
|          supports it. |          supports it. | ||||||
| 
 | 
 | ||||||
|        Example (see the tutorial for a detailed explanation): |        Example (see the tutorial for a detailed explanation): | ||||||
| @ -887,7 +879,7 @@ COMMANDS | |||||||
|               show balance change in each period (default) |               show balance change in each period (default) | ||||||
| 
 | 
 | ||||||
|        --cumulative |        --cumulative | ||||||
|               show balance change accumulated across periods  (in  multicolumn |               show  balance  change accumulated across periods (in multicolumn | ||||||
|               reports) |               reports) | ||||||
| 
 | 
 | ||||||
|        -H --historical |        -H --historical | ||||||
| @ -922,17 +914,17 @@ COMMANDS | |||||||
|               select the output format.  Supported formats: txt, csv. |               select the output format.  Supported formats: txt, csv. | ||||||
| 
 | 
 | ||||||
|        -o FILE --output-file=FILE |        -o FILE --output-file=FILE | ||||||
|               write output to FILE.  A file  extension  matching  one  of  the |               write  output  to  FILE.   A  file extension matching one of the | ||||||
|               above formats selects that format. |               above formats selects that format. | ||||||
| 
 | 
 | ||||||
|        --pretty-tables |        --pretty-tables | ||||||
|               Use unicode to display prettier tables. |               Use unicode to display prettier tables. | ||||||
| 
 | 
 | ||||||
|        --sort-amount |        --sort-amount | ||||||
|               Sort  by amount (total row amount, or by average if that is dis- |               Sort by amount (total row amount, or by average if that is  dis- | ||||||
|               played), instead of account name (in flat mode) |               played), instead of account name (in flat mode) | ||||||
| 
 | 
 | ||||||
|        The balance command displays accounts and balances.   It  is  hledger's |        The  balance  command  displays accounts and balances.  It is hledger's | ||||||
|        most featureful and versatile command. |        most featureful and versatile command. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance |               $ hledger balance | ||||||
| @ -949,25 +941,25 @@ COMMANDS | |||||||
|               -------------------- |               -------------------- | ||||||
|                                  0 |                                  0 | ||||||
| 
 | 
 | ||||||
|        More  precisely, the balance command shows the change to each account's |        More precisely, the balance command shows the change to each  account's | ||||||
|        balance caused by all (matched) postings.  In the common case where you |        balance caused by all (matched) postings.  In the common case where you | ||||||
|        do  not  filter  by date and your journal sets the correct opening bal- |        do not filter by date and your journal sets the  correct  opening  bal- | ||||||
|        ances, this is the same as the account's ending balance. |        ances, this is the same as the account's ending balance. | ||||||
| 
 | 
 | ||||||
|        By default, accounts are  displayed  hierarchically,  with  subaccounts |        By  default,  accounts  are  displayed hierarchically, with subaccounts | ||||||
|        indented below their parent.  "Boring" accounts, which contain a single |        indented below their parent.  "Boring" accounts, which contain a single | ||||||
|        interesting subaccount and no balance of their own, are elided into the |        interesting subaccount and no balance of their own, are elided into the | ||||||
|        following  line  for  more  compact output.  (Use --no-elide to prevent |        following line for more compact output.   (Use  --no-elide  to  prevent | ||||||
|        this.  Eliding of boring accounts is not yet supported  in  multicolumn |        this.   Eliding  of boring accounts is not yet supported in multicolumn | ||||||
|        reports.) |        reports.) | ||||||
| 
 | 
 | ||||||
|        Each  account's  balance  is  the "inclusive" balance - it includes the |        Each account's balance is the "inclusive" balance  -  it  includes  the | ||||||
|        balances of any subaccounts. |        balances of any subaccounts. | ||||||
| 
 | 
 | ||||||
|        Accounts which have zero balance  (and  no  non-zero  subaccounts)  are |        Accounts  which  have  zero  balance  (and no non-zero subaccounts) are | ||||||
|        omitted.  Use -E/--empty to show them. |        omitted.  Use -E/--empty to show them. | ||||||
| 
 | 
 | ||||||
|        A  final  total  is displayed by default; use -N/--no-total to suppress |        A final total is displayed by default; use  -N/--no-total  to  suppress | ||||||
|        it: |        it: | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -p 2008/6 expenses --no-total |               $ hledger balance -p 2008/6 expenses --no-total | ||||||
| @ -977,9 +969,9 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|    Flat mode |    Flat mode | ||||||
|        To see a flat list of full account names instead of the default hierar- |        To see a flat list of full account names instead of the default hierar- | ||||||
|        chical   display,   use   --flat.    In  this  mode,  accounts  (unless |        chical  display,  use  --flat.   In   this   mode,   accounts   (unless | ||||||
|        depth-clipped) show their "exclusive" balance, excluding any subaccount |        depth-clipped) show their "exclusive" balance, excluding any subaccount | ||||||
|        balances.   In  this  mode, you can also use --drop N to omit the first |        balances.  In this mode, you can also use --drop N to  omit  the  first | ||||||
|        few account name components. |        few account name components. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -p 2008/6 expenses -N --flat --drop 1 |               $ hledger balance -p 2008/6 expenses -N --flat --drop 1 | ||||||
| @ -987,9 +979,9 @@ COMMANDS | |||||||
|                                 $1  supplies |                                 $1  supplies | ||||||
| 
 | 
 | ||||||
|    Depth limited balance reports |    Depth limited balance reports | ||||||
|        With --depth N, balance shows accounts only  to  the  specified  depth. |        With  --depth N,  balance  shows  accounts only to the specified depth. | ||||||
|        This  is  very  useful  to  show  a  complex charts of accounts in less |        This is very useful to show  a  complex  charts  of  accounts  in  less | ||||||
|        detail.  In flat mode, balances from accounts  below  the  depth  limit |        detail.   In  flat  mode,  balances from accounts below the depth limit | ||||||
|        will be shown as part of a parent account at the depth limit. |        will be shown as part of a parent account at the depth limit. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -N --depth 1 |               $ hledger balance -N --depth 1 | ||||||
| @ -999,12 +991,12 @@ COMMANDS | |||||||
|                                 $1  liabilities |                                 $1  liabilities | ||||||
| 
 | 
 | ||||||
|    Multicolumn balance reports |    Multicolumn balance reports | ||||||
|        With  a reporting interval, multiple balance columns will be shown, one |        With a reporting interval, multiple balance columns will be shown,  one | ||||||
|        for each report period.  There are three types of multi-column  balance |        for  each report period.  There are three types of multi-column balance | ||||||
|        report, showing different information: |        report, showing different information: | ||||||
| 
 | 
 | ||||||
|        1. By default: each column shows the sum of postings in that period, ie |        1. By default: each column shows the sum of postings in that period, ie | ||||||
|           the account's change of balance in that period.  This is  useful  eg |           the  account's  change of balance in that period.  This is useful eg | ||||||
|           for a monthly income statement: |           for a monthly income statement: | ||||||
| 
 | 
 | ||||||
|                   $ hledger balance --quarterly income expenses -E |                   $ hledger balance --quarterly income expenses -E | ||||||
| @ -1019,8 +1011,8 @@ COMMANDS | |||||||
|                   -------------------++--------------------------------- |                   -------------------++--------------------------------- | ||||||
|                                      ||     $-1      $1       0       0 |                                      ||     $-1      $1       0       0 | ||||||
| 
 | 
 | ||||||
|        2. With  --cumulative:  each  column  shows the ending balance for that |        2. With --cumulative: each column shows the  ending  balance  for  that | ||||||
|           period, accumulating the changes across periods, starting from 0  at |           period,  accumulating the changes across periods, starting from 0 at | ||||||
|           the report start date: |           the report start date: | ||||||
| 
 | 
 | ||||||
|                   $ hledger balance --quarterly income expenses -E --cumulative |                   $ hledger balance --quarterly income expenses -E --cumulative | ||||||
| @ -1036,8 +1028,8 @@ COMMANDS | |||||||
|                                      ||         $-1           0           0           0 |                                      ||         $-1           0           0           0 | ||||||
| 
 | 
 | ||||||
|        3. With --historical/-H: each column shows the actual historical ending |        3. With --historical/-H: each column shows the actual historical ending | ||||||
|           balance for that period, accumulating the  changes  across  periods, |           balance  for  that  period, accumulating the changes across periods, | ||||||
|           starting  from the actual balance at the report start date.  This is |           starting from the actual balance at the report start date.  This  is | ||||||
|           useful eg for a multi-period balance sheet, and when you are showing |           useful eg for a multi-period balance sheet, and when you are showing | ||||||
|           only the data after a certain start date: |           only the data after a certain start date: | ||||||
| 
 | 
 | ||||||
| @ -1053,26 +1045,26 @@ COMMANDS | |||||||
|                   ----------------------++------------------------------------- |                   ----------------------++------------------------------------- | ||||||
|                                         ||           0           0           0 |                                         ||           0           0           0 | ||||||
| 
 | 
 | ||||||
|        Multi-column  balance reports display accounts in flat mode by default; |        Multi-column balance reports display accounts in flat mode by  default; | ||||||
|        to see the hierarchy, use --tree. |        to see the hierarchy, use --tree. | ||||||
| 
 | 
 | ||||||
|        With  a  reporting  interval  (like  --quarterly  above),  the   report |        With   a  reporting  interval  (like  --quarterly  above),  the  report | ||||||
|        start/end  dates  will  be adjusted if necessary so that they encompass |        start/end dates will be adjusted if necessary so  that  they  encompass | ||||||
|        the displayed report periods.  This is so that the first and last peri- |        the displayed report periods.  This is so that the first and last peri- | ||||||
|        ods will be "full" and comparable to the others. |        ods will be "full" and comparable to the others. | ||||||
| 
 | 
 | ||||||
|        The  -E/--empty  flag  does  two things in multicolumn balance reports: |        The -E/--empty flag does two things  in  multicolumn  balance  reports: | ||||||
|        first, the report will show all columns  within  the  specified  report |        first,  the  report  will  show all columns within the specified report | ||||||
|        period  (without  -E,  leading and trailing columns with all zeroes are |        period (without -E, leading and trailing columns with  all  zeroes  are | ||||||
|        not shown).  Second, all accounts which existed  at  the  report  start |        not  shown).   Second,  all  accounts which existed at the report start | ||||||
|        date  will  be  considered,  not just the ones with activity during the |        date will be considered, not just the ones  with  activity  during  the | ||||||
|        report period (use -E to include low-activity accounts which would oth- |        report period (use -E to include low-activity accounts which would oth- | ||||||
|        erwise would be omitted). |        erwise would be omitted). | ||||||
| 
 | 
 | ||||||
|        The -T/--row-total flag adds an additional column showing the total for |        The -T/--row-total flag adds an additional column showing the total for | ||||||
|        each row. |        each row. | ||||||
| 
 | 
 | ||||||
|        The -A/--average flag adds a column showing the average value  in  each |        The  -A/--average  flag adds a column showing the average value in each | ||||||
|        row. |        row. | ||||||
| 
 | 
 | ||||||
|        Here's an example of all three: |        Here's an example of all three: | ||||||
| @ -1094,7 +1086,7 @@ COMMANDS | |||||||
|               # Average is rounded to the dollar here since all journal amounts are |               # Average is rounded to the dollar here since all journal amounts are | ||||||
| 
 | 
 | ||||||
|    Custom balance output |    Custom balance output | ||||||
|        In  simple  (non-multi-column)  balance  reports, you can customise the |        In simple (non-multi-column) balance reports,  you  can  customise  the | ||||||
|        output with --format FMT: |        output with --format FMT: | ||||||
| 
 | 
 | ||||||
|               $ hledger balance --format "%20(account) %12(total)" |               $ hledger balance --format "%20(account) %12(total)" | ||||||
| @ -1112,7 +1104,7 @@ COMMANDS | |||||||
|                                               0 |                                               0 | ||||||
| 
 | 
 | ||||||
|        The FMT format string (plus a newline) specifies the formatting applied |        The FMT format string (plus a newline) specifies the formatting applied | ||||||
|        to  each  account/balance pair.  It may contain any suitable text, with |        to each account/balance pair.  It may contain any suitable  text,  with | ||||||
|        data fields interpolated like so: |        data fields interpolated like so: | ||||||
| 
 | 
 | ||||||
|        %[MIN][.MAX](FIELDNAME) |        %[MIN][.MAX](FIELDNAME) | ||||||
| @ -1123,14 +1115,14 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o FIELDNAME must be enclosed in parentheses, and can be one of: |        o FIELDNAME must be enclosed in parentheses, and can be one of: | ||||||
| 
 | 
 | ||||||
|          o depth_spacer - a number of spaces equal to the account's depth,  or |          o depth_spacer  - a number of spaces equal to the account's depth, or | ||||||
|            if MIN is specified, MIN * depth spaces. |            if MIN is specified, MIN * depth spaces. | ||||||
| 
 | 
 | ||||||
|          o account - the account's name |          o account - the account's name | ||||||
| 
 | 
 | ||||||
|          o total - the account's balance/posted total, right justified |          o total - the account's balance/posted total, right justified | ||||||
| 
 | 
 | ||||||
|        Also,  FMT  can begin with an optional prefix to control how multi-com- |        Also, FMT can begin with an optional prefix to control  how  multi-com- | ||||||
|        modity amounts are rendered: |        modity amounts are rendered: | ||||||
| 
 | 
 | ||||||
|        o %_ - render on multiple lines, bottom-aligned (the default) |        o %_ - render on multiple lines, bottom-aligned (the default) | ||||||
| @ -1139,7 +1131,7 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o %, - render on one line, comma-separated |        o %, - render on one line, comma-separated | ||||||
| 
 | 
 | ||||||
|        There are some quirks.  Eg in one-line  mode,  %(depth_spacer)  has  no |        There  are  some  quirks.   Eg in one-line mode, %(depth_spacer) has no | ||||||
|        effect, instead %(account) has indentation built in. |        effect, instead %(account) has indentation built in. | ||||||
|         Experimentation may be needed to get pleasing results. |         Experimentation may be needed to get pleasing results. | ||||||
| 
 | 
 | ||||||
| @ -1147,14 +1139,14 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|        o %(total) - the account's total |        o %(total) - the account's total | ||||||
| 
 | 
 | ||||||
|        o %-20.20(account)  -  the account's name, left justified, padded to 20 |        o %-20.20(account) - the account's name, left justified, padded  to  20 | ||||||
|          characters and clipped at 20 characters |          characters and clipped at 20 characters | ||||||
| 
 | 
 | ||||||
|        o %,%-50(account)  %25(total) - account name padded to  50  characters, |        o %,%-50(account)  %25(total)  -  account name padded to 50 characters, | ||||||
|          total  padded to 20 characters, with multiple commodities rendered on |          total padded to 20 characters, with multiple commodities rendered  on | ||||||
|          one line |          one line | ||||||
| 
 | 
 | ||||||
|        o %20(total)  %2(depth_spacer)%-(account) - the default format for  the |        o %20(total)  %2(depth_spacer)%-(account)  - the default format for the | ||||||
|          single-column balance report |          single-column balance report | ||||||
| 
 | 
 | ||||||
|    Colour support |    Colour support | ||||||
| @ -1165,8 +1157,8 @@ COMMANDS | |||||||
|        o the output is not being redirected or piped anywhere |        o the output is not being redirected or piped anywhere | ||||||
| 
 | 
 | ||||||
|    Output destination |    Output destination | ||||||
|        The  balance, print, register and stats commands can write their output |        The balance, print, register and stats commands can write their  output | ||||||
|        to a destination other than the console.  This  is  controlled  by  the |        to  a  destination  other  than the console.  This is controlled by the | ||||||
|        -o/--output-file option. |        -o/--output-file option. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -o -     # write to stdout (the default) |               $ hledger balance -o -     # write to stdout (the default) | ||||||
| @ -1174,8 +1166,8 @@ COMMANDS | |||||||
| 
 | 
 | ||||||
|    CSV output |    CSV output | ||||||
|        The balance, print and register commands can write their output as CSV. |        The balance, print and register commands can write their output as CSV. | ||||||
|        This is useful for exporting data to other  applications,  eg  to  make |        This  is  useful  for  exporting data to other applications, eg to make | ||||||
|        charts  in a spreadsheet.  This is controlled by the -O/--output-format |        charts in a spreadsheet.  This is controlled by the  -O/--output-format | ||||||
|        option, or by specifying a .csv file extension with -o/--output-file. |        option, or by specifying a .csv file extension with -o/--output-file. | ||||||
| 
 | 
 | ||||||
|               $ hledger balance -O csv       # write CSV to stdout |               $ hledger balance -O csv       # write CSV to stdout | ||||||
| @ -1189,7 +1181,7 @@ COMMANDS | |||||||
|               balances |               balances | ||||||
| 
 | 
 | ||||||
|        --cumulative |        --cumulative | ||||||
|               show  balance  change accumulated across periods (in multicolumn |               show balance change accumulated across periods  (in  multicolumn | ||||||
|               reports), instead of historical ending balances |               reports), instead of historical ending balances | ||||||
| 
 | 
 | ||||||
|        -H --historical |        -H --historical | ||||||
| @ -1223,8 +1215,8 @@ COMMANDS | |||||||
|        --sort-amount |        --sort-amount | ||||||
|               sort by amount instead of account name |               sort by amount instead of account name | ||||||
| 
 | 
 | ||||||
|        This  command  displays  a  simple balance sheet.  It currently assumes |        This command displays a simple balance  sheet.   It  currently  assumes | ||||||
|        that you have top-level accounts  named  asset  and  liability  (plural |        that  you  have  top-level  accounts  named asset and liability (plural | ||||||
|        forms also allowed.) |        forms also allowed.) | ||||||
| 
 | 
 | ||||||
|               $ hledger balancesheet |               $ hledger balancesheet | ||||||
| @ -1247,19 +1239,19 @@ COMMANDS | |||||||
|                                  0 |                                  0 | ||||||
| 
 | 
 | ||||||
|        With a reporting interval, multiple columns will be shown, one for each |        With a reporting interval, multiple columns will be shown, one for each | ||||||
|        report period.  As with multicolumn balance reports, you can alter  the |        report  period.  As with multicolumn balance reports, you can alter the | ||||||
|        report  mode  with  --change/--cumulative/--historical.   Normally bal- |        report mode  with  --change/--cumulative/--historical.   Normally  bal- | ||||||
|        ancesheet shows historical ending balances, which is what you need  for |        ancesheet  shows historical ending balances, which is what you need for | ||||||
|        a balance sheet; note this means it ignores report begin dates. |        a balance sheet; note this means it ignores report begin dates. | ||||||
| 
 | 
 | ||||||
|    balancesheetequity |    balancesheetequity | ||||||
|        Show a balance sheet including equity.  Alias: bse. |        Show a balance sheet including equity.  Alias: bse. | ||||||
| 
 | 
 | ||||||
|        Other  than  showing  the  equity accounts, this command is exactly the |        Other than showing the equity accounts, this  command  is  exactly  the | ||||||
|        same as the command balancesheet.  Please refer to it for the available |        same as the command balancesheet.  Please refer to it for the available | ||||||
|        options. |        options. | ||||||
| 
 | 
 | ||||||
|        This  command  displays  a balancesheet.  It currently assumes that you |        This command displays a balancesheet.  It currently  assumes  that  you | ||||||
|        have top-level accounts named asset, liability and equity (plural forms |        have top-level accounts named asset, liability and equity (plural forms | ||||||
|        also allowed.) |        also allowed.) | ||||||
| 
 | 
 | ||||||
| @ -1294,7 +1286,7 @@ COMMANDS | |||||||
|               show balance change in each period (default) |               show balance change in each period (default) | ||||||
| 
 | 
 | ||||||
|        --cumulative |        --cumulative | ||||||
|               show  balance  change accumulated across periods (in multicolumn |               show balance change accumulated across periods  (in  multicolumn | ||||||
|               reports), instead of changes during periods |               reports), instead of changes during periods | ||||||
| 
 | 
 | ||||||
|        -H --historical |        -H --historical | ||||||
| @ -1398,7 +1390,7 @@ COMMANDS | |||||||
|               ... |               ... | ||||||
| 
 | 
 | ||||||
|    import |    import | ||||||
|        Read new transactions added to each FILE since last run, and  add  them |        Read  new  transactions added to each FILE since last run, and add them | ||||||
|        to the main journal file. |        to the main journal file. | ||||||
| 
 | 
 | ||||||
|        --dry-run |        --dry-run | ||||||
| @ -1412,7 +1404,7 @@ COMMANDS | |||||||
|        ing transactions are always added to the input files in increasing date |        ing transactions are always added to the input files in increasing date | ||||||
|        order, and by saving .latest.FILE state files. |        order, and by saving .latest.FILE state files. | ||||||
| 
 | 
 | ||||||
|        The  --dry-run output is in journal format, so you can filter it, eg to |        The --dry-run output is in journal format, so you can filter it, eg  to | ||||||
|        see only uncategorised transactions: |        see only uncategorised transactions: | ||||||
| 
 | 
 | ||||||
|               $ hledger import --dry ... | hledger -f- print unknown --ignore-assertions |               $ hledger import --dry ... | hledger -f- print unknown --ignore-assertions | ||||||
| @ -1424,7 +1416,7 @@ COMMANDS | |||||||
|               show balance change in each period (default) |               show balance change in each period (default) | ||||||
| 
 | 
 | ||||||
|        --cumulative |        --cumulative | ||||||
|               show balance change accumulated across periods  (in  multicolumn |               show  balance  change accumulated across periods (in multicolumn | ||||||
|               reports), instead of changes during periods |               reports), instead of changes during periods | ||||||
| 
 | 
 | ||||||
|        -H --historical |        -H --historical | ||||||
| @ -1904,16 +1896,16 @@ TROUBLESHOOTING | |||||||
|        that is ~/.local/bin and ~/.cabal/bin respectively. |        that is ~/.local/bin and ~/.cabal/bin respectively. | ||||||
| 
 | 
 | ||||||
|        I set a custom LEDGER_FILE, but hledger is still using the default file |        I set a custom LEDGER_FILE, but hledger is still using the default file | ||||||
|        LEDGER_FILE  should  be  a  real environment variable, not just a shell |        LEDGER_FILE should be a real environment variable,  not  just  a  shell | ||||||
|        variable.  The command env | grep LEDGER_FILE should show it.  You  may |        variable.   The command env | grep LEDGER_FILE should show it.  You may | ||||||
|        need to use export.  Here's an explanation. |        need to use export.  Here's an explanation. | ||||||
| 
 | 
 | ||||||
|        "Illegal  byte  sequence"  or  "Invalid or incomplete multibyte or wide |        "Illegal byte sequence" or "Invalid or  incomplete  multibyte  or  wide | ||||||
|        character" errors |        character" errors | ||||||
|        In order to handle non-ascii letters and symbols (like ), hledger needs |        In order to handle non-ascii letters and symbols (like ), hledger needs | ||||||
|        an appropriate locale.  This is usually configured system-wide; you can |        an appropriate locale.  This is usually configured system-wide; you can | ||||||
|        also configure it temporarily.  The locale may need to be one that sup- |        also configure it temporarily.  The locale may need to be one that sup- | ||||||
|        ports  UTF-8,  if you built hledger with GHC < 7.2 (or possibly always, |        ports UTF-8, if you built hledger with GHC < 7.2 (or  possibly  always, | ||||||
|        I'm not sure yet). |        I'm not sure yet). | ||||||
| 
 | 
 | ||||||
|        Here's  an  example  of  setting  the  locale  temporarily,  on  ubuntu |        Here's  an  example  of  setting  the  locale  temporarily,  on  ubuntu | ||||||
| @ -1932,7 +1924,7 @@ TROUBLESHOOTING | |||||||
|               $ echo "export LANG=en_US.UTF-8" >>~/.bash_profile |               $ echo "export LANG=en_US.UTF-8" >>~/.bash_profile | ||||||
|               $ bash --login |               $ bash --login | ||||||
| 
 | 
 | ||||||
|        If  we  preferred  to  use eg fr_FR.utf8, we might have to install that |        If we preferred to use eg fr_FR.utf8, we might  have  to  install  that | ||||||
|        first: |        first: | ||||||
| 
 | 
 | ||||||
|               $ apt-get install language-pack-fr |               $ apt-get install language-pack-fr | ||||||
| @ -1953,7 +1945,7 @@ TROUBLESHOOTING | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel |        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -1967,7 +1959,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), |        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user