/Automated-Finance

Streamlines the synchronization of financial transactions from personal bank accounts and credit cards using the Plaid API.

Primary LanguageJavaScript

Automated Finance

This project streamlines the synchronization of financial transactions from personal bank accounts and credit cards. It uses Plaid to connect and sync account transactions from your financial institutions to your database of choice.

Getting Started

  1. Sign up for a Plaid Developer Account and apply for the Plaid Production Key.
  2. Download Plaid's Quickstart App and use it to generate access tokens for each financial institution you would like to link.
  3. Set up a new database to store your transactions. (I recommend using Planetscale to spin a new one up for free)
  4. Duplicate the .sample.env file and rename it to .env
  5. Follow the instructions to fill out the .env file

Setup

After setting up the .env file, sync your database with the Prisma schema.

  npx prisma db push

Next, initialize the database with your Plaid institutions.

  yarn ini

Now you can sync new transactions to your database whenever you want.

  yarn sync

Optional Coinbase Support

Coinbase was not supported by Plaid when I created this project. I later integrated Coinbase support (USA only) for personal use and optionally included it into this project.

You can generate a Coinbase API key by following the instructions here.

Afterwards, simply add the developer key and secret in your .env file.