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