Collects your bank transaction details and exports the data to a CSV file or Google sheet along with the transaction category (Food, Entertainment, e.t.c).
- Good for budgeting by using past spending patterns to budget for the future
- Up to 24 months of data in the same spreadsheet for easy access
- Look at categories you spend a lot and work on cutting or spending more
- It's DATA!!!
- Plaid
- Google Cloud Project for service account
- Google Sheet
- Firebase
- Service host like Heroku
For this project to work in its entirety, you need a plaid account which is free and a service account from Google Cloud to create a headless user that can access your Google Sheet.
- Create a
.env
file from the.env-sample
file (or add the env to Config Var sections of host services) - Add the plaid keys to the
.env
file - You can choose to use an online datastore, I used Firebase in this project for data persistence or save data locally (see StorageService under services).
- Create a google cloud project (It's free), enable the Drive API from API & Services.
- Create a JSON service account credential at least editor access, save it to config/service_account.json in the project directory for dev or on host for production
- Run
npm install
in both server and root directories - To run the project, a simple
npm run run
will run the server and "frontend". - The first time you link a bank account, the access key will be stored locally (see BankingService).
A new sheet is created for each month, if the sheet for the month already exists, the transactions are just appended on the newest row. You can run the export transactions multiple times and it would not override existing tx on the sheet (good for if you add custom stuff).
There's a general sheet that has all the months dumped in it, in the future there'll probable be options to export to different file types like CSV.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
- Export bank statement to CSV
- View account balance from UI
- View and Filter transactions by date range
- Filter transactions by type
- Add visual representation of tx
- Beautify the Google sheet (maybe, I mean who cares?!)
- Actual business name for tx names (crap's ugly)
- Bitcoin - 16xLHT2K3aQgxBFEAFXyb9ji5HsoZG76d7
- Ether - 0x75ac2D75F68C90Ca5667d73ed214925a68fE3f53
- Litecoin - LXAKso9VAmfB8jvZb5d3k86vY6hHFFV1Qe
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.