38 lines
		
	
	
		
			964 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			964 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
# hledger csv conversion rules for sample.csv
 | 
						|
 | 
						|
# skip the headings line:
 | 
						|
skip 1
 | 
						|
 | 
						|
# use the first three CSV fields for hledger's transaction date, description and amount:
 | 
						|
fields date, description, amount
 | 
						|
 | 
						|
# specify the date field's format - not needed here since date is Y/M/D
 | 
						|
# date-format %-d/%-m/%Y
 | 
						|
# date-format %-m/%-d/%Y
 | 
						|
# date-format %Y-%h-%d
 | 
						|
 | 
						|
# since the CSV amounts have no currency symbol, add one:
 | 
						|
currency $
 | 
						|
 | 
						|
# set the base account that this CSV file corresponds to
 | 
						|
account1 assets:bank:checking
 | 
						|
 | 
						|
 | 
						|
# set account2 to this:
 | 
						|
# account2 Revenues:Misc
 | 
						|
 | 
						|
# change it to Expenses:Misc if the csv "amount" field contains a minus sign:
 | 
						|
# if %amount -
 | 
						|
#  account2 Expenses:Misc
 | 
						|
 | 
						|
# override it with more specific rules below...
 | 
						|
 | 
						|
 | 
						|
# the other account will default to expenses:unknown or income:unknown;
 | 
						|
# we can optionally refine it by matching patterns in the CSV record:
 | 
						|
if (TO|FROM) SAVINGS
 | 
						|
  account2 assets:bank:savings
 | 
						|
 | 
						|
if WHOLE FOODS
 | 
						|
  account2 expenses:food
 |