doc: update builtin manuals
This commit is contained in:
		
							parent
							
								
									e119941648
								
							
						
					
					
						commit
						cca95d2974
					
				| @ -229,7 +229,7 @@ _ | |||||||
| T{ | T{ | ||||||
| \  | \  | ||||||
| T}@T{ | T}@T{ | ||||||
| uncleared (no mark) | unmarked | ||||||
| T} | T} | ||||||
| T{ | T{ | ||||||
| \f[C]!\f[] | \f[C]!\f[] | ||||||
| @ -244,13 +244,15 @@ T} | |||||||
| .TE | .TE | ||||||
| .PP | .PP | ||||||
| When reporting, you can filter by status with the | When reporting, you can filter by status with the | ||||||
| \f[C]\-U/\-\-uncleared\f[], \f[C]\-P/\-\-pending\f[], and | \f[C]\-U/\-\-unmarked\f[], \f[C]\-P/\-\-pending\f[], and | ||||||
| \f[C]\-C/\-\-cleared\f[] flags; or the \f[C]status:\f[], | \f[C]\-C/\-\-cleared\f[] flags; or the \f[C]status:\f[], | ||||||
| \f[C]status:!\f[], and \f[C]status:*\f[] queries; or the U, P, C keys in | \f[C]status:!\f[], and \f[C]status:*\f[] queries; or the U, P, C keys in | ||||||
| hledger\-ui. | hledger\-ui. | ||||||
| .PP | .PP | ||||||
| Note from hledger 1.3 onwards, \-U/\-\-uncleared matches the uncleared | Note, in Ledger and in older versions of hledger, the "unmarked" state | ||||||
| (unmarked) status only. | is called "uncleared". | ||||||
|  | As of hledger 1.3 we have renamed it to unmarked for clarity. | ||||||
|  | .PP | ||||||
| To replicate Ledger and old hledger\[aq]s behaviour of also matching | To replicate Ledger and old hledger\[aq]s behaviour of also matching | ||||||
| pending, combine \-U and \-P. | pending, combine \-U and \-P. | ||||||
| .PP | .PP | ||||||
|  | |||||||
| @ -239,18 +239,21 @@ indicating one of three statuses: | |||||||
| 
 | 
 | ||||||
| mark  status | mark  status | ||||||
|   |   | ||||||
| ---------------------------- | ----------------- | ||||||
|       uncleared (no mark) |       unmarked | ||||||
| '!'   pending | '!'   pending | ||||||
| '*'   cleared | '*'   cleared | ||||||
| 
 | 
 | ||||||
|    When reporting, you can filter by status with the '-U/--uncleared', |    When reporting, you can filter by status with the '-U/--unmarked', | ||||||
| '-P/--pending', and '-C/--cleared' flags; or the 'status:', 'status:!', | '-P/--pending', and '-C/--cleared' flags; or the 'status:', 'status:!', | ||||||
| and 'status:*' queries; or the U, P, C keys in hledger-ui. | and 'status:*' queries; or the U, P, C keys in hledger-ui. | ||||||
| 
 | 
 | ||||||
|    Note from hledger 1.3 onwards, -U/-uncleared matches the uncleared |    Note, in Ledger and in older versions of hledger, the "unmarked" | ||||||
| (unmarked) status only.  To replicate Ledger and old hledger's behaviour | state is called "uncleared".  As of hledger 1.3 we have renamed it to | ||||||
| of also matching pending, combine -U and -P. | unmarked for clarity. | ||||||
|  | 
 | ||||||
|  |    To replicate Ledger and old hledger's behaviour of also matching | ||||||
|  | pending, 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 | real-world accounts.  Some editor modes provide highlighting and | ||||||
| @ -1060,67 +1063,67 @@ Node: Posting dates6832 | |||||||
| Ref: #posting-dates6963 | Ref: #posting-dates6963 | ||||||
| Node: Status8337 | Node: Status8337 | ||||||
| Ref: #status8461 | Ref: #status8461 | ||||||
| Node: Account names10129 | Node: Account names10175 | ||||||
| Ref: #account-names10269 | Ref: #account-names10315 | ||||||
| Node: Amounts10756 | Node: Amounts10802 | ||||||
| Ref: #amounts10894 | Ref: #amounts10940 | ||||||
| Node: Virtual Postings12995 | Node: Virtual Postings13041 | ||||||
| Ref: #virtual-postings13156 | Ref: #virtual-postings13202 | ||||||
| Node: Balance Assertions14376 | Node: Balance Assertions14422 | ||||||
| Ref: #balance-assertions14553 | Ref: #balance-assertions14599 | ||||||
| Node: Assertions and ordering15449 | Node: Assertions and ordering15495 | ||||||
| Ref: #assertions-and-ordering15637 | Ref: #assertions-and-ordering15683 | ||||||
| Node: Assertions and included files16337 | Node: Assertions and included files16383 | ||||||
| Ref: #assertions-and-included-files16580 | Ref: #assertions-and-included-files16626 | ||||||
| Node: Assertions and multiple -f options16913 | Node: Assertions and multiple -f options16959 | ||||||
| Ref: #assertions-and-multiple--f-options17169 | Ref: #assertions-and-multiple--f-options17215 | ||||||
| Node: Assertions and commodities17301 | Node: Assertions and commodities17347 | ||||||
| Ref: #assertions-and-commodities17538 | Ref: #assertions-and-commodities17584 | ||||||
| Node: Assertions and subaccounts18234 | Node: Assertions and subaccounts18280 | ||||||
| Ref: #assertions-and-subaccounts18468 | Ref: #assertions-and-subaccounts18514 | ||||||
| Node: Assertions and virtual postings18989 | Node: Assertions and virtual postings19035 | ||||||
| Ref: #assertions-and-virtual-postings19198 | Ref: #assertions-and-virtual-postings19244 | ||||||
| Node: Balance Assignments19340 | Node: Balance Assignments19386 | ||||||
| Ref: #balance-assignments19509 | Ref: #balance-assignments19555 | ||||||
| Node: Prices20628 | Node: Prices20674 | ||||||
| Ref: #prices20763 | Ref: #prices20809 | ||||||
| Node: Transaction prices20814 | Node: Transaction prices20860 | ||||||
| Ref: #transaction-prices20961 | Ref: #transaction-prices21007 | ||||||
| Node: Market prices23117 | Node: Market prices23163 | ||||||
| Ref: #market-prices23254 | Ref: #market-prices23300 | ||||||
| Node: Comments24214 | Node: Comments24260 | ||||||
| Ref: #comments24338 | Ref: #comments24384 | ||||||
| Node: Tags25451 | Node: Tags25497 | ||||||
| Ref: #tags25571 | Ref: #tags25617 | ||||||
| Node: Implicit tags27000 | Node: Implicit tags27046 | ||||||
| Ref: #implicit-tags27108 | Ref: #implicit-tags27154 | ||||||
| Node: Directives27625 | Node: Directives27671 | ||||||
| Ref: #directives27740 | Ref: #directives27786 | ||||||
| Node: Account aliases27933 | Node: Account aliases27979 | ||||||
| Ref: #account-aliases28079 | Ref: #account-aliases28125 | ||||||
| Node: Basic aliases28683 | Node: Basic aliases28729 | ||||||
| Ref: #basic-aliases28828 | Ref: #basic-aliases28874 | ||||||
| Node: Regex aliases29518 | Node: Regex aliases29564 | ||||||
| Ref: #regex-aliases29688 | Ref: #regex-aliases29734 | ||||||
| Node: Multiple aliases30403 | Node: Multiple aliases30449 | ||||||
| Ref: #multiple-aliases30577 | Ref: #multiple-aliases30623 | ||||||
| Node: end aliases31075 | Node: end aliases31121 | ||||||
| Ref: #end-aliases31217 | Ref: #end-aliases31263 | ||||||
| Node: account directive31318 | Node: account directive31364 | ||||||
| Ref: #account-directive31500 | Ref: #account-directive31546 | ||||||
| Node: apply account directive31796 | Node: apply account directive31842 | ||||||
| Ref: #apply-account-directive31994 | Ref: #apply-account-directive32040 | ||||||
| Node: Multi-line comments32653 | Node: Multi-line comments32699 | ||||||
| Ref: #multi-line-comments32845 | Ref: #multi-line-comments32891 | ||||||
| Node: commodity directive32973 | Node: commodity directive33019 | ||||||
| Ref: #commodity-directive33159 | Ref: #commodity-directive33205 | ||||||
| Node: Default commodity34031 | Node: Default commodity34077 | ||||||
| Ref: #default-commodity34206 | Ref: #default-commodity34252 | ||||||
| Node: Default year34743 | Node: Default year34789 | ||||||
| Ref: #default-year34910 | Ref: #default-year34956 | ||||||
| Node: Including other files35333 | Node: Including other files35379 | ||||||
| Ref: #including-other-files35492 | Ref: #including-other-files35538 | ||||||
| Node: EDITOR SUPPORT35889 | Node: EDITOR SUPPORT35935 | ||||||
| Ref: #editor-support36009 | Ref: #editor-support36055 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -176,50 +176,52 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|        mark     status |        mark     status | ||||||
|        ----------------------------- |        ------------------ | ||||||
|                 uncleared (no mark) |                 unmarked | ||||||
|        !        pending |        !        pending | ||||||
|        *        cleared |        *        cleared | ||||||
| 
 | 
 | ||||||
|        When reporting, you can  filter  by  status  with  the  -U/--uncleared, |        When reporting, you  can  filter  by  status  with  the  -U/--unmarked, | ||||||
|        -P/--pending,  and  -C/--cleared  flags;  or the status:, status:!, and |        -P/--pending,  and  -C/--cleared  flags;  or the status:, status:!, and | ||||||
|        status:* queries; or the U, P, C keys in hledger-ui. |        status:* queries; or the U, P, C keys in hledger-ui. | ||||||
| 
 | 
 | ||||||
|        Note from hledger 1.3 onwards,  -U/--uncleared  matches  the  uncleared |        Note, in Ledger and in older versions of hledger, the "unmarked"  state | ||||||
|        (unmarked)  status  only.  To replicate Ledger and old hledger's behav- |        is  called  "uncleared".   As  of  hledger  1.3  we  have renamed it to | ||||||
|        iour of also matching pending, combine -U and -P. |        unmarked for clarity. | ||||||
| 
 | 
 | ||||||
|        Status marks are optional, but can be helpful eg for  reconciling  with |        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 | ||||||
|        real-world accounts.  Some editor modes provide highlighting and short- |        real-world accounts.  Some editor modes provide highlighting and short- | ||||||
|        cuts for working with status.  Eg in Emacs ledger-mode, you can  toggle |        cuts  for working with status.  Eg in Emacs ledger-mode, you can toggle | ||||||
|        transaction status with C-c C-e, or posting status with C-c C-c. |        transaction status with C-c C-e, or posting status with C-c C-c. | ||||||
| 
 | 
 | ||||||
|        What  "uncleared", "pending", and "cleared" actually mean is up to you. |        What "uncleared", "pending", and "cleared" actually mean is up to  you. | ||||||
|        Here's one suggestion: |        Here's one suggestion: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|        status       meaning |        status       meaning | ||||||
|        -------------------------------------------------------------------------- |        -------------------------------------------------------------------------- | ||||||
|        uncleared    recorded but not yet reconciled; needs review |        uncleared    recorded but not yet reconciled; needs review | ||||||
|        pending      tentatively reconciled (if needed, eg during a  big  recon- |        pending      tentatively  reconciled  (if needed, eg during a big recon- | ||||||
|                     ciliation) |                     ciliation) | ||||||
|        cleared      complete,  reconciled  as  far  as possible, and considered |        cleared      complete, reconciled as far  as  possible,  and  considered | ||||||
|                     correct |                     correct | ||||||
| 
 | 
 | ||||||
|        With this scheme, you would use -PC to see the current balance at  your |        With  this scheme, you would use -PC to see the current balance at your | ||||||
|        bank,  -U  to  see  things which will probably hit your bank soon (like |        bank, -U to see things which will probably hit  your  bank  soon  (like | ||||||
|        uncashed checks), and no flags to see the most up-to-date state of your |        uncashed checks), and no flags to see the most up-to-date state of your | ||||||
|        finances. |        finances. | ||||||
| 
 | 
 | ||||||
|    Account names |    Account names | ||||||
|        Account  names  typically have several parts separated by a full colon, |        Account names typically have several parts separated by a  full  colon, | ||||||
|        from which hledger derives a hierarchical chart of accounts.  They  can |        from  which hledger derives a hierarchical chart of accounts.  They can | ||||||
|        be  anything  you  like,  but  in  finance there are traditionally five |        be anything you like, but  in  finance  there  are  traditionally  five | ||||||
|        top-level accounts: assets, liabilities, income, expenses, and  equity. |        top-level  accounts: assets, liabilities, income, expenses, and equity. | ||||||
| 
 | 
 | ||||||
|        Account  names  may  contain single spaces, eg: assets:accounts receiv- |        Account names may contain single  spaces,  eg:  assets:accounts receiv- | ||||||
|        able.  Because of this, they must always be followed  by  two  or  more |        able.   Because  of  this,  they must always be followed by two or more | ||||||
|        spaces (or newline). |        spaces (or newline). | ||||||
| 
 | 
 | ||||||
|        Account names can be aliased. |        Account names can be aliased. | ||||||
| @ -228,7 +230,7 @@ FILE FORMAT | |||||||
|        After the account name, there is usually an amount.  Important: between |        After the account name, there is usually an amount.  Important: between | ||||||
|        account name and amount, there must be two or more spaces. |        account name and amount, there must be two or more spaces. | ||||||
| 
 | 
 | ||||||
|        Amounts consist of a number and (usually) a currency symbol or  commod- |        Amounts  consist of a number and (usually) a currency symbol or commod- | ||||||
|        ity name.  Some examples: |        ity name.  Some examples: | ||||||
| 
 | 
 | ||||||
|        2.00001 |        2.00001 | ||||||
| @ -241,53 +243,53 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        As you can see, the amount format is somewhat flexible: |        As you can see, the amount format is somewhat flexible: | ||||||
| 
 | 
 | ||||||
|        o amounts  are a number (the "quantity") and optionally a currency sym- |        o amounts are a number (the "quantity") and optionally a currency  sym- | ||||||
|          bol/commodity name (the "commodity"). |          bol/commodity name (the "commodity"). | ||||||
| 
 | 
 | ||||||
|        o the commodity is a symbol, word, or phrase, on  the  left  or  right, |        o the  commodity  is  a  symbol, word, or phrase, on the left or right, | ||||||
|          with  or  without a separating space.  If the commodity contains num- |          with or without a separating space.  If the commodity  contains  num- | ||||||
|          bers, spaces or non-word punctuation it must be  enclosed  in  double |          bers,  spaces  or  non-word punctuation it must be enclosed in double | ||||||
|          quotes. |          quotes. | ||||||
| 
 | 
 | ||||||
|        o negative amounts with a commodity on the left can have the minus sign |        o negative amounts with a commodity on the left can have the minus sign | ||||||
|          before or after it |          before or after it | ||||||
| 
 | 
 | ||||||
|        o digit groups (thousands, or any other grouping) can be  separated  by |        o digit  groups  (thousands, or any other grouping) can be separated by | ||||||
|          commas  (in  which  case period is used for decimal point) or periods |          commas (in which case period is used for decimal  point)  or  periods | ||||||
|          (in which case comma is used for decimal point) |          (in which case comma is used for decimal point) | ||||||
| 
 | 
 | ||||||
|        You can use any of these  variations  when  recording  data,  but  when |        You  can  use  any  of  these  variations when recording data, but when | ||||||
|        hledger  displays  amounts, it will choose a consistent format for each |        hledger displays amounts, it will choose a consistent format  for  each | ||||||
|        commodity.  (Except for price amounts, which are  always  formatted  as |        commodity.   (Except  for  price amounts, which are always formatted as | ||||||
|        written).  The display format is chosen as follows: |        written).  The display format is chosen as follows: | ||||||
| 
 | 
 | ||||||
|        o if there is a commodity directive specifying the format, that is used |        o if there is a commodity directive specifying the format, that is used | ||||||
| 
 | 
 | ||||||
|        o otherwise the format is inferred from the  first  posting  amount  in |        o otherwise  the  format  is  inferred from the first posting amount in | ||||||
|          that  commodity  in the journal, and the precision (number of decimal |          that commodity in the journal, and the precision (number  of  decimal | ||||||
|          places) will be the maximum from all posting amounts in that commmod- |          places) will be the maximum from all posting amounts in that commmod- | ||||||
|          ity |          ity | ||||||
| 
 | 
 | ||||||
|        o or  if  there are no such amounts in the journal, a default format is |        o or if there are no such amounts in the journal, a default  format  is | ||||||
|          used (like $1000.00). |          used (like $1000.00). | ||||||
| 
 | 
 | ||||||
|        Price amounts and amounts in D directives usually don't  affect  amount |        Price  amounts  and amounts in D directives usually don't affect amount | ||||||
|        format  inference,  but  in  some situations they can do so indirectly. |        format inference, but in some situations they  can  do  so  indirectly. | ||||||
|        (Eg when D's default commodity is applied to a  commodity-less  amount, |        (Eg  when  D's default commodity is applied to a commodity-less amount, | ||||||
|        or when an amountless posting is balanced using a price's commodity, or |        or when an amountless posting is balanced using a price's commodity, or | ||||||
|        when -V is used.) If you find this causing problems,  set  the  desired |        when  -V  is  used.) If you find this causing problems, set the desired | ||||||
|        format with a commodity directive. |        format with a commodity directive. | ||||||
| 
 | 
 | ||||||
