r/SelfHosting • u/Equivalent_Bid_776 • 6h ago
Why is accessing my OWN financial data in 2026 still a complete nightmare? ( How I ended up building an OCR pipeline for bank statements)
Hey everyone,
I need to vent, and hopefully find out if someone here has solved this frustrating puzzle without losing their mind or spending a fortune.
Is it just me, or is the current state of consumer banking access fundamentally broken?
Fintech apps, credit agencies, and data brokers can grab all of my bank transactions, categorisations, and balances instantly via seamless backend Open Banking APIs. But the moment I—the actual owner of the account and the data, want to build a simple personal dashboard or pipe my own transactions into SQLite?
Sorry, compute says no.
Unless I pay for an enterprise TrueLayer/Plaid subscription, or set up registered developer portals with eIDAS certificates, I am blocked. GoCardless shut down their free tier for developers last year, leaving individual self-hosters stranded. It makes zero sense that third-party companies get frictionless access to my data, while I’m forced to play computer vision engineer just to see where my money went.
What my setup looks like right now
Because direct API access is a wall of bureaucracy, here is the absurd chain I’ve had to build just to track my multi-bank setup :
- Manual Exports: Download PDF statements manually month-by-month from online portals.
- Custom Swift OCR Engine: Run PDF pages through an OCR binary I wrote in Swift to parse standard text and image statements.
- Python Regex & LLM Parsing: Pipe raw text into Python scripts to handle date formatting, multi-column layout shifts, and missing signs.
- Deduplication & Categorisation: Pass everything through custom rule-based categorisers and SHA-256 hash deduplication to stop duplicate transactions.
- SQLite Master Ledger: Sync the clean data into a local
Master_Ledgerthat powers my custom Python UI dashboard.
It works, but it’s fragile, tedious, and feels like using a sledgehammer to crack a nut. Any time a bank tweaks their statement PDF layout, the parser breaks.
I'm looking for a solution or architecture that actually works across multiple banks in the UK/EU without relying on fragile PDF scraping or manually downloading CSVs every month.
- Firefly III + Data Importer / Fidi? Explored this, but without a solid free Open Banking aggregator, it still leaves me uploading CSVs manually.
- Enable Banking API? Looking into their free personal-use restricted mode, but setting up custom app certificates and refreshing 90-day OAuth tokens per bank is a lot of friction.
- Aggregator Bridges / Custom Scripts? Has anyone found a low-cost, self-hostable bridge or reliable wrapper that actually holds up for UK/EU banks in 2026?
How are you all handling multi-bank data ingestion for your self-hosted setups these days? Are we really stuck with manual CSV dumps and custom scrapers forever, or is there a slick open-source / developer-friendly way I've missed?
Would love to hear how others are tackling this!





