======
Muneem
======
NOTE
----
We can't deploy this because NAB's web portal blocks headless mode.
Either we find a way around it (annoying and hard)
Or we install a graphical server onto box
Or we just run this weekly from curve <- Currently doing this
TODO
----
- [ ] Create assertion for each ingest to ensure we're tracking correctly
- [ ] Download NAB trade transactions and value
- [ ] Download spaceship returns
- [ ] MAYBE Mention uncategorized transactions in matrix chat so that i can categorize it
- [ ] Post weekly spending in matrix chat
DONE
----
- [x] Read the CSV(s)
- [x] Figure out a way to download both CSVs from each account
- [x] Figure out what columns match to what data we care about
- [x] Marshall the data into a way that bean count understands
- [x] Open accounts that previously didn't exist
- [x] Write the transactions to the file
- [x] `pad` checking / savings accounts against some known value way in the past
- [x] MAYBE gonna have to write a rule engine that handles this
- [x] MAYBE Parse the transaction only once at the start, and then use the parsed map instead of passing around a vector of strings
- [x] Download Savings acct CSV
- [x] Import Savings acct CSV
- [x] RECONCILE
beancount::
Beancount Format
2016-12-06 * "Biang!" "Dinner"
Liabilities:CreditCard -47.23 USD
Expenses:Restaurants
-----------
Assumptions
-----------
We'll also be making assumptions about the way accounts are structured. Since NAB provides categories we can put that into the account
=================== ==================================== =============== =======
Transaction Type To From Misc
=================== ==================================== =============== =======
EFTPOS DEBIT Expenses:<Category>:<Merchant Name> Assets:Checking
TRANSFER CREDIT Assets:Checking Assets:Savings
MISCELLANEOUS DEBIT Expenses:<Category>:<Merchant Name> Assets:Checking
TRANSFER DEBIT Expenses:Rent Assets:Checking IFF: (= amount 170)
Additionally:
- we'll may need to use account nunmber for distinguishing different CSVs
- The actual date is stored in Transaction details, which we can use as the comment