|    Virtual Postings |    Virtual Postings | ||||||
|        When  you  parenthesise  the  account name in a posting, we call that a |        When you parenthesise the account name in a posting,  we  call  that  a | ||||||
|        virtual posting, which means: |        virtual posting, which means: | ||||||
| 
 | 
 | ||||||
|        o it is ignored when checking that the transaction is balanced |        o it is ignored when checking that the transaction is balanced | ||||||
| 
 | 
 | ||||||
|        o it is excluded from reports when the --real/-R flag is used,  or  the |        o it  is  excluded from reports when the --real/-R flag is used, or the | ||||||
|          real:1 query. |          real:1 query. | ||||||
| 
 | 
 | ||||||
|        You  could  use  this,  eg, to set an account's opening balance without |        You could use this, eg, to set an  account's  opening  balance  without | ||||||
|        needing to use the equity:opening balances account: |        needing to use the equity:opening balances account: | ||||||
| 
 | 
 | ||||||
|               1/1 special unbalanced posting to set initial balance |               1/1 special unbalanced posting to set initial balance | ||||||
| @ -295,8 +297,8 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        When the account name is bracketed, we call it a balanced virtual post- |        When the account name is bracketed, we call it a balanced virtual post- | ||||||
|        ing.  This is like an ordinary virtual posting except the balanced vir- |        ing.  This is like an ordinary virtual posting except the balanced vir- | ||||||
|        tual postings in a transaction must balance to 0, like the  real  post- |        tual  postings  in a transaction must balance to 0, like the real post- | ||||||
|        ings  (but  separately  from them).  Balanced virtual postings are also |        ings (but separately from them).  Balanced virtual  postings  are  also | ||||||
|        excluded by --real/-R or real:1. |        excluded by --real/-R or real:1. | ||||||
| 
 | 
 | ||||||
