cmenon12 / bank-account-to-sheets Goto Github PK
View Code? Open in Web Editor NEWGoogle Apps Scripts to automatically import bank account transactions into Google Sheets via Plaid.
License: GNU General Public License v3.0
Google Apps Scripts to automatically import bank account transactions into Google Sheets via Plaid.
License: GNU General Public License v3.0
Run this to find out what the changes look like (compare a JSON before & after from Plaid). If the IDs do change, need to be careful matching them up. Consider using a date cutoff to ensure that transactions aren't deleted.
Classes should be created for:
Transaction - this should be for a sheet transaction because this is what we use most. Include methods for:
Account - include totals reported by Plaid but not transactions.
SubCategory - a subcategory
ParentCategory - one of the top-level ones. Include methods to get and set subcategories.
Use JavaScript dates throughout. Need to include required getters and setters for objects. The 'last mile' of writing to the sheet should be handled procedurally, but these classes should prepare the data for it. Think carefully about headers.
Need to implement more IDs (pending and transaction) to maybe make updating more effective. Think carefully about dates, IDs, and updating with new transactions (need to look at how this is currently implemented). Fixing the broken updates when the access token changes is out of scope here (see #10).
Object classes should be defined in a separate file. Don't make any changes to the sheet (but do include additional fields that might be useful later). This should not change how it works for the end-user (we're not improving anything), merely the backend structure to make it more extendable and maintainable.
See https://github.com/cmenon12/contemporary-choir/blob/main/google-apps-scripts/the-new-ledger/ledger-checker-classes.gs for an example.
I'm using plaid - and the way you have created the spreadsheet is amazing - rolling up totals - especially the first 3-4 columns.
Add total for pending transactions that are unaccounted for (i.e. where the difference between current balance and available balance isn't the same as the sum of the pending transactions).
Make dates from both existing and Plaid JavaScript Date objects as soon as they are fetched, for consistency.
Use the onEdit(e) trigger to update the data validation for the subcategory column dynamically, restricting the possible values to match the corresponding category. This will need to apply when the transactions are updated and when the category is changed.
Make it clearer which is being used where. Could use ptransaction
and etransaction
?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.