File imports.yaml

1context:
2 routine_expenses:
3 "Amazon Web Services":
4 account: Expenses:Engineering:Servers:AWS
5 OpenPhone:
6 account: Expenses:Office:Supplies:SoftwareAsService
7 Mailchimp:
8 account: Expenses:Marketing:ServiceSubscription
9 Adobe:
10 account: Expenses:Design:ServiceSubscription
11 Netlify:
12 account: Expenses:Engineering:ServiceSubscription
13 Circleci:
14 account: Expenses:Engineering:ServiceSubscription
15 Digital Ocean:
16 account: Expenses:Engineering:ServiceSubscription
17 Microsoft:
18 account: Expenses:Office:Supplies:SoftwareAsService
19 narration: "Microsoft 365 Apps for Business Subscription"
20 AMEX EPAYMENT:
21 account: Liabilities:CreditCard:US:AMEXAmazonPrime
22 narration: "American Express Amazon Prime credit card payment"
23 
24inputs:
25 - match: "import-data/mercury/*.csv"
26 config:
27 extractor: mercury
28 default_file: "books/{{ date.year }}.bean"
29 prepend_postings:
30 - account: Assets:Bank:US:Mercury:Checking
31 amount:
32 number: "{{ amount }}"
33 currency: "{{ currency | default('USD', true) }}"
34 
35imports:
36 - name: Routine expenses
37 match:
38 extractor:
39 equals: "mercury"
40 desc:
41 one_of:
42 - Amazon Web Services
43 - OpenPhone
44 - Netlify
45 - Mailchimp
46 - Circleci
47 - Adobe
48 - Digital Ocean
49 - Microsoft
50 - AMEX EPAYMENT
51 actions:
52 - txn:
53 narration: "{{ routine_expenses[desc].narration | default(desc, true) | default(bank_desc, true) }}"
54 postings:
55 - account: "{{ routine_expenses[desc].account }}"
56 amount:
57 number: "{{ -amount }}"
58 currency: "{{ currency | default('USD', true) }}"
59 
60 - name: Gusto fees
61 match:
62 extractor:
63 equals: "mercury"
64 desc: GUSTO
65 bank_desc:
66 prefix: "GUSTO; FEE "
67 actions:
68 - txn:
69 narration: "Gusto subscription fee"
70 postings:
71 - account: Expenses:Office:Supplies:SoftwareAsService
72 amount:
73 number: "{{ -amount }}"
74 currency: "{{ currency | default('USD', true) }}"
75 
76 - name: Receive payments from contracting client XYZ
77 match:
78 extractor:
79 equals: "mercury"
80 desc:
81 equals: XYZ
82 actions:
83 - txn:
84 narration: "Receive payment from XYZ"
85 postings:
86 - account: "Assets:AccountsReceivable:Contracting:XYZ"
87 amount:
88 number: "{{ -amount / 300 }}"
89 currency: "XYZ.HOUR"
90 price:
91 number: "300.0"
92 currency: "USD"
93 
94 - name: Ignore unused entries
95 match:
96 extractor:
97 equals: "mercury"
98 desc:
99 one_of:
100 - Mercury Credit
101 - Mercury Checking xx1234
102 actions:
103 - type: ignore