|               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere |               1/1 buy food with cash, and update some budget-tracking subaccounts elsewhere | ||||||
| @ -306,13 +308,13 @@ FILE FORMAT | |||||||
|                 [assets:checking:budget:food]  $-10 |                 [assets:checking:budget:food]  $-10 | ||||||
| 
 | 
 | ||||||
|        Virtual postings have some legitimate uses, but those are few.  You can |        Virtual postings have some legitimate uses, but those are few.  You can | ||||||
|        usually  find an equivalent journal entry using real postings, which is |        usually find an equivalent journal entry using real postings, which  is | ||||||
|        more correct and provides better error checking. |        more correct and provides better error checking. | ||||||
| 
 | 
 | ||||||
|    Balance Assertions |    Balance Assertions | ||||||
|        hledger supports Ledger-style  balance  assertions  in  journal  files. |        hledger  supports  Ledger-style  balance  assertions  in journal files. | ||||||
|        These  look  like =EXPECTEDBALANCE following a posting's amount.  Eg in |        These look like =EXPECTEDBALANCE following a posting's amount.   Eg  in | ||||||
|        this example we assert the expected dollar balance in accounts a and  b |        this  example we assert the expected dollar balance in accounts a and b | ||||||
|        after each posting: |        after each posting: | ||||||
| 
 | 
 | ||||||
|               2013/1/1 |               2013/1/1 | ||||||
| @ -324,31 +326,31 @@ FILE FORMAT | |||||||
|                 b  $-1  =$-2 |                 b  $-1  =$-2 | ||||||
| 
 | 
 | ||||||
|        After reading a journal file, hledger will check all balance assertions |        After reading a journal file, hledger will check all balance assertions | ||||||
|        and report an error if any of them fail.  Balance assertions  can  pro- |        and  report  an error if any of them fail.  Balance assertions can pro- | ||||||
|        tect  you  from, eg, inadvertently disrupting reconciled balances while |        tect you from, eg, inadvertently disrupting reconciled  balances  while | ||||||
|        cleaning up old entries.  You can disable  them  temporarily  with  the |        cleaning  up  old  entries.   You can disable them temporarily with the | ||||||
|        --ignore-assertions  flag,  which  can be useful for troubleshooting or |        --ignore-assertions flag, which can be useful  for  troubleshooting  or | ||||||
|        for reading Ledger files. |        for reading Ledger files. | ||||||
| 
 | 
 | ||||||
|    Assertions and ordering |    Assertions and ordering | ||||||
|        hledger sorts an account's postings and assertions first  by  date  and |        hledger  sorts  an  account's postings and assertions first by date and | ||||||
|        then  (for postings on the same day) by parse order.  Note this is dif- |        then (for postings on the same day) by parse order.  Note this is  dif- | ||||||
|        ferent from Ledger, which sorts assertions only by parse order.  (Also, |        ferent from Ledger, which sorts assertions only by parse order.  (Also, | ||||||
|        Ledger  assertions  do not see the accumulated effect of repeated post- |        Ledger assertions do not see the accumulated effect of  repeated  post- | ||||||
|        ings to the same account within a transaction.) |        ings to the same account within a transaction.) | ||||||
| 
 | 
 | ||||||
|        So, hledger balance assertions keep  working  if  you  reorder  differ- |        So,  hledger  balance  assertions  keep  working if you reorder differ- | ||||||
|        ently-dated  transactions  within  the  journal.   But  if  you reorder |        ently-dated transactions  within  the  journal.   But  if  you  reorder | ||||||
|        same-dated transactions or postings, assertions might break and require |        same-dated transactions or postings, assertions might break and require | ||||||
|        updating.   This order dependence does bring an advantage: precise con- |        updating.  This order dependence does bring an advantage: precise  con- | ||||||
|        trol over the order of postings and assertions within a day, so you can |        trol over the order of postings and assertions within a day, so you can | ||||||
|        assert intra-day balances. |        assert intra-day balances. | ||||||
| 
 | 
 | ||||||
|    Assertions and included files |    Assertions and included files | ||||||
|        With  included  files, things are a little more complicated.  Including |        With included files, things are a little more  complicated.   Including | ||||||
|        preserves the ordering of postings and assertions.  If you have  multi- |        preserves  the ordering of postings and assertions.  If you have multi- | ||||||
|        ple  postings  to  an  account  on the same day, split across different |        ple postings to an account on the  same  day,  split  across  different | ||||||
|        files, and you also want to assert the account's balance  on  the  same |        files,  and  you  also want to assert the account's balance on the same | ||||||
|        day, you'll have to put the assertion in the right file. |        day, you'll have to put the assertion in the right file. | ||||||
| 
 | 
 | ||||||
|    Assertions and multiple -f options |    Assertions and multiple -f options | ||||||
| @ -356,21 +358,21 @@ FILE FORMAT | |||||||
|        -f options.  Use include or concatenate the files instead. |        -f options.  Use include or concatenate the files instead. | ||||||
| 
 | 
 | ||||||
|    Assertions and commodities |    Assertions and commodities | ||||||
|        The asserted balance must be a simple single-commodity amount,  and  in |        The  asserted  balance must be a simple single-commodity amount, and in | ||||||
|        fact  the  assertion  checks  only  this commodity's balance within the |        fact the assertion checks only  this  commodity's  balance  within  the | ||||||
|        (possibly multi-commodity) account balance.  We could call this a  par- |        (possibly  multi-commodity) account balance.  We could call this a par- | ||||||
|        tial  balance  assertion.  This is compatible with Ledger, and makes it |        tial balance assertion.  This is compatible with Ledger, and  makes  it | ||||||
|        possible to make assertions about accounts containing multiple commodi- |        possible to make assertions about accounts containing multiple commodi- | ||||||
|        ties. |        ties. | ||||||
| 
 | 
 | ||||||
