| 1 | inputs: |
| 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 | |
| 52 | imports: |
| 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 |