Back

over 2 years ago

Irregular budgeting with YNAB API

  • Node
  • APIs

Context

I use YNAB for personal budgeting and I love it, it's a great tool. On a weekly basis, I will manually reconcile my YNAB transactions with each of my banking providers. This is pretty straightforward as I enter transactions as and when I spend money. In addition, I schedule repeating transactions such as rent.

Problem

YNAB is great for one-off purchases and regular payments. However, entering a public transport ticket can be tedious as it's always the same payee, amount and category. The only variable is the date which is irregular. I have no idea how many times I'll take public transport in a given week.

Technical Solution

The YNAB Developer API has an endpoint where you can add a transaction to your budget. Once I got my personal Access Token I could successfully hit the CRUD endpoints in Insomnia. I then set up an API route in NextJS to hit the YNAB endpoint and integrated the API route with the client.

User Solution

I wanted the UX to be simple to the point where I didn't have to type. If there was any data entry required then I may as well use the YNAB mobile app. I hid the trigger on my website and now, whenever I get on the tube, I hit the trigger and a transaction is entered in my budget.

This is the most basic of hacks, it's just hitting an API from a front end, and likely only a relevant problem for me. However, it's now turned a tedious task of entering 5 data points into a form field into a fun secret for me.

transaction saved