|        To  assert  each commodity's balance in such a multi-commodity account, |        To assert each commodity's balance in such a  multi-commodity  account, | ||||||
|        you can add multiple postings (with amount 0 if necessary).   But  note |        you  can  add multiple postings (with amount 0 if necessary).  But note | ||||||
|        that  no  matter  how  many  assertions  you add, you can't be sure the |        that no matter how many assertions you  add,  you  can't  be  sure  the | ||||||
|        account does not contain some unexpected commodity.  (We'll add support |        account does not contain some unexpected commodity.  (We'll add support | ||||||
|        for this kind of total balance assertion if there's demand.) |        for this kind of total balance assertion if there's demand.) | ||||||
| 
 | 
 | ||||||
|    Assertions and subaccounts |    Assertions and subaccounts | ||||||
|        Balance  assertions  do  not  count  the balance from subaccounts; they |        Balance assertions do not count  the  balance  from  subaccounts;  they | ||||||
|        check the posted account's exclusive balance.  For example: |        check the posted account's exclusive balance.  For example: | ||||||
| 
 | 
 | ||||||
|               1/1 |               1/1 | ||||||
| @ -378,7 +380,7 @@ FILE FORMAT | |||||||
|                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 |                 checking        1 = 1  ; post to the parent account, its exclusive balance is now 1 | ||||||
|                 equity |                 equity | ||||||
| 
 | 
 | ||||||
|        The balance report's flat mode  shows  these  exclusive  balances  more |        The  balance  report's  flat  mode  shows these exclusive balances more | ||||||
|        clearly: |        clearly: | ||||||
| 
 | 
 | ||||||
|               $ hledger bal checking --flat |               $ hledger bal checking --flat | ||||||
| @ -392,10 +394,10 @@ FILE FORMAT | |||||||
|        tual.  They are not affected by the --real/-R flag or real: query. |        tual.  They are not affected by the --real/-R flag or real: query. | ||||||
| 
 | 
 | ||||||
|    Balance Assignments |    Balance Assignments | ||||||
|        Ledger-style balance assignments are also supported.   These  are  like |        Ledger-style  balance  assignments  are also supported.  These are like | ||||||
|        balance  assertions, but with no posting amount on the left side of the |        balance assertions, but with no posting amount on the left side of  the | ||||||
|        equals sign; instead it is calculated automatically so  as  to  satisfy |        equals  sign;  instead  it is calculated automatically so as to satisfy | ||||||
|        the  assertion.   This  can be a convenience during data entry, eg when |        the assertion.  This can be a convenience during data  entry,  eg  when | ||||||
|        setting opening balances: |        setting opening balances: | ||||||
| 
 | 
 | ||||||
|               ; starting a new journal, set asset account balances |               ; starting a new journal, set asset account balances | ||||||
| @ -413,8 +415,8 @@ FILE FORMAT | |||||||
|                 expenses:misc |                 expenses:misc | ||||||
| 
 | 
 | ||||||
|        The calculated amount depends on the account's balance in the commodity |        The calculated amount depends on the account's balance in the commodity | ||||||
|        at  that  point  (which depends on the previously-dated postings of the |        at that point (which depends on the previously-dated  postings  of  the | ||||||
|        commodity to that account since the last balance assertion  or  assign- |        commodity  to  that account since the last balance assertion or assign- | ||||||
|        ment).  Note that using balance assignments makes your journal a little |        ment).  Note that using balance assignments makes your journal a little | ||||||
|        less explicit; to know the exact amount posted, you have to run hledger |        less explicit; to know the exact amount posted, you have to run hledger | ||||||
|        or do the calculations yourself, instead of just reading it. |        or do the calculations yourself, instead of just reading it. | ||||||
| @ -422,12 +424,12 @@ FILE FORMAT | |||||||
|    Prices |    Prices | ||||||
|    Transaction prices |    Transaction prices | ||||||
|        Within a transaction, you can note an amount's price in another commod- |        Within a transaction, you can note an amount's price in another commod- | ||||||
|        ity.  This can be used to document the cost (in a purchase) or  selling |        ity.   This can be used to document the cost (in a purchase) or selling | ||||||
|        price  (in  a  sale).   For  example,  transaction prices are useful to |        price (in a sale).  For  example,  transaction  prices  are  useful  to | ||||||
|        record purchases of a foreign currency. |        record purchases of a foreign currency. | ||||||
| 
 | 
 | ||||||
|        Transaction prices are fixed, and do not  change  over  time.   (Ledger |        Transaction  prices  are  fixed,  and do not change over time.  (Ledger | ||||||
|        users:  Ledger  uses a different syntax for fixed prices, {=UNITPRICE}, |        users: Ledger uses a different syntax for fixed  prices,  {=UNITPRICE}, | ||||||
|        which hledger currently ignores). |        which hledger currently ignores). | ||||||
| 
 | 
 | ||||||
|        There are several ways to record a transaction price: |        There are several ways to record a transaction price: | ||||||
| @ -451,9 +453,9 @@ FILE FORMAT | |||||||
|                     assets:euros     100          ; one hundred euros purchased |                     assets:euros     100          ; one hundred euros purchased | ||||||
|                     assets:dollars  $-135          ; for $135 |                     assets:dollars  $-135          ; for $135 | ||||||
| 
 | 
 | ||||||
|        Amounts  with  transaction  prices  can be displayed in the transaction |        Amounts with transaction prices can be  displayed  in  the  transaction | ||||||
|        price's commodity by using the -B/--cost flag (except for #551) ("B" is |        price's commodity by using the -B/--cost flag (except for #551) ("B" is | ||||||
|        from  "cost Basis").  Eg for the above, here is how -B affects the bal- |        from "cost Basis").  Eg for the above, here is how -B affects the  bal- | ||||||
|        ance report: |        ance report: | ||||||
| 
 | 
 | ||||||
|               $ hledger bal -N --flat |               $ hledger bal -N --flat | ||||||
| @ -463,8 +465,8 @@ FILE FORMAT | |||||||
|                              $-135  assets:dollars |                              $-135  assets:dollars | ||||||
|                               $135  assets:euros    # <- the euros' cost |                               $135  assets:euros    # <- the euros' cost | ||||||
| 
 | 
 | ||||||
|        Note -B is sensitive to the order of postings when a transaction  price |        Note  -B is sensitive to the order of postings when a transaction price | ||||||
|        is  inferred:  the  inferred price will be in the commodity of the last |        is inferred: the inferred price will be in the commodity  of  the  last | ||||||
|        amount.  So if example 3's postings are reversed, while the transaction |        amount.  So if example 3's postings are reversed, while the transaction | ||||||
|        is equivalent, -B shows something different: |        is equivalent, -B shows something different: | ||||||
| 
 | 
 | ||||||
| @ -477,41 +479,41 @@ FILE FORMAT | |||||||
|                               100  assets:euros |                               100  assets:euros | ||||||
| 
 | 
 | ||||||
|    Market prices |    Market prices | ||||||
|        Market  prices are not tied to a particular transaction; they represent |        Market prices are not tied to a particular transaction; they  represent | ||||||
|        historical exchange rates between two commodities.  (Ledger calls  them |        historical  exchange rates between two commodities.  (Ledger calls them | ||||||
|        historical  prices.)  For  example,  the  prices  published  by a stock |        historical prices.) For  example,  the  prices  published  by  a  stock | ||||||
|        exchange or the foreign exchange market.  hledger can use these  prices |        exchange  or the foreign exchange market.  hledger can use these prices | ||||||
|        to show the market value of things at a given date, see market value. |        to show the market value of things at a given date, see market value. | ||||||
| 
 | 
 | ||||||
|        To  record market prices, use P directives in the main journal or in an |        To record market prices, use P directives in the main journal or in  an | ||||||
|        included file.  Their format is: |        included file.  Their format is: | ||||||
| 
 | 
 | ||||||
|               P DATE COMMODITYBEINGPRICED UNITPRICE |               P DATE COMMODITYBEINGPRICED UNITPRICE | ||||||
| 
 | 
 | ||||||
|        DATE is a simple date as usual.  COMMODITYBEINGPRICED is the symbol  of |        DATE  is a simple date as usual.  COMMODITYBEINGPRICED is the symbol of | ||||||
|        the  commodity  being  priced.  UNITPRICE is an ordinary amount (symbol |        the commodity being priced.  UNITPRICE is an  ordinary  amount  (symbol | ||||||
|        and quantity) in a second commodity, specifying the unit price or  con- |        and  quantity) in a second commodity, specifying the unit price or con- | ||||||
|        version  rate  for  the  first commodity in terms of the second, on the |        version rate for the first commodity in terms of  the  second,  on  the | ||||||
|        given date. |        given date. | ||||||
| 
 | 
 | ||||||
