File imports.yaml

1inputs:
2 - match: "import-data/mercury/*.csv"
3 config:
4 extractor: mercury
5 default_file: "books/{{ date.year }}.bean"
6 prepend_postings:
7 - account: Assets:Bank:US:Mercury:Checking
8 amount:
9 number: "{{ amount }}"
10 currency: "{{ currency | default('USD', true) }}"
11 - match: "import-data/connect/American Express/Plaid Credit Card/*.csv"
12 config:
13 default_file: "books/{{ date.year }}.bean"
14 prepend_postings:
15 - account: Liabilities:CreditCard:US:AmericanExpress:PlaidCreditCard
16 amount:
17 number: "{{ -amount }}"
18 currency: "{{ currency | default('USD', true) }}"
19 - match: "import-data/connect/Chase/Plaid Checking/*.csv"
20 config:
21 default_file: "books/{{ date.year }}.bean"
22 prepend_postings:
23 - account: Assets:Bank:US:Chase:Checking
24 amount:
25 number: "{{ -amount }}"
26 currency: "{{ currency | default('USD', true) }}"
27 - match: "import-data/connect/Chase/Plaid Saving/*.csv"
28 config:
29 default_file: "books/{{ date.year }}.bean"
30 prepend_postings:
31 - account: Assets:Bank:US:Chase:Saving
32 amount:
33 number: "{{ -amount }}"
34 currency: "{{ currency | default('USD', true) }}"
35 - match: "import-data/connect/Wells Fargo/Plaid Checking/*.csv"
36 config:
37 default_file: "books/{{ date.year }}.bean"
38 prepend_postings:
39 - account: Assets:Bank:US:WellsFargo:Checking
40 amount:
41 number: "{{ -amount }}"
42 currency: "{{ currency | default('USD', true) }}"
43 - match: "import-data/connect/Wells Fargo/Plaid Saving/*.csv"
44 config:
45 default_file: "books/{{ date.year }}.bean"
46 prepend_postings:
47 - account: Assets:Bank:US:WellsFargo:Checking
48 amount:
49 number: "{{ -amount }}"
50 currency: "{{ currency | default('USD', true) }}"
51 
52imports:
53 - name: Mercury Routine expenses
54 common_cond:
55 extractor:
56 equals: "mercury"
57 match:
58 - cond:
59 desc: Amazon Web Services
60 vars:
61 account: Expenses:Engineering:Servers:AWS
62 - cond:
63 desc: Circleci|Digital Ocean|Netlify
64 vars:
65 account: Expenses:Engineering:ServiceSubscription
66 - cond:
67 desc: Microsoft
68 vars:
69 account: Expenses:Office:Supplies:SoftwareAsService
70 narration: "Microsoft 365 Apps for Business Subscription"
71 - cond:
72 desc: OpenPhone
73 vars:
74 account: Expenses:Office:Supplies:SoftwareAsService
75 - cond:
76 desc: Mailchimp
77 vars:
78 account: Expenses:Marketing:ServiceSubscription
79 - cond:
80 desc: Adobe
81 vars:
82 account: Expenses:Design:ServiceSubscription
83 - cond:
84 desc: AMEX EPAYMENT
85 vars:
86 account: Liabilities:CreditCard:US:AmericanExpress:AmazonPrime
87 narration: "American Express Amazon Prime credit card payment"
88 actions:
89 - txn:
90 flag: "{{ '!' if pending else '*' }}"
91 narration: "{{ narration | default(desc, true) | default(bank_desc, true) }}"
92 postings:
93 - account: "{{ account }}"
94 amount:
95 number: "{{ -amount }}"
96 currency: "{{ currency | default('USD', true) }}"
97 
98 - name: Routine expenses
99 common_cond:
100 extractor:
101 equals: "plaid"
102 match:
103 - cond:
104 payee: KFC|McDonald's|Starbucks
105 vars:
106 account: Expenses:Food
107 - cond:
108 payee: United Airlines|Uber
109 vars:
110 account: Expenses:Travel
111 - cond:
112 desc: Touchstone Climbing|Madison Bicycle Shop
113 vars:
114 account: Expenses:Fitness
115 - cond:
116 desc: AUTOMATIC PAYMENT - THANK
117 vars:
118 account: Assets:Bank:US:Chase:Checking
119 narration: "Paid credit card"
120 - cond:
121 desc: Tectra Inc|SparkFun
122 vars:
123 account: Expenses:Engineering:Equipments
124 narration: "Purchase scientific equipments for my startup"
125 - cond:
126 desc: INTRST PYMNT
127 vars:
128 account: Income:BankInterest
129 actions:
130 - txn:
131 flag: "{{ '!' if pending else '*' }}"
132 narration: "{{ narration | default(desc, true) | default(bank_desc, true) }}"
133 postings:
134 - account: "{{ account }}"
135 amount:
136 number: "{{ amount }}"
137 currency: "{{ currency | default('USD', true) }}"
138 
139 - name: Gusto fees
140 match:
141 extractor:
142 equals: "mercury"
143 desc: GUSTO
144 bank_desc:
145 prefix: "GUSTO; FEE "
146 actions:
147 - txn:
148 narration: "Gusto subscription fee"
149 postings:
150 - account: Expenses:Office:Supplies:SoftwareAsService
151 amount:
152 number: "{{ -amount }}"
153 currency: "{{ currency | default('USD', true) }}"
154 
155 - name: Receive payments from contracting client XYZ
156 match:
157 extractor:
158 equals: "mercury"
159 desc:
160 equals: XYZ
161 actions:
162 - txn:
163 narration: "Receive payment from XYZ"
164 postings:
165 - account: "Assets:AccountsReceivable:Contracting:XYZ"
166 amount:
167 number: "{{ -amount / 300 }}"
168 currency: "XYZ.HOUR"
169 price:
170 number: "300.0"
171 currency: "USD"
172 
173 - name: Ignore unused entries
174 match:
175 desc:
176 one_of:
177 - Mercury Credit
178 - Mercury Checking xx1234
179 - CREDIT CARD 3333 PAYMENT *//
180 actions:
181 - type: ignore