doc: also commit info files, should fix travis
This commit is contained in:
		
							parent
							
								
									a77f0a3835
								
							
						
					
					
						commit
						80948d1db7
					
				
							
								
								
									
										74
									
								
								hledger-api/doc/hledger-api.1.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								hledger-api/doc/hledger-api.1.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					This is hledger-api/doc/hledger-api.1.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-api.1.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-api(1)
 | 
				
			||||||
 | 
					**************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-api is a simple web API server, intended to support client-side
 | 
				
			||||||
 | 
					web apps operating on hledger data. It comes with a series of simple
 | 
				
			||||||
 | 
					client-side app examples, which drive it's evolution.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Data is served from the usual hledger journal file:
 | 
				
			||||||
 | 
					`~/.hledger.journal', `$LEDGER_FILE', or another file specified with
 | 
				
			||||||
 | 
					-f. For more about the format, see hledger(1) or hledger_journal(5).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The server listens on port 8001, or another specified with `-p
 | 
				
			||||||
 | 
					PORT'. Note there is no built-in access control, so you will need to
 | 
				
			||||||
 | 
					hide hledger-api behind an authenticating proxy if you want to restrict
 | 
				
			||||||
 | 
					access.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If invoked as `hledger-api --swagger', instead of starting a server
 | 
				
			||||||
 | 
					the API docs will be printed in Swagger 2.0 format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* OPTIONS::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-api.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 OPTIONS
 | 
				
			||||||
 | 
					*********
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: if invoking hledger-api as a hledger subcommand, write `--'
 | 
				
			||||||
 | 
					before options as shown above.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-f --file FILE'
 | 
				
			||||||
 | 
					     use a different input file (default: `$LEDGER_FILE' or
 | 
				
			||||||
 | 
					     `~/.hledger.journal')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-d --static-dir=DIR'
 | 
				
			||||||
 | 
					     serve files from a different directory (default: `.')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-p --port=PORT'
 | 
				
			||||||
 | 
					     use a different TCP port (default: 8001)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--swagger'
 | 
				
			||||||
 | 
					     print API docs in Swagger 2.0 format, and exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-h'
 | 
				
			||||||
 | 
					     show usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--help'
 | 
				
			||||||
 | 
					     show manual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--man'
 | 
				
			||||||
 | 
					     show manual with man
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--info'
 | 
				
			||||||
 | 
					     show manual with info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--version'
 | 
				
			||||||
 | 
					     show version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top90
 | 
				
			||||||
 | 
					Node: OPTIONS925
 | 
				
			||||||
 | 
					Ref: #options1012
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										230
									
								
								hledger-lib/doc/hledger_csv.5.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										230
									
								
								hledger-lib/doc/hledger_csv.5.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,230 @@
 | 
				
			|||||||
 | 
					This is hledger-lib/doc/hledger_csv.5.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger_csv(5)
 | 
				
			||||||
 | 
					**************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger can read CSV files, converting each CSV record into a journal
 | 
				
			||||||
 | 
					entry (transaction), if you provide some conversion hints in a "rules
 | 
				
			||||||
 | 
					file". This file should be named like the CSV file with an additional
 | 
				
			||||||
 | 
					`.rules' suffix (eg: `mybank.csv.rules'); or, you can specify the file
 | 
				
			||||||
 | 
					with `--rules-file PATH'. hledger will create it if necessary, with
 | 
				
			||||||
 | 
					some default rules which you'll need to adjust. At minimum, the rules
 | 
				
			||||||
 | 
					file must specify the `date' and `amount' fields. For an example, see
 | 
				
			||||||
 | 
					How to read CSV files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   To learn about _exporting_ CSV, see CSV output.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* CSV RULES::
 | 
				
			||||||
 | 
					* TIPS::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: CSV RULES,  Next: TIPS,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 CSV RULES
 | 
				
			||||||
 | 
					***********
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following six kinds of rule can appear in the rules file, in any
 | 
				
			||||||
 | 
					order. Blank lines and lines beginning with `#' or `;' are ignored.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* skip::
 | 
				
			||||||
 | 
					* date-format::
 | 
				
			||||||
 | 
					* field list::
 | 
				
			||||||
 | 
					* field assignment::
 | 
				
			||||||
 | 
					* conditional block::
 | 
				
			||||||
 | 
					* include::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: skip,  Next: date-format,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.1 skip
 | 
				
			||||||
 | 
					========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`skip'_`N'_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Skip this number of CSV records at the beginning. You'll need this
 | 
				
			||||||
 | 
					whenever your CSV data contains header lines. Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ignore the first CSV line
 | 
				
			||||||
 | 
					skip 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: date-format,  Next: field list,  Prev: skip,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.2 date-format
 | 
				
			||||||
 | 
					===============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`date-format'_`DATEFMT'_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When your CSV date fields are not formatted like `YYYY/MM/DD' (or
 | 
				
			||||||
 | 
					`YYYY-MM-DD' or `YYYY.MM.DD'), you'll need to specify the format.
 | 
				
			||||||
 | 
					DATEFMT is a strptime-like date parsing pattern, which must parse the
 | 
				
			||||||
 | 
					date field values completely. Examples:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# for dates like "6/11/2013":
 | 
				
			||||||
 | 
					date-format %-d/%-m/%Y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# for dates like "11/06/2013":
 | 
				
			||||||
 | 
					date-format %m/%d/%Y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# for dates like "2013-Nov-06":
 | 
				
			||||||
 | 
					date-format %Y-%h-%d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# for dates like "11/6/2013 11:32 PM":
 | 
				
			||||||
 | 
					date-format %-m/%-d/%Y %l:%M %p
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: field list,  Next: field assignment,  Prev: date-format,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.3 field list
 | 
				
			||||||
 | 
					==============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`fields'_`FIELDNAME1'_, _`FIELDNAME2'_...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This (a) names the CSV fields, in order (names may not contain
 | 
				
			||||||
 | 
					whitespace, but may be omitted), and (b) assigns them to journal entry
 | 
				
			||||||
 | 
					fields if you use any of these standard field names: `date', `date2',
 | 
				
			||||||
 | 
					`status', `code', `description', `comment', `account1', `account2',
 | 
				
			||||||
 | 
					`amount', `amount-in', `amount-out', `currency'. Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# use the 1st, 2nd and 4th CSV fields as the entry's date, description and amount,
 | 
				
			||||||
 | 
					# and give the 7th and 8th fields meaningful names for later reference:
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# CSV field:
 | 
				
			||||||
 | 
					#      1     2            3 4       5 6 7          8
 | 
				
			||||||
 | 
					# entry field:
 | 
				
			||||||
 | 
					fields date, description, , amount, , , somefield, anotherfield
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: field assignment,  Next: conditional block,  Prev: field list,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.4 field assignment
 | 
				
			||||||
 | 
					====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					_`ENTRYFIELDNAME'_ _`FIELDVALUE'_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This sets a journal entry field (one of the standard names above) to
 | 
				
			||||||
 | 
					the given text value, which can include CSV field values interpolated by
 | 
				
			||||||
 | 
					name (`%CSVFIELDNAME') or 1-based position (`%N'). Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# set the amount to the 4th CSV field with "USD " prepended
 | 
				
			||||||
 | 
					amount USD %4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# combine three fields to make a comment (containing two tags)
 | 
				
			||||||
 | 
					comment note: %somefield - %anotherfield, date: %1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Field assignments can be used instead of or in addition to a field
 | 
				
			||||||
 | 
					list.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: conditional block,  Next: include,  Prev: field assignment,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.5 conditional block
 | 
				
			||||||
 | 
					=====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`if' _`PATTERN'_
 | 
				
			||||||
 | 
					_`FIELDASSIGNMENTS'_...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `if'
 | 
				
			||||||
 | 
					_`PATTERN'_
 | 
				
			||||||
 | 
					_`PATTERN'_...
 | 
				
			||||||
 | 
					_`FIELDASSIGNMENTS'_...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   This applies one or more field assignments, only to those CSV records
 | 
				
			||||||
 | 
					matched by one of the PATTERNs. The patterns are case-insensitive
 | 
				
			||||||
 | 
					regular expressions which match anywhere within the whole CSV record
 | 
				
			||||||
 | 
					(it's not yet possible to match within a specific field). When there are
 | 
				
			||||||
 | 
					multiple patterns they should be written on separate lines, unindented.
 | 
				
			||||||
 | 
					The field assignments are on separate lines indented by at least one
 | 
				
			||||||
 | 
					space. Examples:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# if the CSV record contains "groceries", set account2 to "expenses:groceries"
 | 
				
			||||||
 | 
					if groceries
 | 
				
			||||||
 | 
					 account2 expenses:groceries
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# if the CSV record contains any of these patterns, set account2 and comment as shown
 | 
				
			||||||
 | 
					if
 | 
				
			||||||
 | 
					monthly service fee
 | 
				
			||||||
 | 
					atm transaction fee
 | 
				
			||||||
 | 
					banking thru software
 | 
				
			||||||
 | 
					 account2 expenses:business:banking
 | 
				
			||||||
 | 
					 comment  XXX deductible ? check it
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: include,  Prev: conditional block,  Up: CSV RULES
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6 include
 | 
				
			||||||
 | 
					===========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`include'_`RULESFILE'_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Include another rules file at this point. `RULESFILE' is either an
 | 
				
			||||||
 | 
					absolute file path or a path relative to the current file's directory.
 | 
				
			||||||
 | 
					Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# rules reused with several CSV files
 | 
				
			||||||
 | 
					include common.rules
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_csv.5.info,  Node: TIPS,  Prev: CSV RULES,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2 TIPS
 | 
				
			||||||
 | 
					******
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Each generated journal entry will have two postings, to `account1' and
 | 
				
			||||||
 | 
					`account2' respectively. Currently it's not possible to generate
 | 
				
			||||||
 | 
					entries with more than two postings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If the CSV has debit/credit amounts in separate fields, assign to the
 | 
				
			||||||
 | 
					`amount-in' and `amount-out' pseudo fields instead of `amount'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If the CSV has the currency in a separate field, assign that to the
 | 
				
			||||||
 | 
					`currency' pseudo field which will be automatically prepended to the
 | 
				
			||||||
 | 
					amount. (Or you can do the same thing with a field assignment.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If an amount value is parenthesised, it will be de-parenthesised and
 | 
				
			||||||
 | 
					sign-flipped automatically.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The generated journal entries will be sorted by date. The original
 | 
				
			||||||
 | 
					order of same-day entries will be preserved, usually.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top90
 | 
				
			||||||
 | 
					Node: CSV RULES771
 | 
				
			||||||
 | 
					Ref: #csv-rules877
 | 
				
			||||||
 | 
					Node: skip1120
 | 
				
			||||||
 | 
					Ref: #skip1216
 | 
				
			||||||
 | 
					Node: date-format1387
 | 
				
			||||||
 | 
					Ref: #date-format1516
 | 
				
			||||||
 | 
					Node: field list2025
 | 
				
			||||||
 | 
					Ref: #field-list2164
 | 
				
			||||||
 | 
					Node: field assignment2840
 | 
				
			||||||
 | 
					Ref: #field-assignment2997
 | 
				
			||||||
 | 
					Node: conditional block3502
 | 
				
			||||||
 | 
					Ref: #conditional-block3658
 | 
				
			||||||
 | 
					Node: include4548
 | 
				
			||||||
 | 
					Ref: #include4659
 | 
				
			||||||
 | 
					Node: TIPS4890
 | 
				
			||||||
 | 
					Ref: #tips4974
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										983
									
								
								hledger-lib/doc/hledger_journal.5.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										983
									
								
								hledger-lib/doc/hledger_journal.5.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,983 @@
 | 
				
			|||||||
 | 
					This is hledger-lib/doc/hledger_journal.5.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger_journal(5)
 | 
				
			||||||
 | 
					******************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 ledger on
 | 
				
			||||||
 | 
					the same journal file, eg to validate the results you're getting.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   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 assisted
 | 
				
			||||||
 | 
					by the helper modes for emacs or vim.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Here's an example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; A sample journal file. This is a comment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2008/01/01 income               ; <- transaction's first line starts in column 0, contains date and description
 | 
				
			||||||
 | 
					    assets:bank:checking  $1    ; <- posting lines start with whitespace, each contains an account name
 | 
				
			||||||
 | 
					    income:salary        $-1    ;    followed by at least two spaces and an amount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2008/06/01 gift
 | 
				
			||||||
 | 
					    assets:bank:checking  $1    ; <- at least two postings in a transaction
 | 
				
			||||||
 | 
					    income:gifts         $-1    ; <- their amounts must balance to 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2008/06/02 save
 | 
				
			||||||
 | 
					    assets:bank:saving    $1
 | 
				
			||||||
 | 
					    assets:bank:checking        ; <- one amount may be omitted; here $-1 is inferred
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2008/06/03 eat & shop           ; <- description can be anything
 | 
				
			||||||
 | 
					    expenses:food         $1
 | 
				
			||||||
 | 
					    expenses:supplies     $1    ; <- this transaction debits two expense accounts
 | 
				
			||||||
 | 
					    assets:cash                 ; <- $-2 inferred
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2008/12/31 * pay off            ; <- an optional * or ! after the date means "cleared" (or anything you want)
 | 
				
			||||||
 | 
					    liabilities:debts     $1
 | 
				
			||||||
 | 
					    assets:bank:checking
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* FILE FORMAT::
 | 
				
			||||||
 | 
					* EDITOR SUPPORT::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: FILE FORMAT,  Next: EDITOR SUPPORT,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 FILE FORMAT
 | 
				
			||||||
 | 
					*************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Transactions::
 | 
				
			||||||
 | 
					* Dates::
 | 
				
			||||||
 | 
					* Account names::
 | 
				
			||||||
 | 
					* Amounts::
 | 
				
			||||||
 | 
					* Virtual Postings::
 | 
				
			||||||
 | 
					* Balance Assertions::
 | 
				
			||||||
 | 
					* Prices::
 | 
				
			||||||
 | 
					* Comments::
 | 
				
			||||||
 | 
					* Tags::
 | 
				
			||||||
 | 
					* Directives::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Transactions,  Next: Dates,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.1 Transactions
 | 
				
			||||||
 | 
					================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Transactions are represented by journal entries. Each begins with a
 | 
				
			||||||
 | 
					simple date in column 0, followed by three optional fields with spaces
 | 
				
			||||||
 | 
					between them:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * a status flag, which can be empty or `!' or `*' (meaning
 | 
				
			||||||
 | 
					     "uncleared", "pending" and "cleared", or whatever you want)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * a transaction code (eg a check number),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * and/or a description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   then some number of postings, of some amount to some account, each on
 | 
				
			||||||
 | 
					its own line. Usually there are at least two postings, though one or
 | 
				
			||||||
 | 
					even none is possible.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The (real) posting amounts within a transaction must always balance,
 | 
				
			||||||
 | 
					ie add up to 0. Optionally one amount can be left blank, in which case
 | 
				
			||||||
 | 
					it will be inferred.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Dates,  Next: Account names,  Prev: Transactions,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.2 Dates
 | 
				
			||||||
 | 
					=========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Simple dates::
 | 
				
			||||||
 | 
					* Secondary dates::
 | 
				
			||||||
 | 
					* Posting dates::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Simple dates,  Next: Secondary dates,  Up: Dates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.2.1 Simple dates
 | 
				
			||||||
 | 
					------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Within a journal file, transaction dates use Y/M/D (or Y-M-D or Y.M.D)
 | 
				
			||||||
 | 
					Leading zeroes are optional. The year may be omitted, in which case it
 | 
				
			||||||
 | 
					defaults to the current year, or you can set the default year with a
 | 
				
			||||||
 | 
					default year directive.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Some examples: `2010/01/31', `1/31', `2010-01-31', `2010.1.31'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Secondary dates,  Next: Posting dates,  Prev: Simple dates,  Up: Dates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.2.2 Secondary dates
 | 
				
			||||||
 | 
					---------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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, write both dates
 | 
				
			||||||
 | 
					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 specified (For Ledger compatibility, `--aux-date' or
 | 
				
			||||||
 | 
					`--effective' also work.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Their meaning 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 primary date if unspecified.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2010/2/23=2/19 movie ticket
 | 
				
			||||||
 | 
					  expenses:cinema                   $10
 | 
				
			||||||
 | 
					  assets:checking
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger register checking
 | 
				
			||||||
 | 
					2010/02/23 movie ticket         assets:checking                $-10         $-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger register checking --date2
 | 
				
			||||||
 | 
					2010/02/19 movie ticket         assets:checking                $-10         $-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   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. Arguably they are now obsolete,
 | 
				
			||||||
 | 
					superseded by...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Posting dates,  Prev: Secondary dates,  Up: Dates
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.2.3 Posting dates
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can give individual postings a different date from their parent
 | 
				
			||||||
 | 
					transaction, by adding a posting tag (see below) like `date:DATE',
 | 
				
			||||||
 | 
					where DATE is a simple 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 easy bank reconciliation:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2015/5/30
 | 
				
			||||||
 | 
					    expenses:food     $10   ; food purchased on saturday 5/30
 | 
				
			||||||
 | 
					    assets:checking         ; bank cleared it on monday, date:6/1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f tt.j register food
 | 
				
			||||||
 | 
					2015/05/30                      expenses:food                  $10           $10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f tt.j register checking
 | 
				
			||||||
 | 
					2015/06/01                      assets:checking               $-10          $-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   A posting date will use the year of the transaction date if
 | 
				
			||||||
 | 
					unspecified.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You can also set the secondary date, with `date2:DATE2'. For
 | 
				
			||||||
 | 
					compatibility, Ledger's older posting date syntax is also supported:
 | 
				
			||||||
 | 
					`[DATE]', `[DATE=DATE2]' or `[=DATE2]' in a posting comment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When using any of these forms, be sure to provide a valid simple
 | 
				
			||||||
 | 
					date or you'll get a parse error. Eg a `date:' tag with no value is not
 | 
				
			||||||
 | 
					allowed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Account names,  Next: Amounts,  Prev: Dates,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.3 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 may contain single spaces, eg: `assets:accounts
 | 
				
			||||||
 | 
					receivable'. Because of this, they must always be followed by at least
 | 
				
			||||||
 | 
					two spaces (or newline).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Account names can be aliased.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Amounts,  Next: Virtual Postings,  Prev: Account names,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.4 Amounts
 | 
				
			||||||
 | 
					===========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					After the account name, there is usually an amount. Important: between
 | 
				
			||||||
 | 
					account name and amount, there must be *two or more* spaces.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The amount is a number, optionally with a currency symbol or
 | 
				
			||||||
 | 
					commodity name on either the left or right. Negative amounts may have
 | 
				
			||||||
 | 
					the minus sign either before or after the currency symbol (`-$1' or
 | 
				
			||||||
 | 
					`$-1'). Commodity names which contain more than just letters should be
 | 
				
			||||||
 | 
					enclosed in double quotes (`1 "person hours"').
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Decimal points and digit groups::
 | 
				
			||||||
 | 
					* Amount display styles::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Decimal points and digit groups,  Next: Amount display styles,  Up: Amounts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.4.1 Decimal points and digit groups
 | 
				
			||||||
 | 
					-------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger supports flexible decimal point and digit group separator
 | 
				
			||||||
 | 
					styles, to support international variations. Numbers can use either a
 | 
				
			||||||
 | 
					period (`.') or a comma (`,') as decimal point. They can also have
 | 
				
			||||||
 | 
					digit group separators at any position (eg thousands separators) which
 | 
				
			||||||
 | 
					can be comma or period - whichever one you did not use as a decimal
 | 
				
			||||||
 | 
					point. If you use digit group separators, you must also include a
 | 
				
			||||||
 | 
					decimal point in at least one number in the same commodity, so that
 | 
				
			||||||
 | 
					hledger knows which character is which. Eg, write `$1,000.00' or
 | 
				
			||||||
 | 
					`$1.000,00'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Amount display styles,  Prev: Decimal points and digit groups,  Up: Amounts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.4.2 Amount display styles
 | 
				
			||||||
 | 
					---------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Based on how you format amounts, hledger will infer canonical display
 | 
				
			||||||
 | 
					styles for each commodity, and use these when displaying amounts in that
 | 
				
			||||||
 | 
					commodity. Amount styles include:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * the position (left or right) and spacing (space or no separator)
 | 
				
			||||||
 | 
					     of the commodity symbol
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * the digit group separator character (comma or period) and digit
 | 
				
			||||||
 | 
					     group sizes, if any
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * the decimal point character (period or comma)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * the display precision (number of decimal places displayed)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The canonical style is generally the style of the first posting
 | 
				
			||||||
 | 
					amount seen in a commodity. However the display precision will be the
 | 
				
			||||||
 | 
					highest precision seen in all posting amounts in that commmodity.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The precisions used in a price amount, or a D directive, don't affect
 | 
				
			||||||
 | 
					the canonical display precision directly, but they can affect it
 | 
				
			||||||
 | 
					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 (actually this last case does not influence the canonical
 | 
				
			||||||
 | 
					display precision but probably should).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Virtual Postings,  Next: Balance Assertions,  Prev: Amounts,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.5 Virtual Postings
 | 
				
			||||||
 | 
					====================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When you parenthesise the account name in a posting, that posting is
 | 
				
			||||||
 | 
					considered _virtual_, which means:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * it is ignored when checking that the transaction is balanced
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * 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
 | 
				
			||||||
 | 
					needing to use the `equity:opening balances' account:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1/1 special unbalanced posting to set initial balance
 | 
				
			||||||
 | 
					  (assets:checking)   $1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Balanced Virtual Postings::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Balanced Virtual Postings,  Up: Virtual Postings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.5.1 Balanced Virtual Postings
 | 
				
			||||||
 | 
					-------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When the account name is bracketed, the posting is _balanced virtual_,
 | 
				
			||||||
 | 
					which is just like a virtual posting except the balanced virtual
 | 
				
			||||||
 | 
					postings in a transaction must balance to 0, like the real postings
 | 
				
			||||||
 | 
					(but separately from them). Balanced virtual postings are also excluded
 | 
				
			||||||
 | 
					by `--real/-R' or `real:1'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Virtual postings are a feature inherited from Ledger can can
 | 
				
			||||||
 | 
					occasionally be useful, but they can be a crutch and you should think
 | 
				
			||||||
 | 
					twice or three times before using them. You can almost always find an
 | 
				
			||||||
 | 
					equivalent journal entry using two or more real postings that will be
 | 
				
			||||||
 | 
					more correct and more error-proof.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Balance Assertions,  Next: Prices,  Prev: Virtual Postings,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6 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 after
 | 
				
			||||||
 | 
					each posting:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2013/1/1
 | 
				
			||||||
 | 
					  a   $1  =$1
 | 
				
			||||||
 | 
					  b       =$-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2013/1/2
 | 
				
			||||||
 | 
					  a   $1  =$2
 | 
				
			||||||
 | 
					  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 protect 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Assertions and ordering::
 | 
				
			||||||
 | 
					* Assertions and commodities::
 | 
				
			||||||
 | 
					* Assertions and subaccounts::
 | 
				
			||||||
 | 
					* Assertions and virtual postings::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Assertions and ordering,  Next: Assertions and commodities,  Up: Balance Assertions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6.1 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
 | 
				
			||||||
 | 
					different from Ledger, which sorts assertions only by parse order.
 | 
				
			||||||
 | 
					(Also, Ledger assertions do not see the accumulated effect of repeated
 | 
				
			||||||
 | 
					postings to the same account within a transaction.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   So, hledger balance assertions keep working if you reorder
 | 
				
			||||||
 | 
					differently-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 control
 | 
				
			||||||
 | 
					over the order of postings and assertions within a day, so you can
 | 
				
			||||||
 | 
					assert intra-day balances.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   With included files, things are a little more complicated. Including
 | 
				
			||||||
 | 
					preserves the ordering of postings and assertions. If you have multiple
 | 
				
			||||||
 | 
					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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Assertions and commodities,  Next: Assertions and subaccounts,  Prev: Assertions and ordering,  Up: Balance Assertions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6.2 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 partial
 | 
				
			||||||
 | 
					balance assertion. This is compatible with Ledger, and makes it possible
 | 
				
			||||||
 | 
					to make assertions about accounts containing multiple commodities.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   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.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Assertions and subaccounts,  Next: Assertions and virtual postings,  Prev: Assertions and commodities,  Up: Balance Assertions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6.3 Assertions and subaccounts
 | 
				
			||||||
 | 
					--------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Balance assertions do not count the balance from subaccounts; they check
 | 
				
			||||||
 | 
					the posted account's exclusive balance. For example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1/1
 | 
				
			||||||
 | 
					  checking:fund   1 = 1  ; post to this subaccount, its balance is now 1
 | 
				
			||||||
 | 
					  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
 | 
				
			||||||
 | 
					clearly:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger bal checking --flat
 | 
				
			||||||
 | 
					                   1  checking
 | 
				
			||||||
 | 
					                   1  checking:fund
 | 
				
			||||||
 | 
					--------------------
 | 
				
			||||||
 | 
					                   2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Assertions and virtual postings,  Prev: Assertions and subaccounts,  Up: Balance Assertions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.6.4 Assertions and virtual postings
 | 
				
			||||||
 | 
					-------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Balance assertions are checked against all postings, both real and
 | 
				
			||||||
 | 
					virtual. They are not affected by the `--real/-R' flag or `real:' query.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Prices,  Next: Comments,  Prev: Balance Assertions,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.7 Prices
 | 
				
			||||||
 | 
					==========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Transaction prices::
 | 
				
			||||||
 | 
					* Market prices::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Transaction prices,  Next: Market prices,  Up: Prices
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.7.1 Transaction prices
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					When recording a transaction, you can also record an amount's price in
 | 
				
			||||||
 | 
					another commodity. This documents the exchange rate, cost (of a
 | 
				
			||||||
 | 
					purchase), or selling price (of a sale) that was in effect within this
 | 
				
			||||||
 | 
					particular transaction (or more precisely, within the particular
 | 
				
			||||||
 | 
					posting). These transaction prices are fixed, and do not change.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Such priced amounts can be displayed in their transaction price's
 | 
				
			||||||
 | 
					commodity, by using the `--cost/-B' flag (B for "cost Basis"),
 | 
				
			||||||
 | 
					supported by most hledger commands.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   There are three ways to specify a transaction price:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  1. Write the unit price (aka exchange rate), as `@ UNITPRICE' after
 | 
				
			||||||
 | 
					     the amount:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     2009/1/1
 | 
				
			||||||
 | 
					       assets:foreign currency   €100 @ $1.35  ; one hundred euros at $1.35 each
 | 
				
			||||||
 | 
					       assets:cash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  2. Or write the total price, as `@@ TOTALPRICE' after the amount:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     2009/1/1
 | 
				
			||||||
 | 
					       assets:foreign currency   €100 @@ $135  ; one hundred euros at $135 for the lot
 | 
				
			||||||
 | 
					       assets:cash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  3. Or let hledger infer the price so as to balance the transaction. To
 | 
				
			||||||
 | 
					     permit this, you must fully specify all posting amounts, and their
 | 
				
			||||||
 | 
					     sum must have a non-zero amount in exactly two commodities:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     2009/1/1
 | 
				
			||||||
 | 
					       assets:foreign currency   €100          ; one hundred euros
 | 
				
			||||||
 | 
					       assets:cash              $-135          ; exchanged for $135
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   With any of the above examples we get:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger print -B
 | 
				
			||||||
 | 
					2009/01/01
 | 
				
			||||||
 | 
					    assets:foreign currency       $135.00
 | 
				
			||||||
 | 
					    assets:cash                  $-135.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Example use for transaction prices: recording the effective
 | 
				
			||||||
 | 
					conversion rate of purchases made in a foreign currency.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Market prices,  Prev: Transaction prices,  Up: Prices
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.7.2 Market prices
 | 
				
			||||||
 | 
					-------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Market prices are not tied to a particular transaction; they represent
 | 
				
			||||||
 | 
					historical exchange rates between two commodities, usually from some
 | 
				
			||||||
 | 
					public market which publishes such rates.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When market prices are known, the `-V/--value' option will use them
 | 
				
			||||||
 | 
					to convert reported amounts to their market value as of the report end
 | 
				
			||||||
 | 
					date. This option is currently available only with the balance command.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You record market prices (Ledger calls them historical prices) with
 | 
				
			||||||
 | 
					a P directive, in the journal or perhaps in a separate included file.
 | 
				
			||||||
 | 
					Market price directives have the format:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					P DATE COMMODITYSYMBOL UNITPRICE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   For example, the following directives say that the euro's exchange
 | 
				
			||||||
 | 
					rate was 1.35 US dollars during 2009, and $1.40 from 2010 onward (and
 | 
				
			||||||
 | 
					unknown before 2009).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					P 2009/1/1 € $1.35
 | 
				
			||||||
 | 
					P 2010/1/1 € $1.40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Example use for market prices: tracking the value of stocks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Comments,  Next: Tags,  Prev: Prices,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.8 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.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Also, anything between `comment' and `end comment' directives is a
 | 
				
			||||||
 | 
					(multi-line) comment. If there is no `end comment', the comment extends
 | 
				
			||||||
 | 
					to the end of the file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You can attach comments to a transaction by writing them after the
 | 
				
			||||||
 | 
					description and/or indented on the following lines (before the
 | 
				
			||||||
 | 
					postings). Similarly, you can attach comments to an individual posting
 | 
				
			||||||
 | 
					by writing them after the amount and/or indented on the following lines.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Some examples:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# a journal comment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; also a journal comment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					comment
 | 
				
			||||||
 | 
					This is a multiline comment,
 | 
				
			||||||
 | 
					which continues until a line
 | 
				
			||||||
 | 
					where the "end comment" string
 | 
				
			||||||
 | 
					appears on its own.
 | 
				
			||||||
 | 
					end comment
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2012/5/14 something  ; a transaction comment
 | 
				
			||||||
 | 
					    ; the transaction comment, continued
 | 
				
			||||||
 | 
					    posting1  1  ; a comment for posting 1
 | 
				
			||||||
 | 
					    posting2
 | 
				
			||||||
 | 
					    ; a comment for posting 2
 | 
				
			||||||
 | 
					    ; another comment line for posting 2
 | 
				
			||||||
 | 
					; a journal comment (because not indented)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Tags,  Next: Directives,  Prev: Comments,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.9 Tags
 | 
				
			||||||
 | 
					========
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A _tag_ is a word followed by a full colon inside a transaction or
 | 
				
			||||||
 | 
					posting comment. You can write multiple tags, comma separated. Eg: `; a
 | 
				
			||||||
 | 
					comment containing sometag:, anothertag:'. You can search for tags with
 | 
				
			||||||
 | 
					the `tag:' query.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   A tag can also have a value, which is any text between the colon and
 | 
				
			||||||
 | 
					the next comma or newline, excluding leading/trailing whitespace. (So
 | 
				
			||||||
 | 
					hledger tag values can not contain commas or newlines).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Tags in a transaction comment affect the transaction and all of its
 | 
				
			||||||
 | 
					postings, while tags in a posting comment affect only that posting. For
 | 
				
			||||||
 | 
					example, the following transaction has three tags (A, TAG2, third-tag)
 | 
				
			||||||
 | 
					and the posting has four (A, TAG2, third-tag, posting-tag):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1/1 a transaction  ; A:, TAG2:
 | 
				
			||||||
 | 
					    ; third-tag: a third transaction tag, this time with a value
 | 
				
			||||||
 | 
					    (a)  $1  ; posting-tag:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Tags are like Ledger's metadata feature, except hledger's tag values
 | 
				
			||||||
 | 
					are always simple strings.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Directives,  Prev: Tags,  Up: FILE FORMAT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10 Directives
 | 
				
			||||||
 | 
					===============
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Account aliases::
 | 
				
			||||||
 | 
					* account directive::
 | 
				
			||||||
 | 
					* apply account directive::
 | 
				
			||||||
 | 
					* Multi-line comments::
 | 
				
			||||||
 | 
					* Default commodity::
 | 
				
			||||||
 | 
					* Default year::
 | 
				
			||||||
 | 
					* Including other files::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Account aliases,  Next: account directive,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.1 Account aliases
 | 
				
			||||||
 | 
					----------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can define aliases which rewrite your account names (after reading
 | 
				
			||||||
 | 
					the journal, before generating reports). hledger's account aliases can
 | 
				
			||||||
 | 
					be useful for:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * expanding shorthand account names to their full form, allowing
 | 
				
			||||||
 | 
					     easier data entry and a less verbose journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * adapting old journals to your current chart of accounts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * experimenting with new account organisations, like a new hierarchy
 | 
				
			||||||
 | 
					     or combining two accounts into one
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * customising reports
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   See also How to use account aliases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Basic aliases::
 | 
				
			||||||
 | 
					* Regex aliases::
 | 
				
			||||||
 | 
					* Multiple aliases::
 | 
				
			||||||
 | 
					* end aliases::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Basic aliases,  Next: Regex aliases,  Up: Account aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.1.1 Basic aliases
 | 
				
			||||||
 | 
					......................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 included files. The spaces around the = are optional:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias OLD = NEW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   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
 | 
				
			||||||
 | 
					occurrence 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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Regex aliases,  Next: Multiple aliases,  Prev: Basic aliases,  Up: Account aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.1.2 Regex aliases
 | 
				
			||||||
 | 
					......................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					There is also a more powerful variant that uses a regular expression,
 | 
				
			||||||
 | 
					indicated by the forward slashes. (This was the default behaviour in
 | 
				
			||||||
 | 
					hledger 0.24-0.25):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					REPLACEMENT. If REGEX contains parenthesised match groups, these can be
 | 
				
			||||||
 | 
					referenced by the usual numeric backreferences in REPLACEMENT. Note,
 | 
				
			||||||
 | 
					currently regular expression aliases may cause noticeable slow-downs.
 | 
				
			||||||
 | 
					(And if you use Ledger on your hledger file, they will be ignored.) Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					alias /^(.+):bank:([^:]+)(.*)/ = \1:\2 \3
 | 
				
			||||||
 | 
					# rewrites "assets:bank:wells fargo:checking" to  "assets:wells fargo checking"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Multiple aliases,  Next: end aliases,  Prev: Regex aliases,  Up: Account aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.1.3 Multiple aliases
 | 
				
			||||||
 | 
					.........................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can define as many aliases as you like using directives or
 | 
				
			||||||
 | 
					command-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 following
 | 
				
			||||||
 | 
					order:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: end aliases,  Prev: Multiple aliases,  Up: Account aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.1.4 end aliases
 | 
				
			||||||
 | 
					....................
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can clear (forget) all currently defined aliases with the `end
 | 
				
			||||||
 | 
					aliases' directive:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end aliases
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: account directive,  Next: apply account directive,  Prev: Account aliases,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.2 account directive
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The `account' directive predefines account names, as in Ledger and
 | 
				
			||||||
 | 
					Beancount. This may be useful for your own documentation; hledger
 | 
				
			||||||
 | 
					doesn't make use of it yet.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; account ACCT
 | 
				
			||||||
 | 
					;   OPTIONAL COMMENTS/TAGS...
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					account assets:bank:checking
 | 
				
			||||||
 | 
					 a comment
 | 
				
			||||||
 | 
					 acct-no:12345
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					account expenses:food
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; etc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: apply account directive,  Next: Multi-line comments,  Prev: account directive,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.3 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 `end apply
 | 
				
			||||||
 | 
					account' directives like so:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					apply account home
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2010/1/1
 | 
				
			||||||
 | 
					    food    $10
 | 
				
			||||||
 | 
					    cash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end apply account
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   which is equivalent to:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2010/01/01
 | 
				
			||||||
 | 
					    home:food           $10
 | 
				
			||||||
 | 
					    home:cash          $-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   If `end apply account' is omitted, the effect lasts to the end of
 | 
				
			||||||
 | 
					the file. Included files are also affected, eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					apply account business
 | 
				
			||||||
 | 
					include biz.journal
 | 
				
			||||||
 | 
					end apply account
 | 
				
			||||||
 | 
					apply account personal
 | 
				
			||||||
 | 
					include personal.journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Prior to hledger 0.28, legacy `account' and `end' spellings were
 | 
				
			||||||
 | 
					also supported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Multi-line comments,  Next: Default commodity,  Prev: apply account directive,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.4 Multi-line comments
 | 
				
			||||||
 | 
					--------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A line containing just `comment' starts a multi-line comment, and a
 | 
				
			||||||
 | 
					line containing just `end comment' ends it. See comments.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Default commodity,  Next: Default year,  Prev: Multi-line comments,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.5 Default commodity
 | 
				
			||||||
 | 
					------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You can set a default commodity, to be used for amounts without one. Use
 | 
				
			||||||
 | 
					the D directive with a sample amount. The commodity (and the sample
 | 
				
			||||||
 | 
					amount's display style) will be applied to all subsequent commodity-less
 | 
				
			||||||
 | 
					amounts, up to the next D directive. (Note this is different from
 | 
				
			||||||
 | 
					Ledger's default commodity directive.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Also note the directive itself does not influence the commodity's
 | 
				
			||||||
 | 
					default display style, but the amount it is applied to might. Here's an
 | 
				
			||||||
 | 
					example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					; set £ as the default commodity
 | 
				
			||||||
 | 
					D £1,000.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2010/1/1
 | 
				
			||||||
 | 
					  a  2340
 | 
				
			||||||
 | 
					  b
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2014/1/1
 | 
				
			||||||
 | 
					  c  £1000
 | 
				
			||||||
 | 
					  d
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger print
 | 
				
			||||||
 | 
					2010/01/01
 | 
				
			||||||
 | 
					    a     £2,340.00
 | 
				
			||||||
 | 
					    b    £-2,340.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2014/01/01
 | 
				
			||||||
 | 
					    c     £1,000.00
 | 
				
			||||||
 | 
					    d    £-1,000.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Default year,  Next: Including other files,  Prev: Default commodity,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.6 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.
 | 
				
			||||||
 | 
					Eg:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Y2009      ; set default year to 2009
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					12/15      ; equivalent to 2009/12/15
 | 
				
			||||||
 | 
					  expenses  1
 | 
				
			||||||
 | 
					  assets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Y2010      ; change default year to 2010
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2009/1/30  ; specifies the year, not affected
 | 
				
			||||||
 | 
					  expenses  1
 | 
				
			||||||
 | 
					  assets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1/31       ; equivalent to 2010/1/31
 | 
				
			||||||
 | 
					  expenses  1
 | 
				
			||||||
 | 
					  assets
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: Including other files,  Prev: Default year,  Up: Directives
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.10.7 Including other files
 | 
				
			||||||
 | 
					----------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 file.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Glob patterns (`*') are not currently supported.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The `include' directive may only be used in journal files, and
 | 
				
			||||||
 | 
					currently it may only include other journal files (eg, not CSV or
 | 
				
			||||||
 | 
					timeclock files.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_journal.5.info,  Node: EDITOR SUPPORT,  Prev: FILE FORMAT,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2 EDITOR SUPPORT
 | 
				
			||||||
 | 
					****************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Add-on modes exist for various text editors, to make working with
 | 
				
			||||||
 | 
					journal files easier. They add colour, navigation aids and helpful
 | 
				
			||||||
 | 
					commands. 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
 | 
				
			||||||
 | 
					files:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Emacs             http://www.ledger-cli.org/3.0/doc/ledger-mode.html
 | 
				
			||||||
 | 
					Vim               https://github.com/ledger/ledger/wiki/Getting-started
 | 
				
			||||||
 | 
					Sublime Text      https://github.com/ledger/ledger/wiki/Using-Sublime-Text
 | 
				
			||||||
 | 
					Textmate          https://github.com/ledger/ledger/wiki/Using-TextMate-2
 | 
				
			||||||
 | 
					Text Wrangler     https://github.com/ledger/ledger/wiki/Editing-Ledger-files-with-TextWrangler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top94
 | 
				
			||||||
 | 
					Node: FILE FORMAT2260
 | 
				
			||||||
 | 
					Ref: #file-format2386
 | 
				
			||||||
 | 
					Node: Transactions2545
 | 
				
			||||||
 | 
					Ref: #transactions2665
 | 
				
			||||||
 | 
					Node: Dates3351
 | 
				
			||||||
 | 
					Ref: #dates3479
 | 
				
			||||||
 | 
					Node: Simple dates3544
 | 
				
			||||||
 | 
					Ref: #simple-dates3672
 | 
				
			||||||
 | 
					Node: Secondary dates3976
 | 
				
			||||||
 | 
					Ref: #secondary-dates4132
 | 
				
			||||||
 | 
					Node: Posting dates5408
 | 
				
			||||||
 | 
					Ref: #posting-dates5539
 | 
				
			||||||
 | 
					Node: Account names6715
 | 
				
			||||||
 | 
					Ref: #account-names6854
 | 
				
			||||||
 | 
					Node: Amounts7338
 | 
				
			||||||
 | 
					Ref: #amounts7476
 | 
				
			||||||
 | 
					Node: Decimal points and digit groups8003
 | 
				
			||||||
 | 
					Ref: #decimal-points-and-digit-groups8196
 | 
				
			||||||
 | 
					Node: Amount display styles8751
 | 
				
			||||||
 | 
					Ref: #amount-display-styles8924
 | 
				
			||||||
 | 
					Node: Virtual Postings10003
 | 
				
			||||||
 | 
					Ref: #virtual-postings10164
 | 
				
			||||||
 | 
					Node: Balanced Virtual Postings10683
 | 
				
			||||||
 | 
					Ref: #balanced-virtual-postings10837
 | 
				
			||||||
 | 
					Node: Balance Assertions11452
 | 
				
			||||||
 | 
					Ref: #balance-assertions11616
 | 
				
			||||||
 | 
					Node: Assertions and ordering12438
 | 
				
			||||||
 | 
					Ref: #assertions-and-ordering12623
 | 
				
			||||||
 | 
					Node: Assertions and commodities13654
 | 
				
			||||||
 | 
					Ref: #assertions-and-commodities13880
 | 
				
			||||||
 | 
					Node: Assertions and subaccounts14572
 | 
				
			||||||
 | 
					Ref: #assertions-and-subaccounts14806
 | 
				
			||||||
 | 
					Node: Assertions and virtual postings15328
 | 
				
			||||||
 | 
					Ref: #assertions-and-virtual-postings15537
 | 
				
			||||||
 | 
					Node: Prices15678
 | 
				
			||||||
 | 
					Ref: #prices15810
 | 
				
			||||||
 | 
					Node: Transaction prices15861
 | 
				
			||||||
 | 
					Ref: #transaction-prices16006
 | 
				
			||||||
 | 
					Node: Market prices17613
 | 
				
			||||||
 | 
					Ref: #market-prices17748
 | 
				
			||||||
 | 
					Node: Comments18636
 | 
				
			||||||
 | 
					Ref: #comments18758
 | 
				
			||||||
 | 
					Node: Tags19870
 | 
				
			||||||
 | 
					Ref: #tags19988
 | 
				
			||||||
 | 
					Node: Directives20918
 | 
				
			||||||
 | 
					Ref: #directives21033
 | 
				
			||||||
 | 
					Node: Account aliases21202
 | 
				
			||||||
 | 
					Ref: #account-aliases21348
 | 
				
			||||||
 | 
					Node: Basic aliases21950
 | 
				
			||||||
 | 
					Ref: #basic-aliases22095
 | 
				
			||||||
 | 
					Node: Regex aliases22783
 | 
				
			||||||
 | 
					Ref: #regex-aliases22953
 | 
				
			||||||
 | 
					Node: Multiple aliases23723
 | 
				
			||||||
 | 
					Ref: #multiple-aliases23897
 | 
				
			||||||
 | 
					Node: end aliases24393
 | 
				
			||||||
 | 
					Ref: #end-aliases24535
 | 
				
			||||||
 | 
					Node: account directive24637
 | 
				
			||||||
 | 
					Ref: #account-directive24819
 | 
				
			||||||
 | 
					Node: apply account directive25115
 | 
				
			||||||
 | 
					Ref: #apply-account-directive25313
 | 
				
			||||||
 | 
					Node: Multi-line comments25974
 | 
				
			||||||
 | 
					Ref: #multi-line-comments26164
 | 
				
			||||||
 | 
					Node: Default commodity26291
 | 
				
			||||||
 | 
					Ref: #default-commodity26466
 | 
				
			||||||
 | 
					Node: Default year27161
 | 
				
			||||||
 | 
					Ref: #default-year27328
 | 
				
			||||||
 | 
					Node: Including other files27751
 | 
				
			||||||
 | 
					Ref: #including-other-files27910
 | 
				
			||||||
 | 
					Node: EDITOR SUPPORT28327
 | 
				
			||||||
 | 
					Ref: #editor-support28447
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										67
									
								
								hledger-lib/doc/hledger_timeclock.5.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								hledger-lib/doc/hledger_timeclock.5.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,67 @@
 | 
				
			|||||||
 | 
					This is hledger-lib/doc/hledger_timeclock.5.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_timeclock.5.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger_timeclock(5)
 | 
				
			||||||
 | 
					********************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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 (also, default year
 | 
				
			||||||
 | 
					directives work). 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
 | 
				
			||||||
 | 
					o 2015/03/30 09:20:00
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
 | 
					the above time log, `hledger print' generates these journal entries:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f t.timeclock print
 | 
				
			||||||
 | 
					2015/03/30 * optional description after two spaces
 | 
				
			||||||
 | 
					    (some:account name)         0.33h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2015/03/31 * 22:21-23:59
 | 
				
			||||||
 | 
					    (another account)         1.64h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2015/04/01 * 00:00-02:00
 | 
				
			||||||
 | 
					    (another account)         2.01h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Here is a sample.timeclock to download and some queries to try:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f sample.timeclock balance                               # current time balances
 | 
				
			||||||
 | 
					$ hledger -f sample.timeclock register -p 2009/3                    # sessions in march 2009
 | 
				
			||||||
 | 
					$ hledger -f sample.timeclock register -p weekly --depth 1 --empty  # time summary by week
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   To generate time logs, ie to clock in and clock out, you could:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * use emacs and the built-in timeclock.el, or the extended
 | 
				
			||||||
 | 
					     timeclock-x.el and perhaps the extras in ledgerutils.el
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * at the command line, use these bash aliases:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     alias ti="echo i `date '+%Y-%m-%d %H:%M:%S'` \$* >>$TIMELOG"
 | 
				
			||||||
 | 
					     alias to="echo o `date '+%Y-%m-%d %H:%M:%S'` >>$TIMELOG"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * 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 executable renamed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top96
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										123
									
								
								hledger-lib/doc/hledger_timedot.5.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								hledger-lib/doc/hledger_timedot.5.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,123 @@
 | 
				
			|||||||
 | 
					This is hledger-lib/doc/hledger_timedot.5.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_timedot.5.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger_timedot(5)
 | 
				
			||||||
 | 
					******************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Timedot is a plain text format for logging dated, categorised quantities
 | 
				
			||||||
 | 
					(eg time), supported by hledger. It is convenient for approximate and
 | 
				
			||||||
 | 
					retroactive time logging, eg when the real-time clock-in/out required
 | 
				
			||||||
 | 
					with a timeclock file is too precise or too interruptive. It can be
 | 
				
			||||||
 | 
					formatted like a bar chart, making clear at a glance where time was
 | 
				
			||||||
 | 
					spent.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Though called "timedot", the format does not specify the commodity
 | 
				
			||||||
 | 
					being logged, so could represent other dated, quantifiable things. Eg
 | 
				
			||||||
 | 
					you could record a single-entry journal of financial transactions,
 | 
				
			||||||
 | 
					perhaps slightly more conveniently than with hledger_journal(5) format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* FILE FORMAT::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger_timedot.5.info,  Node: FILE FORMAT,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 FILE FORMAT
 | 
				
			||||||
 | 
					*************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A timedot file contains a series of day entries. A day entry begins with
 | 
				
			||||||
 | 
					a date, and is followed by category/quantity pairs, one per line. Dates
 | 
				
			||||||
 | 
					are hledger-style simple dates (see hledger_journal(5)). Categories are
 | 
				
			||||||
 | 
					hledger-style account names, optionally indented. There must be at least
 | 
				
			||||||
 | 
					two spaces between the category and the quantity. Quantities can be
 | 
				
			||||||
 | 
					written in two ways:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  1. a series of dots (period characters). Each dot represents "a
 | 
				
			||||||
 | 
					     quarter" - eg, a quarter hour. Spaces can be used to group dots
 | 
				
			||||||
 | 
					     into hours, for easier counting.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  2. a number (integer or decimal), representing "units" - eg, hours. A
 | 
				
			||||||
 | 
					     good alternative when dots are cumbersome. (A number also can
 | 
				
			||||||
 | 
					     record negative quantities.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Blank lines and lines beginning with #, ; or * are ignored. An
 | 
				
			||||||
 | 
					example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# on this day, 6h was spent on client work, 1.5h on haskell FOSS work, etc.
 | 
				
			||||||
 | 
					2016/2/1
 | 
				
			||||||
 | 
					inc:client1   .... .... .... .... .... ....
 | 
				
			||||||
 | 
					fos:haskell   .... ..
 | 
				
			||||||
 | 
					biz:research  .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2016/2/2
 | 
				
			||||||
 | 
					inc:client1   .... ....
 | 
				
			||||||
 | 
					biz:research  .
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Or with numbers:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2016/2/3
 | 
				
			||||||
 | 
					inc:client1   4
 | 
				
			||||||
 | 
					fos:hledger   3
 | 
				
			||||||
 | 
					biz:research  1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Reporting:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f t.timedot print date:2016/2/2
 | 
				
			||||||
 | 
					2016/02/02 *
 | 
				
			||||||
 | 
					    (inc:client1)          2.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2016/02/02 *
 | 
				
			||||||
 | 
					    (biz:research)          0.25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f t.timedot bal --daily --tree
 | 
				
			||||||
 | 
					Balance changes in 2016/02/01-2016/02/03:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            ||  2016/02/01d  2016/02/02d  2016/02/03d
 | 
				
			||||||
 | 
					============++========================================
 | 
				
			||||||
 | 
					 biz        ||         0.25         0.25         1.00
 | 
				
			||||||
 | 
					   research ||         0.25         0.25         1.00
 | 
				
			||||||
 | 
					 fos        ||         1.50            0         3.00
 | 
				
			||||||
 | 
					   haskell  ||         1.50            0            0
 | 
				
			||||||
 | 
					   hledger  ||            0            0         3.00
 | 
				
			||||||
 | 
					 inc        ||         6.00         2.00         4.00
 | 
				
			||||||
 | 
					   client1  ||         6.00         2.00         4.00
 | 
				
			||||||
 | 
					------------++----------------------------------------
 | 
				
			||||||
 | 
					            ||         7.75         2.25         8.00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   I prefer to use period for separating account components. We can make
 | 
				
			||||||
 | 
					this work with an account alias:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2016/2/4
 | 
				
			||||||
 | 
					fos.hledger.timedot  4
 | 
				
			||||||
 | 
					fos.ledger           ..
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger -f t.timedot --alias /\\./=: bal date:2016/2/4
 | 
				
			||||||
 | 
					                4.50  fos
 | 
				
			||||||
 | 
					                4.00    hledger:timedot
 | 
				
			||||||
 | 
					                0.50    ledger
 | 
				
			||||||
 | 
					--------------------
 | 
				
			||||||
 | 
					                4.50
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   default year directives may be used.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Here is a sample.timedot.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top94
 | 
				
			||||||
 | 
					Node: FILE FORMAT852
 | 
				
			||||||
 | 
					Ref: #file-format955
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										289
									
								
								hledger-ui/doc/hledger-ui.1.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										289
									
								
								hledger-ui/doc/hledger-ui.1.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,289 @@
 | 
				
			|||||||
 | 
					This is hledger-ui/doc/hledger-ui.1.info, produced by makeinfo version
 | 
				
			||||||
 | 
					4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-ui(1)
 | 
				
			||||||
 | 
					*************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-ui is hledger's curses-style interface. It reads a hledger
 | 
				
			||||||
 | 
					journal file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   and provides a simple full-screen console interface for viewing
 | 
				
			||||||
 | 
					account balances and transactions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   It is simpler and more convenient for browsing than the command-line
 | 
				
			||||||
 | 
					interface, but lighter and faster than hledger-web.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The journal file is `~/.hledger.journal', `$LEDGER_FILE', or another
 | 
				
			||||||
 | 
					file specified with -f. For more about the format, see hledger(1) or
 | 
				
			||||||
 | 
					hledger_journal(5).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* OPTIONS::
 | 
				
			||||||
 | 
					* KEYS::
 | 
				
			||||||
 | 
					* SCREENS::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: OPTIONS,  Next: KEYS,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 OPTIONS
 | 
				
			||||||
 | 
					*********
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: if invoking hledger-ui as a hledger subcommand, write `--' before
 | 
				
			||||||
 | 
					options as shown above.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Any QUERYARGS are interpreted as a hledger search query which filters
 | 
				
			||||||
 | 
					the data.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--flat'
 | 
				
			||||||
 | 
					     show full account names, unindented
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--no-elide'
 | 
				
			||||||
 | 
					     don't compress empty parent accounts on one line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--register=ACCTREGEX'
 | 
				
			||||||
 | 
					     start in the (first) matched account's register screen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--theme=default|terminal|greenterm'
 | 
				
			||||||
 | 
					     use this custom display theme
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-V --value'
 | 
				
			||||||
 | 
					     show amounts as their current market value in their default
 | 
				
			||||||
 | 
					     valuation commodity (accounts screen only)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-h'
 | 
				
			||||||
 | 
					     show usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--help'
 | 
				
			||||||
 | 
					     show manual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--man'
 | 
				
			||||||
 | 
					     show manual with man
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--info'
 | 
				
			||||||
 | 
					     show manual with info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--version'
 | 
				
			||||||
 | 
					     show version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* hledger options::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: hledger options,  Up: OPTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.1 hledger options
 | 
				
			||||||
 | 
					===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following common hledger options should also work:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-f FILE --file=FILE'
 | 
				
			||||||
 | 
					     use a different input file. For stdin, use -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--rules-file=RULESFILE'
 | 
				
			||||||
 | 
					     Conversion rules file to use when reading CSV (default: FILE.rules)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--alias=OLD=NEW'
 | 
				
			||||||
 | 
					     display accounts named OLD as NEW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--ignore-assertions'
 | 
				
			||||||
 | 
					     ignore any failing balance assertions in the journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--debug=N'
 | 
				
			||||||
 | 
					     show debug output if N is 1-9 (default: 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-b --begin=DATE'
 | 
				
			||||||
 | 
					     include postings/txns on or after this date
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-e --end=DATE'
 | 
				
			||||||
 | 
					     include postings/txns before this date
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-p --period=PERIODEXP'
 | 
				
			||||||
 | 
					     set start date, end date, and/or reporting interval all at once
 | 
				
			||||||
 | 
					     (overrides the flags above)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--date2 --aux-date'
 | 
				
			||||||
 | 
					     use postings/txns' secondary dates instead
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-C --cleared'
 | 
				
			||||||
 | 
					     include only cleared postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--pending'
 | 
				
			||||||
 | 
					     include only pending postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-U --uncleared'
 | 
				
			||||||
 | 
					     include only uncleared (and pending) postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-R --real'
 | 
				
			||||||
 | 
					     include only non-virtual postings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--depth=N'
 | 
				
			||||||
 | 
					     hide accounts/postings deeper than N
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-E --empty'
 | 
				
			||||||
 | 
					     show empty/zero things which are normally omitted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-B --cost'
 | 
				
			||||||
 | 
					     show amounts in their cost price's commodity
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: KEYS,  Next: SCREENS,  Prev: OPTIONS,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2 KEYS
 | 
				
			||||||
 | 
					******
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Generally the cursor keys navigate; `right' (or `enter') goes deeper,
 | 
				
			||||||
 | 
					`left' returns to the previous screen, `up'/`down'/`page up'/`page
 | 
				
			||||||
 | 
					down'/`home'/`end' move up and down through lists.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `g' gets the latest data and reloads the screen (and any previous
 | 
				
			||||||
 | 
					screens). There may be a noticeable pause.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `q' quits the application.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Some screens have additional key bindings, described below.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: SCREENS,  Prev: KEYS,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3 SCREENS
 | 
				
			||||||
 | 
					*********
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Accounts screen::
 | 
				
			||||||
 | 
					* Register screen::
 | 
				
			||||||
 | 
					* Transaction screen::
 | 
				
			||||||
 | 
					* Error screen::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: Accounts screen,  Next: Register screen,  Up: SCREENS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3.1 Accounts screen
 | 
				
			||||||
 | 
					===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This is normally the first screen displayed. It lists accounts and their
 | 
				
			||||||
 | 
					balances, like hledger's balance command. By default, it shows all
 | 
				
			||||||
 | 
					accounts and their latest ending balances. if you specify a query on the
 | 
				
			||||||
 | 
					command line, it shows just the matched accounts and the balances from
 | 
				
			||||||
 | 
					matched transactions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   When not in flat mode, indentation indicates the account hierarchy.
 | 
				
			||||||
 | 
					`F' toggles flat mode on and off.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   By default, all subaccounts are displayed. To see less detail, set a
 | 
				
			||||||
 | 
					depth limit by pressing a number key, `1' to `9'. Or, adjust the depth
 | 
				
			||||||
 | 
					limit by pressing `-' or `+' (`=' also works).  `0' removes the depth
 | 
				
			||||||
 | 
					limit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `C' toggles cleared mode. In cleared mode, the accounts and balances
 | 
				
			||||||
 | 
					are derived only from transactions which are marked cleared (*).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Press `right' or `enter' to view an account's transactions register.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: Register screen,  Next: Transaction screen,  Prev: Accounts screen,  Up: SCREENS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3.2 Register screen
 | 
				
			||||||
 | 
					===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This screen lists all transactions affecting a particular account (like
 | 
				
			||||||
 | 
					a check register). In cleared mode (press `C') it lists only
 | 
				
			||||||
 | 
					transactions which are marked cleared. It does not otherwise filter by
 | 
				
			||||||
 | 
					query.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Note this screen shows transactions, not postings (unlike hledger's
 | 
				
			||||||
 | 
					register command). This means:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * Each line represents a whole transaction.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * For each transaction, it shows the other account(s) involved, in
 | 
				
			||||||
 | 
					     abbreviated form. (If there are both real and virtual postings, it
 | 
				
			||||||
 | 
					     shows only the accounts affected by real postings.)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * It shows the overall change to the current account's balance from
 | 
				
			||||||
 | 
					     each transaction; positive for an inflow to this account, negative
 | 
				
			||||||
 | 
					     for an outflow.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   * When no query other than a date limit is in effect, it shows the
 | 
				
			||||||
 | 
					     current account's historic balance as of the transaction date.
 | 
				
			||||||
 | 
					     Otherwise it shows a running total starting from zero. Eg, these
 | 
				
			||||||
 | 
					     will show historic balances:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     $ hledger-ui
 | 
				
			||||||
 | 
					     $ hledger-ui --begin 'this month'
 | 
				
			||||||
 | 
					     $ hledger-ui --register checking date:2015/10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     while these will show a running total, since the queries are not
 | 
				
			||||||
 | 
					     just date limits:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     $ hledger-ui checking
 | 
				
			||||||
 | 
					     $ hledger-ui --begin 'this month' desc:market
 | 
				
			||||||
 | 
					     $ hledger-ui --register checking --cleared
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Press `right' or `enter' to view the selected transaction in full
 | 
				
			||||||
 | 
					detail.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: Transaction screen,  Next: Error screen,  Prev: Register screen,  Up: SCREENS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3.3 Transaction screen
 | 
				
			||||||
 | 
					======================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This screen shows a single transaction, as a general journal entry,
 | 
				
			||||||
 | 
					similar to hledger's print command and journal format
 | 
				
			||||||
 | 
					(hledger_journal(5)).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The transaction's date(s) and any cleared flag, transaction code,
 | 
				
			||||||
 | 
					description, comments, along with all of its account postings are shown.
 | 
				
			||||||
 | 
					Simple transactions have two postings, but there can be more (or in
 | 
				
			||||||
 | 
					certain cases, fewer).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   `up' and `down' will step through all transactions listed in the
 | 
				
			||||||
 | 
					previous account register screen. In the title bar, the numbers in
 | 
				
			||||||
 | 
					parentheses show your position within that account register. They will
 | 
				
			||||||
 | 
					vary depending on which account register you came from (remember most
 | 
				
			||||||
 | 
					transactions appear in multiple account registers). The #N number
 | 
				
			||||||
 | 
					preceding them is the transaction's position within the complete
 | 
				
			||||||
 | 
					unfiltered journal, which is a more stable id (at least until the next
 | 
				
			||||||
 | 
					reload).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-ui.1.info,  Node: Error screen,  Prev: Transaction screen,  Up: SCREENS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3.4 Error screen
 | 
				
			||||||
 | 
					================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This screen will appear if there is a problem, such as a parse error,
 | 
				
			||||||
 | 
					when you press g to reload. Once you have fixed the problem described,
 | 
				
			||||||
 | 
					press g again to reload and restore normal operation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top88
 | 
				
			||||||
 | 
					Node: OPTIONS682
 | 
				
			||||||
 | 
					Ref: #options781
 | 
				
			||||||
 | 
					Node: hledger options1547
 | 
				
			||||||
 | 
					Ref: #hledger-options1653
 | 
				
			||||||
 | 
					Node: KEYS2829
 | 
				
			||||||
 | 
					Ref: #keys2926
 | 
				
			||||||
 | 
					Node: SCREENS3323
 | 
				
			||||||
 | 
					Ref: #screens3410
 | 
				
			||||||
 | 
					Node: Accounts screen3500
 | 
				
			||||||
 | 
					Ref: #accounts-screen3630
 | 
				
			||||||
 | 
					Node: Register screen4475
 | 
				
			||||||
 | 
					Ref: #register-screen4632
 | 
				
			||||||
 | 
					Node: Transaction screen6014
 | 
				
			||||||
 | 
					Ref: #transaction-screen6174
 | 
				
			||||||
 | 
					Node: Error screen7041
 | 
				
			||||||
 | 
					Ref: #error-screen7165
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										175
									
								
								hledger-web/doc/hledger-web.1.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										175
									
								
								hledger-web/doc/hledger-web.1.info
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,175 @@
 | 
				
			|||||||
 | 
					This is hledger-web/doc/hledger-web.1.info, produced by makeinfo
 | 
				
			||||||
 | 
					version 4.8 from stdin.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-web.1.info,  Node: Top,  Up: (dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-web(1)
 | 
				
			||||||
 | 
					**************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					hledger-web is hledger's web interface. It starts a simple web
 | 
				
			||||||
 | 
					application for browsing and adding transactions, and optionally opens
 | 
				
			||||||
 | 
					it in a web browser window if possible. It provides a more user-friendly
 | 
				
			||||||
 | 
					UI than the hledger CLI or hledger-ui interface, showing more at once
 | 
				
			||||||
 | 
					(accounts, the current account register, balance charts) and allowing
 | 
				
			||||||
 | 
					history-aware data entry, interactive searching, and bookmarking.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   hledger-web also lets you share a ledger with multiple users, or even
 | 
				
			||||||
 | 
					the public web. There is no access control, so if you need that you
 | 
				
			||||||
 | 
					should put it behind a suitable web proxy. As a small protection against
 | 
				
			||||||
 | 
					data loss when running an unprotected instance, it writes a numbered
 | 
				
			||||||
 | 
					backup of the main journal file (only ?) on every edit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   The journal file is `~/.hledger.journal', `$LEDGER_FILE', or another
 | 
				
			||||||
 | 
					file specified with -f. For more about the format, see hledger(1) or
 | 
				
			||||||
 | 
					hledger_journal(5).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   By default, hledger-web starts the web app in "transient mode" and
 | 
				
			||||||
 | 
					also opens it in your default web browser if possible. In this mode the
 | 
				
			||||||
 | 
					web app will keep running for as long as you have it open in a browser
 | 
				
			||||||
 | 
					window, and will exit after two minutes of inactivity (no requests and
 | 
				
			||||||
 | 
					no browser windows viewing it).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$ hledger web
 | 
				
			||||||
 | 
					Starting web app on port 5000 with base url http://localhost:5000
 | 
				
			||||||
 | 
					Starting web browser if possible
 | 
				
			||||||
 | 
					Web app will auto-exit after a few minutes with no browsers (or press ctrl-c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   With `--server', it starts the web app in non-transient mode and
 | 
				
			||||||
 | 
					logs requests to the console. Typically when running hledger web as part
 | 
				
			||||||
 | 
					of a website you'll want to use `--base-url' to set the
 | 
				
			||||||
 | 
					protocol/hostname/port/path to be used in hyperlinks. The `--file-url'
 | 
				
			||||||
 | 
					option allows static files to be served from a different url, eg for
 | 
				
			||||||
 | 
					better caching or cookie-less serving.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   You can use `--port' to listen on a different TCP port, eg if you
 | 
				
			||||||
 | 
					are running multiple hledger-web instances. This need not be the same as
 | 
				
			||||||
 | 
					the PORT in the base url.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   Note there is no built-in access control, 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   With journal and timeclock files (but not CSV files, currently) the
 | 
				
			||||||
 | 
					web app detects changes 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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* OPTIONS::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-web.1.info,  Node: OPTIONS,  Prev: Top,  Up: Top
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1 OPTIONS
 | 
				
			||||||
 | 
					*********
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Note: if invoking hledger-web as a hledger subcommand, write `--'
 | 
				
			||||||
 | 
					before options as shown above.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--server'
 | 
				
			||||||
 | 
					     disable browser-opening and auto-exit-on-idle, and log all
 | 
				
			||||||
 | 
					     requests to stdout
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--port=PORT'
 | 
				
			||||||
 | 
					     set the TCP port to listen on (default: 5000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--base-url=URL'
 | 
				
			||||||
 | 
					     set the base url (default: http://localhost: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
 | 
				
			||||||
 | 
					     with this.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-h'
 | 
				
			||||||
 | 
					     show usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--help'
 | 
				
			||||||
 | 
					     show manual
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--man'
 | 
				
			||||||
 | 
					     show manual with man
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--info'
 | 
				
			||||||
 | 
					     show manual with info
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--version'
 | 
				
			||||||
 | 
					     show version
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Menu:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* hledger options::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					File: hledger-web.1.info,  Node: hledger options,  Up: OPTIONS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.1 hledger options
 | 
				
			||||||
 | 
					===================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The following common hledger options should also work:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-f FILE --file=FILE'
 | 
				
			||||||
 | 
					     use a different input file. For stdin, use -
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--rules-file=RULESFILE'
 | 
				
			||||||
 | 
					     Conversion rules file to use when reading CSV (default: FILE.rules)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--alias=OLD=NEW'
 | 
				
			||||||
 | 
					     display accounts named OLD as NEW
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--ignore-assertions'
 | 
				
			||||||
 | 
					     ignore any failing balance assertions in the journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--debug=N'
 | 
				
			||||||
 | 
					     show debug output if N is 1-9 (default: 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-b --begin=DATE'
 | 
				
			||||||
 | 
					     include postings/txns on or after this date
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-e --end=DATE'
 | 
				
			||||||
 | 
					     include postings/txns before this date
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-p --period=PERIODEXP'
 | 
				
			||||||
 | 
					     set start date, end date, and/or reporting interval all at once
 | 
				
			||||||
 | 
					     (overrides the flags above)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--date2 --aux-date'
 | 
				
			||||||
 | 
					     use postings/txns' secondary dates instead
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-C --cleared'
 | 
				
			||||||
 | 
					     include only cleared postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--pending'
 | 
				
			||||||
 | 
					     include only pending postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-U --uncleared'
 | 
				
			||||||
 | 
					     include only uncleared (and pending) postings/txns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-R --real'
 | 
				
			||||||
 | 
					     include only non-virtual postings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`--depth=N'
 | 
				
			||||||
 | 
					     hide accounts/postings deeper than N
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-E --empty'
 | 
				
			||||||
 | 
					     show empty/zero things which are normally omitted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					`-B --cost'
 | 
				
			||||||
 | 
					     show amounts in their cost price's commodity
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Tag Table:
 | 
				
			||||||
 | 
					Node: Top90
 | 
				
			||||||
 | 
					Node: OPTIONS2622
 | 
				
			||||||
 | 
					Ref: #options2709
 | 
				
			||||||
 | 
					Node: hledger options3572
 | 
				
			||||||
 | 
					Ref: #hledger-options3679
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					End Tag Table
 | 
				
			||||||
							
								
								
									
										2105
									
								
								hledger/doc/hledger.1.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2105
									
								
								hledger/doc/hledger.1.info
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user