|        For example, the following directives say that one euro was worth  1.35 |        For  example, the following directives say that one euro was worth 1.35 | ||||||
|        US dollars during 2009, and $1.40 from 2010 onward: |        US dollars during 2009, and $1.40 from 2010 onward: | ||||||
| 
 | 
 | ||||||
|               P 2009/1/1  $1.35 |               P 2009/1/1  $1.35 | ||||||
|               P 2010/1/1  $1.40 |               P 2010/1/1  $1.40 | ||||||
| 
 | 
 | ||||||
|    Comments |    Comments | ||||||
|        Lines  in  the  journal  beginning  with a semicolon (;) or hash (#) or |        Lines in the journal beginning with a semicolon  (;)  or  hash  (#)  or | ||||||
|        asterisk (*) are comments, and will  be  ignored.   (Asterisk  comments |        asterisk  (*)  are  comments,  and will be ignored.  (Asterisk comments | ||||||
|        make  it easy to treat your journal like an org-mode outline in emacs.) |        make it easy to treat your journal like an org-mode outline in  emacs.) | ||||||
| 
 | 
 | ||||||
|        Also,  anything  between  comment  and  end comment  directives  is   a |        Also,   anything  between  comment  and  end comment  directives  is  a | ||||||
|        (multi-line)  comment.  If there is no end comment, the comment extends |        (multi-line) comment.  If there is no end comment, the comment  extends | ||||||
|        to the end of the file. |        to the end of the file. | ||||||
| 
 | 
 | ||||||
|        You can attach comments to a transaction  by  writing  them  after  the |        You  can  attach  comments  to  a transaction by writing them after the | ||||||
|        description  and/or  indented  on the following lines (before the post- |        description and/or indented on the following lines  (before  the  post- | ||||||
|        ings).  Similarly, you can attach comments to an individual posting  by |        ings).   Similarly, you can attach comments to an individual posting by | ||||||
|        writing them after the amount and/or indented on the following lines. |        writing them after the amount and/or indented on the following lines. | ||||||
| 
 | 
 | ||||||
|        Some examples: |        Some examples: | ||||||
| @ -536,20 +538,20 @@ FILE FORMAT | |||||||
|               ; a journal comment (because not indented) |               ; a journal comment (because not indented) | ||||||
| 
 | 
 | ||||||
|    Tags |    Tags | ||||||
|        Tags  are  a  way  to add extra labels or labelled data to postings and |        Tags are a way to add extra labels or labelled  data  to  postings  and | ||||||
|        transactions, which you can then search or pivot on. |        transactions, which you can then search or pivot on. | ||||||
| 
 | 
 | ||||||
|        A simple tag is a word (which may contain hyphens) followed by  a  full |        A  simple  tag is a word (which may contain hyphens) followed by a full | ||||||
|        colon, written inside a transaction or posting comment line: |        colon, written inside a transaction or posting comment line: | ||||||
| 
 | 
 | ||||||
|               2017/1/16 bought groceries    ; sometag: |               2017/1/16 bought groceries    ; sometag: | ||||||
| 
 | 
 | ||||||
|        Tags  can  have  a  value, which is the text after the colon, up to the |        Tags can have a value, which is the text after the  colon,  up  to  the | ||||||
|        next comma or end of line, with leading/trailing whitespace removed: |        next comma or end of line, with leading/trailing whitespace removed: | ||||||
| 
 | 
 | ||||||
|                   expenses:food    $10   ; a-posting-tag: the tag value |                   expenses:food    $10   ; a-posting-tag: the tag value | ||||||
| 
 | 
 | ||||||
|        Note this means hledger's tag values can not  contain  commas  or  new- |        Note  this  means  hledger's  tag values can not contain commas or new- | ||||||
|        lines.  Ending at commas means you can write multiple short tags on one |        lines.  Ending at commas means you can write multiple short tags on one | ||||||
|        line, comma separated: |        line, comma separated: | ||||||
| 
 | 
 | ||||||
| @ -563,16 +565,16 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        o "tag2" is another tag, whose value is "some value ..." |        o "tag2" is another tag, whose value is "some value ..." | ||||||
| 
 | 
 | ||||||
|        Tags in a transaction comment affect the transaction  and  all  of  its |        Tags  in  a  transaction  comment affect the transaction and all of its | ||||||
|        postings,  while  tags  in  a posting comment affect only that posting. |        postings, while tags in a posting comment  affect  only  that  posting. | ||||||
|        For example,  the  following  transaction  has  three  tags  (A,  TAG2, |        For  example,  the  following  transaction  has  three  tags  (A, TAG2, | ||||||
|        third-tag) and the posting has four (those plus posting-tag): |        third-tag) and the posting has four (those plus posting-tag): | ||||||
| 
 | 
 | ||||||
|               1/1 a transaction  ; A:, TAG2: |               1/1 a transaction  ; A:, TAG2: | ||||||
|                   ; third-tag: a third transaction tag, <- with a value |                   ; third-tag: a third transaction tag, <- with a value | ||||||
|                   (a)  $1  ; posting-tag: |                   (a)  $1  ; posting-tag: | ||||||
| 
 | 
 | ||||||
|        Tags  are  like  Ledger's metadata feature, except hledger's tag values |        Tags are like Ledger's metadata feature, except  hledger's  tag  values | ||||||
|        are simple strings. |        are simple strings. | ||||||
| 
 | 
 | ||||||
|    Implicit tags |    Implicit tags | ||||||
| @ -586,14 +588,14 @@ FILE FORMAT | |||||||
| 
 | 
 | ||||||
|        o note - the part of description after |, or all of it |        o note - the part of description after |, or all of it | ||||||
| 
 | 
 | ||||||
|        payee and note support descriptions written in a  special  PAYEE | NOTE |        payee  and  note support descriptions written in a special PAYEE | NOTE | ||||||
|        format, accessing the parts before and after the pipe character respec- |        format, accessing the parts before and after the pipe character respec- | ||||||
|        tively.  For descriptions not containing a pipe character they are  the |        tively.   For descriptions not containing a pipe character they are the | ||||||
|        same as description. |        same as description. | ||||||
| 
 | 
 | ||||||
|    Directives |    Directives | ||||||
|    Account aliases |    Account aliases | ||||||
|        You  can define aliases which rewrite your account names (after reading |        You can define aliases which rewrite your account names (after  reading | ||||||
|        the journal, before generating reports).  hledger's account aliases can |        the journal, before generating reports).  hledger's account aliases can | ||||||
|        be useful for: |        be useful for: | ||||||
| 
 | 
 | ||||||
| @ -610,8 +612,8 @@ FILE FORMAT | |||||||
|        See also Cookbook: rewrite account names. |        See also Cookbook: rewrite account names. | ||||||
| 
 | 
 | ||||||
|    Basic aliases |    Basic aliases | ||||||
|        To  set an account alias, use the alias directive in your journal file. |        To set an account alias, use the alias directive in your journal  file. | ||||||
|        This affects all subsequent journal entries in the current file or  its |        This  affects all subsequent journal entries in the current file or its | ||||||
|        included files.  The spaces around the = are optional: |        included files.  The spaces around the = are optional: | ||||||
| 
 | 
 | ||||||
|               alias OLD = NEW |               alias OLD = NEW | ||||||
| @ -619,52 +621,52 @@ FILE FORMAT | |||||||
|        Or, you can use the --alias 'OLD=NEW' option on the command line.  This |        Or, you can use the --alias 'OLD=NEW' option on the command line.  This | ||||||
|        affects all entries.  It's useful for trying out aliases interactively. |        affects all entries.  It's useful for trying out aliases interactively. | ||||||
| 
 | 
 | ||||||
|        OLD  and  NEW  are full account names.  hledger will replace any occur- |        OLD and NEW are full account names.  hledger will  replace  any  occur- | ||||||
|        rence of the old account name with the new one.  Subaccounts  are  also |        rence  of  the old account name with the new one.  Subaccounts are also | ||||||
|        affected.  Eg: |        affected.  Eg: | ||||||
| 
 | 
 | ||||||
|               alias checking = assets:bank:wells fargo:checking |               alias checking = assets:bank:wells fargo:checking | ||||||
|               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" |               # rewrites "checking" to "assets:bank:wells fargo:checking", or "checking:a" to "assets:bank:wells fargo:checking:a" | ||||||
| 
 | 
 | ||||||
|    Regex aliases |    Regex aliases | ||||||
|        There  is  also a more powerful variant that uses a regular expression, |        There is also a more powerful variant that uses a  regular  expression, | ||||||
|        indicated by the forward slashes: |        indicated by the forward slashes: | ||||||
| 
 | 
 | ||||||
|               alias /REGEX/ = REPLACEMENT |               alias /REGEX/ = REPLACEMENT | ||||||
| 
 | 
 | ||||||
|        or --alias '/REGEX/=REPLACEMENT'. |        or --alias '/REGEX/=REPLACEMENT'. | ||||||
| 
 | 
 | ||||||
|        REGEX is a case-insensitive regular expression.   Anywhere  it  matches |        REGEX  is  a  case-insensitive regular expression.  Anywhere it matches | ||||||
|        inside  an  account name, the matched part will be replaced by REPLACE- |        inside an account name, the matched part will be replaced  by  REPLACE- | ||||||
|        MENT.  If REGEX contains parenthesised match groups, these can be  ref- |        MENT.   If REGEX contains parenthesised match groups, these can be ref- | ||||||
|        erenced by the usual numeric backreferences in REPLACEMENT.  Note, cur- |        erenced by the usual numeric backreferences in REPLACEMENT.  Note, cur- | ||||||
|        rently regular expression  aliases  may  cause  noticeable  slow-downs. |        rently  regular  expression  aliases  may  cause noticeable slow-downs. | ||||||
|        (And if you use Ledger on your hledger file, they will be ignored.) Eg: |        (And if you use Ledger on your hledger file, they will be ignored.) Eg: | ||||||
| 
 | 
 | ||||||
|               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 |               alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3 | ||||||
|               # rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking" |               # rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking" | ||||||
| 
 | 
 | ||||||
|    Multiple aliases |    Multiple aliases | ||||||
|        You can define as many aliases as you like  using  directives  or  com- |        You  can  define  as  many aliases as you like using directives or com- | ||||||
|        mand-line  options.  Aliases are recursive - each alias sees the result |        mand-line options.  Aliases are recursive - each alias sees the  result | ||||||
|        of applying previous ones.   (This  is  different  from  Ledger,  where |        of  applying  previous  ones.   (This  is  different from Ledger, where | ||||||
|        aliases are non-recursive by default).  Aliases are applied in the fol- |        aliases are non-recursive by default).  Aliases are applied in the fol- | ||||||
|        lowing order: |        lowing order: | ||||||
| 
 | 
 | ||||||
|        1. alias directives, most recently seen first (recent  directives  take |        1. alias  directives,  most recently seen first (recent directives take | ||||||
|           precedence over earlier ones; directives not yet seen are ignored) |           precedence over earlier ones; directives not yet seen are ignored) | ||||||
| 
 | 
 | ||||||
|        2. alias options, in the order they appear on the command line |        2. alias options, in the order they appear on the command line | ||||||
| 
 | 
 | ||||||
|    end aliases |    end aliases | ||||||
|        You   can  clear  (forget)  all  currently  defined  aliases  with  the |        You  can  clear  (forget)  all  currently  defined  aliases  with   the | ||||||
|        end aliases directive: |        end aliases directive: | ||||||
| 
 | 
 | ||||||
|               end aliases |               end aliases | ||||||
| 
 | 
 | ||||||
|    account directive |    account directive | ||||||
|        The account directive predefines account names, as in Ledger and  Bean- |        The  account directive predefines account names, as in Ledger and Bean- | ||||||
|        count.   This may be useful for your own documentation; hledger doesn't |        count.  This may be useful for your own documentation; hledger  doesn't | ||||||
|        make use of it yet. |        make use of it yet. | ||||||
| 
 | 
 | ||||||
|               ; account ACCT |               ; account ACCT | ||||||
| @ -679,8 +681,8 @@ FILE FORMAT | |||||||
|               ; etc. |               ; etc. | ||||||
| 
 | 
 | ||||||
|    apply account directive |    apply account directive | ||||||
|        You can specify a  parent  account  which  will  be  prepended  to  all |        You  can  specify  a  parent  account  which  will  be prepended to all | ||||||
|        accounts  within  a  section of the journal.  Use the apply account and |        accounts within a section of the journal.  Use  the  apply account  and | ||||||
|        end apply account directives like so: |        end apply account directives like so: | ||||||
| 
 | 
 | ||||||
|               apply account home |               apply account home | ||||||
| @ -697,7 +699,7 @@ FILE FORMAT | |||||||
|                   home:food           $10 |                   home:food           $10 | ||||||
|                   home:cash          $-10 |                   home:cash          $-10 | ||||||
| 
 | 
 | ||||||
|        If end apply account is omitted, the effect lasts to  the  end  of  the |        If  end apply account  is  omitted,  the effect lasts to the end of the | ||||||
|        file.  Included files are also affected, eg: |        file.  Included files are also affected, eg: | ||||||
| 
 | 
 | ||||||
|               apply account business |               apply account business | ||||||
| @ -706,16 +708,16 @@ FILE FORMAT | |||||||
|               apply account personal |               apply account personal | ||||||
|               include personal.journal |               include personal.journal | ||||||
| 
 | 
 | ||||||
|        Prior  to  hledger 1.0, legacy account and end spellings were also sup- |        Prior to hledger 1.0, legacy account and end spellings were  also  sup- | ||||||
|        ported. |        ported. | ||||||
| 
 | 
 | ||||||
|    Multi-line comments |    Multi-line comments | ||||||
|        A line containing just comment starts a multi-line comment, and a  line |        A  line containing just comment starts a multi-line comment, and a line | ||||||
|        containing just end comment ends it.  See comments. |        containing just end comment ends it.  See comments. | ||||||
| 
 | 
 | ||||||
|    commodity directive |    commodity directive | ||||||
|        The  commodity directive predefines commodities (currently this is just |        The commodity directive predefines commodities (currently this is  just | ||||||
|        informational), and also it may define the display format  for  amounts |        informational),  and  also it may define the display format for amounts | ||||||
|        in this commodity (overriding the automatically inferred format). |        in this commodity (overriding the automatically inferred format). | ||||||
| 
 | 
 | ||||||
|        It may be written on a single line, like this: |        It may be written on a single line, like this: | ||||||
| @ -727,8 +729,8 @@ FILE FORMAT | |||||||
|               ; separating thousands with comma. |               ; separating thousands with comma. | ||||||
|               commodity 1,000.0000 AAAA |               commodity 1,000.0000 AAAA | ||||||
| 
 | 
 | ||||||
|        or  on  multiple  lines, using the "format" subdirective.  In this case |        or on multiple lines, using the "format" subdirective.   In  this  case | ||||||
|        the commodity symbol appears twice and  should  be  the  same  in  both |        the  commodity  symbol  appears  twice  and  should be the same in both | ||||||
|        places: |        places: | ||||||
| 
 | 
 | ||||||
|               ; commodity SYMBOL |               ; commodity SYMBOL | ||||||
| @ -741,10 +743,10 @@ FILE FORMAT | |||||||
|                 format INR 9,99,99,999.00 |                 format INR 9,99,99,999.00 | ||||||
| 
 | 
 | ||||||
|    Default commodity |    Default commodity | ||||||
|        The  D  directive  sets a default commodity (and display format), to be |        The D directive sets a default commodity (and display  format),  to  be | ||||||
|        used for amounts without a commodity symbol (ie, plain numbers).  (Note |        used for amounts without a commodity symbol (ie, plain numbers).  (Note | ||||||
|        this  differs from Ledger's default commodity directive.) The commodity |        this differs from Ledger's default commodity directive.) The  commodity | ||||||
|        and display format will be applied  to  all  subsequent  commodity-less |        and  display  format  will  be applied to all subsequent commodity-less | ||||||
|        amounts, or until the next D directive. |        amounts, or until the next D directive. | ||||||
| 
 | 
 | ||||||
|               # commodity-less amounts should be treated as dollars |               # commodity-less amounts should be treated as dollars | ||||||
| @ -756,8 +758,8 @@ FILE FORMAT | |||||||
|                 b |                 b | ||||||
| 
 | 
 | ||||||
|    Default year |    Default year | ||||||
|        You  can set a default year to be used for subsequent dates which don't |        You can set a default year to be used for subsequent dates which  don't | ||||||
|        specify a year.  This is a line beginning with Y followed by the  year. |        specify  a year.  This is a line beginning with Y followed by the year. | ||||||
|        Eg: |        Eg: | ||||||
| 
 | 
 | ||||||
|               Y2009      ; set default year to 2009 |               Y2009      ; set default year to 2009 | ||||||
| @ -777,24 +779,24 @@ FILE FORMAT | |||||||
|                 assets |                 assets | ||||||
| 
 | 
 | ||||||
|    Including other files |    Including other files | ||||||
|        You  can  pull in the content of additional journal files by writing an |        You can pull in the content of additional journal files by  writing  an | ||||||
|        include directive, like this: |        include directive, like this: | ||||||
| 
 | 
 | ||||||
|               include path/to/file.journal |               include path/to/file.journal | ||||||
| 
 | 
 | ||||||
|        If the path does not begin with a slash, it is relative to the  current |        If  the path does not begin with a slash, it is relative to the current | ||||||
|        file.  Glob patterns (*) are not currently supported. |        file.  Glob patterns (*) are not currently supported. | ||||||
| 
 | 
 | ||||||
|        The  include  directive  can  only  be  used  in journal files.  It can |        The include directive can only  be  used  in  journal  files.   It  can | ||||||
|        include journal, timeclock or timedot files, but not CSV files. |        include journal, timeclock or timedot files, but not CSV files. | ||||||
| 
 | 
 | ||||||
| EDITOR SUPPORT | EDITOR SUPPORT | ||||||
|        Add-on modes exist for various text editors, to make working with jour- |        Add-on modes exist for various text editors, to make working with jour- | ||||||
|        nal  files  easier.   They add colour, navigation aids and helpful com- |        nal files easier.  They add colour, navigation aids  and  helpful  com- | ||||||
|        mands.  For hledger users who  edit  the  journal  file  directly  (the |        mands.   For  hledger  users  who  edit  the journal file directly (the | ||||||
|        majority), using one of these modes is quite recommended. |        majority), using one of these modes is quite recommended. | ||||||
| 
 | 
 | ||||||
|        These  were  written  with  Ledger  in mind, but also work with hledger |        These were written with Ledger in mind,  but  also  work  with  hledger | ||||||
|        files: |        files: | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -805,14 +807,13 @@ EDITOR SUPPORT | |||||||
|                           lime-Text |                           lime-Text | ||||||
|        Textmate           https://github.com/ledger/ledger/wiki/Using-Text- |        Textmate           https://github.com/ledger/ledger/wiki/Using-Text- | ||||||
|                           Mate-2 |                           Mate-2 | ||||||
| 
 |  | ||||||
|        Text Wrangler      https://github.com/ledger/ledger/wiki/Edit- |        Text Wrangler      https://github.com/ledger/ledger/wiki/Edit- | ||||||
|                           ing-Ledger-files-with-TextWrangler |                           ing-Ledger-files-with-TextWrangler | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| REPORTING BUGS | REPORTING BUGS | ||||||
|        Report bugs at http://bugs.hledger.org (or on the #hledger IRC  channel |        Report  bugs at http://bugs.hledger.org (or on the #hledger IRC channel | ||||||
|        or hledger mail list) |        or hledger mail list) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -826,7 +827,7 @@ COPYRIGHT | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| SEE ALSO | SEE ALSO | ||||||
|        hledger(1),      hledger-ui(1),     hledger-web(1),     hledger-api(1), |        hledger(1),     hledger-ui(1),     hledger-web(1),      hledger-api(1), | ||||||
|        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- |        hledger_csv(5), hledger_journal(5), hledger_timeclock(5), hledger_time- | ||||||
|        dot(5), ledger(1) |        dot(5), ledger(1) | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -156,7 +156,7 @@ include only pending postings/txns | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
| .B \f[C]\-U\ \-\-uncleared\f[] | .B \f[C]\-U\ \-\-unmarked\f[] | ||||||
| include only unmarked postings/txns | include only unmarked postings/txns | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | |||||||
| @ -110,7 +110,7 @@ the data. | |||||||
| '-P --pending' | '-P --pending' | ||||||
| 
 | 
 | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
| '-U --uncleared' | '-U --unmarked' | ||||||
| 
 | 
 | ||||||
|      include only unmarked postings/txns |      include only unmarked postings/txns | ||||||
| '-R --real' | '-R --real' | ||||||
| @ -359,17 +359,17 @@ Tag Table: | |||||||
| Node: Top73 | Node: Top73 | ||||||
| Node: OPTIONS831 | Node: OPTIONS831 | ||||||
| Ref: #options930 | Ref: #options930 | ||||||
| Node: KEYS3644 | Node: KEYS3643 | ||||||
| Ref: #keys3741 | Ref: #keys3740 | ||||||
| Node: SCREENS6330 | Node: SCREENS6329 | ||||||
| Ref: #screens6417 | Ref: #screens6416 | ||||||
| Node: Accounts screen6507 | Node: Accounts screen6506 | ||||||
| Ref: #accounts-screen6637 | Ref: #accounts-screen6636 | ||||||
| Node: Register screen8767 | Node: Register screen8766 | ||||||
| Ref: #register-screen8924 | Ref: #register-screen8923 | ||||||
| Node: Transaction screen10867 | Node: Transaction screen10866 | ||||||
| Ref: #transaction-screen11027 | Ref: #transaction-screen11026 | ||||||
| Node: Error screen11897 | Node: Error screen11896 | ||||||
| Ref: #error-screen12021 | Ref: #error-screen12020 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -107,7 +107,7 @@ OPTIONS | |||||||
|        -P --pending |        -P --pending | ||||||
|               include only pending postings/txns |               include only pending postings/txns | ||||||
| 
 | 
 | ||||||
|        -U --uncleared |        -U --unmarked | ||||||
|               include only unmarked postings/txns |               include only unmarked postings/txns | ||||||
| 
 | 
 | ||||||
|        -R --real |        -R --real | ||||||
|  | |||||||
| @ -212,7 +212,7 @@ include only pending postings/txns | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
| .B \f[C]\-U\ \-\-uncleared\f[] | .B \f[C]\-U\ \-\-unmarked\f[] | ||||||
| include only unmarked postings/txns | include only unmarked postings/txns | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | |||||||
| @ -155,7 +155,7 @@ options as shown above. | |||||||
| '-P --pending' | '-P --pending' | ||||||
| 
 | 
 | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
| '-U --uncleared' | '-U --unmarked' | ||||||
| 
 | 
 | ||||||
|      include only unmarked postings/txns |      include only unmarked postings/txns | ||||||
| '-R --real' | '-R --real' | ||||||
|  | |||||||
| @ -152,7 +152,7 @@ OPTIONS | |||||||
|        -P --pending |        -P --pending | ||||||
|               include only pending postings/txns |               include only pending postings/txns | ||||||
| 
 | 
 | ||||||
|        -U --uncleared |        -U --unmarked | ||||||
|               include only unmarked postings/txns |               include only unmarked postings/txns | ||||||
| 
 | 
 | ||||||
|        -R --real |        -R --real | ||||||
|  | |||||||
| @ -283,7 +283,7 @@ include only pending postings/txns | |||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
| .TP | .TP | ||||||
| .B \f[C]\-U\ \-\-uncleared\f[] | .B \f[C]\-U\ \-\-unmarked\f[] | ||||||
| include only unmarked postings/txns | include only unmarked postings/txns | ||||||
| .RS | .RS | ||||||
| .RE | .RE | ||||||
|  | |||||||
| @ -220,7 +220,7 @@ different, like git.) | |||||||
| '-P --pending' | '-P --pending' | ||||||
| 
 | 
 | ||||||
