Import Monizze transactions to YNAB.
# Clone the repo
$ git clone https://github.com/thomastoye/monizze-to-ynab.git
# Install dependencies
$ yarn
# Authentication with Monizze
# Option 1: Get a token yourself
$ yarn start --token=eyJpd...
# Option 2: Automatically get a token
# You can use a .env file
$ [email protected] MONIZZE_PASSWORD=very-secure yarn start
# Getting results
# Option 1: In a CSV file you can upload to YNAB manually
$ yarn --silent start --csv > output.csv
# Option 2: Auto-import to YNAB ✨
# If you don't provide YNAB_BUDGET_ID/YNAB_ACCOUNT_ID, the script will provide a list of them
# You can use a .env file to store these
$ YNAB_PERSONAL_ACCESS_TOKEN=... YNAB_BUDGET_ID=...YNAB_ACCOUNT_ID=... yarn start
If you don't want to provide your username and password to an untrusted script, you can provide an existing token. You can do this by logging in on Monizze and inspecting the network panel. The token is sent with the X-Token
header to the API.
You can create a YNAB access token here.
This repo includes Terraform configuration to deploy as a Terraform function
Either run gcloud auth application-default login
or set GOOGLE_PROJECT
and GOOGLE_APPLICATION_CREDENTIALS
:
$ export GOOGLE_APPLICATION_CREDENTIALS=`pwd`/monizze-to-ynab-terraform-key.json
$ export GOOGLE_PROJECT=monizze-to-ynab
$ export GCLOUD_PROJECT=monizze-to-ynab
Create terraform/terraform.tfvars.json
.
Run yarn deploy
.
Trigger the PubSub queue: gcloud pubsub topics publish projects/.../topics/trigger-monizze-to-ynab-import --message='{}'
A Cloud Scheduler will also be set up to automatically import transactions every day (by default after lunch and in the evening for my time zone).