This is the big pain-point for me with self-hosted budgeting software.
The corporate players in the space can jump through the security hoops and integrate with Plaid, but if I wanted to automatically pull my own data into the single-user budgeting tool I host entirely on my own network I need to pass the same security checks as a full-on fintech startup.
Currently I enter transactions manually, but manually reviewing multiple credit card and bank statements is a chore and I don't keep up with it as much as I should. To make things worse, since I ideally want a live view of my budget and not a post-statement-issuance monthly review, I'm constantly checking over transactions I've already entered when their ordering changes in my credit card company's app.
The closest thing to a potential solution involves extracting my Monarch Money session key from my browser and pulling data from their GraphQL endpoints with the help of an unofficial Python SDK. That doesn't solve the "relying on a subscription service" problem, but it would at least let me get my data into the custom budgeting tool I built that actually meets my needs.
If I had my 'druthers there would be legal rules around the rights of customers to access their information, using an API key limited to reading past/pending transaction data.
I suppose an extra-paranoia feature might be letting people set a salt value for any data which is too sensitive to release but it needs to be present for comparison/sync purposes.
I'm grateful that this is possible via Up bank here in Australia. Webhooks push the data through a free-tier Worker on Cloudflare and into YNAB within a second of the transaction going through. Full updates across pending/cleared and deleted transactions too. I’ve had this running for 18 months now and it's been a dream.
You can "solve" this by throwing your PDF statements at llms and having them extract the transactions. Has privacy implications if you use hosted llms of course.
As for self hosted accounting/budgeting software, IMO Beancount is the best by far: nothing to host, just text files.
I built my own financial dashboard and used Enable Banking Accounts API, it's free to use for such limited usage, and they support most European banks at least.
Try our app, Pendragon (https://pendragon.foxtrotcommunications.net), and get started with simple expense analysis right away. Easily add your accounts via Plaid or even just a simple csv upload.
We go far beyond a simply budgeting app by providing a solution for your entire financial life. We look at your finances holistically and make judgements that you can rely on.
I've fallen behind on keeping it up-to-date, but I feel I ought to plug anything self-hostable: https://actualbudget.org/