|      include only pending postings/txns |      include only pending postings/txns | ||||||
| '-U --uncleared' | '-U --unmarked' | ||||||
| 
 | 
 | ||||||
|      include only unmarked postings/txns |      include only unmarked postings/txns | ||||||
| '-R --real' | '-R --real' | ||||||
| @ -2120,123 +2120,123 @@ Node: OPTIONS3640 | |||||||
| Ref: #options3744 | Ref: #options3744 | ||||||
| Node: General options4025 | Node: General options4025 | ||||||
| Ref: #general-options4152 | Ref: #general-options4152 | ||||||
| Node: Command options6663 | Node: Command options6662 | ||||||
| Ref: #command-options6816 | Ref: #command-options6815 | ||||||
| Node: Command arguments7214 | Node: Command arguments7213 | ||||||
| Ref: #command-arguments7374 | Ref: #command-arguments7373 | ||||||
| Node: Special characters7495 | Node: Special characters7494 | ||||||
| Ref: #special-characters7653 | Ref: #special-characters7652 | ||||||
| Node: Input files8821 | Node: Input files8820 | ||||||
| Ref: #input-files8959 | Ref: #input-files8958 | ||||||
| Node: Smart dates10922 | Node: Smart dates10921 | ||||||
| Ref: #smart-dates11065 | Ref: #smart-dates11064 | ||||||
| Node: Report start & end date12044 | Node: Report start & end date12043 | ||||||
| Ref: #report-start-end-date12216 | Ref: #report-start-end-date12215 | ||||||
| Node: Report intervals13282 | Node: Report intervals13281 | ||||||
| Ref: #report-intervals13447 | Ref: #report-intervals13446 | ||||||
| Node: Period expressions13848 | Node: Period expressions13847 | ||||||
| Ref: #period-expressions14008 | Ref: #period-expressions14007 | ||||||
| Node: Depth limiting16348 | Node: Depth limiting16347 | ||||||
| Ref: #depth-limiting16494 | Ref: #depth-limiting16493 | ||||||
| Node: Pivoting16695 | Node: Pivoting16694 | ||||||
| Ref: #pivoting16815 | Ref: #pivoting16814 | ||||||
| Node: Cost18586 | Node: Cost18585 | ||||||
| Ref: #cost18696 | Ref: #cost18695 | ||||||
| Node: Market value18814 | Node: Market value18813 | ||||||
| Ref: #market-value18951 | Ref: #market-value18950 | ||||||
| Node: Regular expressions20251 | Node: Regular expressions20250 | ||||||
| Ref: #regular-expressions20389 | Ref: #regular-expressions20388 | ||||||
| Node: QUERIES21750 | Node: QUERIES21749 | ||||||
| Ref: #queries21854 | Ref: #queries21853 | ||||||
| Node: COMMANDS25533 | Node: COMMANDS25532 | ||||||
| Ref: #commands25647 | Ref: #commands25646 | ||||||
| Node: accounts26320 | Node: accounts26319 | ||||||
| Ref: #accounts26420 | Ref: #accounts26419 | ||||||
| Node: activity27402 | Node: activity27401 | ||||||
| Ref: #activity27514 | Ref: #activity27513 | ||||||
| Node: add27873 | Node: add27872 | ||||||
| Ref: #add27974 | Ref: #add27973 | ||||||
| Node: balance30632 | Node: balance30631 | ||||||
| Ref: #balance30745 | Ref: #balance30744 | ||||||
| Node: Flat mode33760 | Node: Flat mode33759 | ||||||
| Ref: #flat-mode33887 | Ref: #flat-mode33886 | ||||||
| Node: Depth limited balance reports34307 | Node: Depth limited balance reports34306 | ||||||
| Ref: #depth-limited-balance-reports34510 | Ref: #depth-limited-balance-reports34509 | ||||||
| Node: Multicolumn balance reports34930 | Node: Multicolumn balance reports34929 | ||||||
| Ref: #multicolumn-balance-reports35141 | Ref: #multicolumn-balance-reports35140 | ||||||
| Node: Custom balance output39789 | Node: Custom balance output39788 | ||||||
| Ref: #custom-balance-output39973 | Ref: #custom-balance-output39972 | ||||||
| Node: Colour support42066 | Node: Colour support42065 | ||||||
| Ref: #colour-support42227 | Ref: #colour-support42226 | ||||||
| Node: Output destination42400 | Node: Output destination42399 | ||||||
| Ref: #output-destination42558 | Ref: #output-destination42557 | ||||||
| Node: CSV output42828 | Node: CSV output42827 | ||||||
| Ref: #csv-output42947 | Ref: #csv-output42946 | ||||||
| Node: balancesheet43344 | Node: balancesheet43343 | ||||||
| Ref: #balancesheet43472 | Ref: #balancesheet43471 | ||||||
| Node: cashflow45379 | Node: cashflow45378 | ||||||
| Ref: #cashflow45496 | Ref: #cashflow45495 | ||||||
| Node: help47364 | Node: help47363 | ||||||
| Ref: #help47476 | Ref: #help47475 | ||||||
| Node: incomestatement48314 | Node: incomestatement48313 | ||||||
| Ref: #incomestatement48444 | Ref: #incomestatement48443 | ||||||
| Node: info50336 | Node: info50335 | ||||||
| Ref: #info50443 | Ref: #info50442 | ||||||
| Node: man50807 | Node: man50806 | ||||||
| Ref: #man50904 | Ref: #man50903 | ||||||
| Node: print51309 | Node: print51308 | ||||||
| Ref: #print51414 | Ref: #print51413 | ||||||
| Node: register55170 | Node: register55169 | ||||||
| Ref: #register55283 | Ref: #register55282 | ||||||
| Node: Custom register output59779 | Node: Custom register output59778 | ||||||
| Ref: #custom-register-output59910 | Ref: #custom-register-output59909 | ||||||
| Node: stats61207 | Node: stats61206 | ||||||
| Ref: #stats61313 | Ref: #stats61312 | ||||||
| Node: test62194 | Node: test62193 | ||||||
| Ref: #test62281 | Ref: #test62280 | ||||||
| Node: ADD-ON COMMANDS62649 | Node: ADD-ON COMMANDS62648 | ||||||
| Ref: #add-on-commands62761 | Ref: #add-on-commands62760 | ||||||
| Node: Official add-ons64048 | Node: Official add-ons64047 | ||||||
| Ref: #official-add-ons64190 | Ref: #official-add-ons64189 | ||||||
| Node: api64277 | Node: api64276 | ||||||
| Ref: #api64368 | Ref: #api64367 | ||||||
| Node: ui64420 | Node: ui64419 | ||||||
| Ref: #ui64521 | Ref: #ui64520 | ||||||
| Node: web64579 | Node: web64578 | ||||||
| Ref: #web64670 | Ref: #web64669 | ||||||
| Node: Third party add-ons64716 | Node: Third party add-ons64715 | ||||||
| Ref: #third-party-add-ons64893 | Ref: #third-party-add-ons64892 | ||||||
| Node: diff65028 | Node: diff65027 | ||||||
| Ref: #diff65127 | Ref: #diff65126 | ||||||
| Node: iadd65226 | Node: iadd65225 | ||||||
| Ref: #iadd65342 | Ref: #iadd65341 | ||||||
| Node: interest65425 | Node: interest65424 | ||||||
| Ref: #interest65548 | Ref: #interest65547 | ||||||
| Node: irr65643 | Node: irr65642 | ||||||
| Ref: #irr65743 | Ref: #irr65742 | ||||||
| Node: Experimental add-ons65821 | Node: Experimental add-ons65820 | ||||||
| Ref: #experimental-add-ons65975 | Ref: #experimental-add-ons65974 | ||||||
| Node: autosync66368 | Node: autosync66367 | ||||||
| Ref: #autosync66482 | Ref: #autosync66481 | ||||||
| Node: budget66721 | Node: budget66720 | ||||||
| Ref: #budget66845 | Ref: #budget66844 | ||||||
| Node: chart66911 | Node: chart66910 | ||||||
| Ref: #chart67030 | Ref: #chart67029 | ||||||
| Node: check67101 | Node: check67100 | ||||||
| Ref: #check67225 | Ref: #check67224 | ||||||
| Node: check-dates67292 | Node: check-dates67291 | ||||||
| Ref: #check-dates67434 | Ref: #check-dates67433 | ||||||
| Node: check-dupes67507 | Node: check-dupes67506 | ||||||
| Ref: #check-dupes67650 | Ref: #check-dupes67649 | ||||||
| Node: equity67727 | Node: equity67726 | ||||||
| Ref: #equity67855 | Ref: #equity67854 | ||||||
| Node: prices67974 | Node: prices67973 | ||||||
| Ref: #prices68103 | Ref: #prices68102 | ||||||
| Node: print-unique68158 | Node: print-unique68157 | ||||||
| Ref: #print-unique68307 | Ref: #print-unique68306 | ||||||
| Node: register-match68400 | Node: register-match68399 | ||||||
| Ref: #register-match68556 | Ref: #register-match68555 | ||||||
| Node: rewrite68654 | Node: rewrite68653 | ||||||
| Ref: #rewrite68775 | Ref: #rewrite68774 | ||||||
|  |  | ||||||
| End Tag Table | End Tag Table | ||||||
|  | |||||||
| @ -188,7 +188,7 @@ OPTIONS | |||||||
|        -P --pending |        -P --pending | ||||||
|               include only pending postings/txns |               include only pending postings/txns | ||||||
| 
 | 
 | ||||||
|        -U --uncleared |        -U --unmarked | ||||||
|               include only unmarked postings/txns |               include only unmarked postings/txns | ||||||
| 
 | 
 | ||||||
|        -R --real |        -R --real | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user