docs: more how-to updates
This commit is contained in:
		
							parent
							
								
									854f26512a
								
							
						
					
					
						commit
						6ac372217b
					
				| @ -2,45 +2,46 @@ | ||||
| 
 | ||||
| Here's an example of using [account aliases](MANUAL.html#account-aliases). | ||||
| 
 | ||||
| Say a sole proprietor has a personal.journal: | ||||
| Say a sole proprietor has a `personal.journal`: | ||||
| 
 | ||||
|     1/1 | ||||
|     2014/1/2 | ||||
|         expenses:food  $1 | ||||
|         assets:cash | ||||
| 
 | ||||
| and a business.journal: | ||||
| and a `business.journal`: | ||||
| 
 | ||||
|     1/1 | ||||
|     2014/1/1 | ||||
|         expenses:office supplies  $1 | ||||
|         assets:business checking | ||||
| 
 | ||||
| Here each entity has a simple journal with its own simple chart of | ||||
| accounts.  But at tax reporting time, we need to view these as a single | ||||
| entity.  So in unified.journal we adjust the personal account names to fit | ||||
| within the business chart of accounts: | ||||
| So each entity (the business owner, and the business) has their own file with its own simple chart of accounts. | ||||
| However, at tax reporting time we need to view these as a single entity (at least in the US). | ||||
| In `unified.journal`, we include both files, and rewrite the personal | ||||
| account names to fit into the business chart of accounts, | ||||
| 
 | ||||
|     alias expenses    = equity:draw:personal | ||||
|     alias assets:cash = assets:personal cash | ||||
|     include personal.journal | ||||
|     end aliases | ||||
| 
 | ||||
|     include business.journal | ||||
| 
 | ||||
| giving: | ||||
| Now we can see the data from both files at once, and the personal account names have changed: | ||||
| 
 | ||||
|     $ hledger -f unified.journal print | ||||
|     2011/01/01 | ||||
|         equity:draw:personal:food            $1 | ||||
|         assets:personal cash                $-1 | ||||
|      | ||||
|     2011/01/01 | ||||
|     2014/01/01                                    # from business.journal - no aliases applied | ||||
|         expenses:office supplies            $1 | ||||
|         assets:business checking           $-1 | ||||
| 
 | ||||
|     2014/01/02                                    # from personal.journal | ||||
|         equity:draw:personal:food            $1   # <- was expenses:food | ||||
|         assets:personal cash                $-1   # <- was assets:cash | ||||
| 
 | ||||
| You can also specify aliases on the command line. This could be useful to | ||||
| rewrite account names when sharing a report with someone else, such as | ||||
| quickly rewrite account names when sharing a report with someone else, such as | ||||
| your accountant: | ||||
| 
 | ||||
|     $ hledger --alias 'my earning=income:business' | ||||
|     $ hledger --alias 'my earning=income:business' ... | ||||
| 
 | ||||
| Command-line alias options are applied after any alias directives in the | ||||
| journal.  At most one alias directive and one alias option will be applied | ||||
|  | ||||
							
								
								
									
										39
									
								
								doc/CSV.md
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								doc/CSV.md
									
									
									
									
									
								
							| @ -8,28 +8,26 @@ Say we have downloaded `checking.csv` from a bank for the first time: | ||||
|     "2012/3/22","DEPOSIT","50.00" | ||||
|     "2012/3/23","TRANSFER TO SAVINGS","-10.00" | ||||
| 
 | ||||
| We could create `checking.csv.rules` containing: | ||||
| We tell hledger how to intepret this with a file named `checking.csv.rules`, using the [rules syntax](MANUAL.html#csv-files). Eg: | ||||
| 
 | ||||
| 	# skip the first CSV line (headings) | ||||
| 	skip 1 | ||||
|     # skip the first CSV line (headings) | ||||
|     skip 1 | ||||
| 
 | ||||
| 	# use the first three fields in each CSV record as transaction date, description and amount respectively | ||||
| 	fields   date, description, amount | ||||
|     # use the first three fields in each CSV record as transaction date, description and amount respectively | ||||
|     fields   date, description, amount | ||||
| 
 | ||||
| 	# prepend $ to CSV amounts | ||||
| 	currency $ | ||||
|     # prepend $ to CSV amounts | ||||
|     currency $ | ||||
| 
 | ||||
| 	# always set the first account to assets:bank:checking | ||||
| 	account1 assets:bank:checking | ||||
|     # always set the first account to assets:bank:checking | ||||
|     account1 assets:bank:checking | ||||
| 
 | ||||
| 	# if the CSV record contains ‘SAVINGS’, set the second account to assets:bank:savings | ||||
| 	# (if not set, it will be expenses:unknown or income:unknown) | ||||
| 	if ~ SAVINGS | ||||
| 	 account2 assets:bank:savings | ||||
|     # if the CSV record contains ‘SAVINGS’, set the second account to assets:bank:savings | ||||
|     # (if not set, it will be expenses:unknown or income:unknown) | ||||
|     if ~ SAVINGS | ||||
|       account2 assets:bank:savings | ||||
| 
 | ||||
| [CSV files](MANUAL.html#csv-files) in the manual describes the syntax. | ||||
| 
 | ||||
| Now hledger can read this CSV file: | ||||
| Now hledger can read this CSV file as journal data: | ||||
| 
 | ||||
|     $ hledger -f checking.csv print | ||||
|     using conversion rules file checking.csv.rules | ||||
| @ -42,4 +40,13 @@ Now hledger can read this CSV file: | ||||
|         assets:bank:checking       $-10.00 | ||||
| 
 | ||||
| We might save this output as `checking.journal`, and/or merge it (manually) into the main journal file. | ||||
| We could also run other commands: | ||||
| 
 | ||||
|     $ hledger -f checking.csv balance | ||||
|     using conversion rules file checking.csv.rules | ||||
|                   $50.00  assets:bank | ||||
|                   $40.00    checking | ||||
|                   $10.00    savings | ||||
|                  $-50.00  income:unknown | ||||
|     -------------------- | ||||
|                        0 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user