But connecting to Chase.com using plaid pulls in transaction statement is still information poor. The obvious consequence of this is that budget information is not correctly reflected in Mint(that info is actually in my Amazon.com silo). The only way to fix this rn is sadly manually.
As a tangent, I do feel though that LLM agents that can one day act on individuals behalf, reading info and making this manual job far more easier in absence of any govt regulations.
They do this lack of info lift and then recommend category splits.
I ended up long down the rabbit hole with auto-downloading Amazon orders (originally with https://github.com/jbms/finance-dl, but then my own custom scraping) and importing and matching them up with credit card transactions using beancount-import (https://github.com/jbms/beancount-import).
This ultimately resulted in me spending a lot less on Amazon - to the point that now doing it manually wouldn't be too bad...
The steps, as far as I can tell, look something like this:
1) Sign up for Plaid developer account
2) Request developer access (without it you can only play with sandbox data)
3) Request production access
4) Submit application information including a name, website URL, and logo
5) Add a legal company entity name and address to my plaid account
6) Sign an MSA contract (no idea what its about)
7) Fill out a security questionnaire.
I'm at step 3 currently but I'm not sure how much further I'm realistically going to get. I'm not sure I could reasonably fill the rest without stretching the truth quite a bit and it seems to get deep into legal territory that I'm not sure I'm comfortable with.
There's also apparently different API behaviors depending on the bank: https://plaid.com/docs/link/oauth/#institution-specific-beha...
I don't have a lot of hope that this is going to pan out. I'm considering just scraping Chase with a headless puppeteer script instead.
It's possible that this may be simpler for other banks though, I've only tried Chase since that's my primary bank.
I will say that while annoying (especially for Chase, which has the most paperwork-type requirements for developers) this process should be totally doable for solo developers. You can put your own name as the legal entity name if you don't have a company. The Master Services Agreement (MSA) sounds scary but is just the contract between you and Plaid -- the legalese laying out what you're paying for, what Plaid is providing, and the rights and obligations of both parties. And when it comes to the security questionnaire, fill it out as accurately as you can, but you don't need to stress over it -- Plaid doesn't expect a solo hobbyist to have the same security measures as, like, a publicly traded company.
I'd much rather just pay the money and have the standard API, and my workflows are all built around Plaid anyway.
I guess I'll give it a go now.
Last time I looked at this, I thought it was stated that the free/sandbox tier is not guaranteed to have the same SLA as the production environment. But I can't find this in the documentation anywhere.
I've personally used SimpleFIN to provide automatic imports in my own personal, kind-of selfhostable personal finance tool [1].
So the question is, would it make sense to have a Plaid plugin for this? Obviously because they are a 3rd party, it negates some of the benefits, but I simply cannot use this system manually because I have so many accounts. Maybe one workaround is to pull from Tiller (which uses plaid), then export a csv/excel.
Any chance there's a good plan in place to get automated data imports working, even if we need a 3rd party to do it?