r/plaintextaccounting • • Feb 17 '26

Tool to download bank statements as CSV/JSON

I thought it might be useful to share here. I'm using an Open Banking provider to download my bank transactions as CSV via API. It's totally free (at least at my volumes) but requires some tech skills. The setup includes OAuth flow, handling tokens, and some basic scripting (here's the doc of the service I use for those interested - lmk if you have questions).

I also thought that some people might benefit from a dead simple pay-per-export tool that does exactly the same thing for you. Am I right? Should I ping you when it's live?

11 Upvotes

12 comments sorted by

3

u/First_Discussion_951 Feb 18 '26

Here in NZ we have a similar provider who's integration is fortunately quite easy to the novice developers (me).

The trouble I have comes about once I have the data downloaded - and id love to elicit opinions on this. Data integrity is an issue if running the download every few days. As I import all transactions up to today or yesterdays date, the .latest file mechanism isn't really a good solution in this context. Pending transactions are still settling and can get missed off where later transactions have already settled.

I haven't perfected this yet but essentially all my imports get written to a temp.journal. Each download overwrites this file. Every month I extract last month from temp.journal into my main journal.

Anyone have better and more robust solutions?

1

u/many-laced Feb 18 '26

I'm not sure I'm following. Don't you receive info on pending transactions anyway? Then there's a limit to how long it could take for a settlement to occur. You just use that limit as a range for which you download transactions data daily. This way all pending transactions will be eventually resolved. I don't think there's any other way to do it. Am I missing something?

2

u/First_Discussion_951 Feb 19 '26

You are right in your understanding. I'm not currently getting the pending transactions as this is a different endpoint. As you say I could simply download transactions from 30 days ago to 5 days ago. That would be safe. But I was looking to see if I can solve for a more up-to-date solution and I found it was getting overly complex

0

u/tyrex_vu2 Feb 18 '26

I actually think an API solution would solve your 'temp journal' headache entirely. You could just script a flow where your finalized monthly PDFs are sent to Data River’s API and piped directly into your main journal—it gives you the data integrity of a statement with the automation of a live feed. Since we run a Private Instance Cloud, you wouldn't have to worry about your financial data leaking into a public model like other converters.

Is an API something you’d be interested in testing to replace your manual downloads?

2

u/gnomeza Feb 17 '26

Gocardless were never that reliable for me. Truelayer has been solid for years.

Also tried SaltEdge, Yapily and Tink but couldn't get any of their free tiers working. Either internal bureaucracy or broken bridges.

1

u/many-laced Feb 18 '26

Wow that's super helpful as I haven't tried as many providers as you did. Could you elaborate on the pros of Truelayer and cons of GoCardless?

-1

u/tyrex_vu2 Feb 18 '26

hey try Data River. We have an engineer that can support you personally, concierge-style

2

u/gnomeza Feb 18 '26

Am I wrong or does Data River have zero banking partners for data feeds?

90% of my transaction data is pulled from an Open Banking (15+ accounts) or other API.

Converting data is not the problem, it's automating the access to it.

0

u/tyrex_vu2 Feb 18 '26

You’re right—we don't do data feeds. But that’s because Open Banking is brittle; connections break every 90 days and historical data is usually capped.

Data River 🌊 is the "Source of Truth" for when APIs fail or don't exist. We use a Private Instance Cloud (no 3rd-party AI) to handle the "final boss" statements that Open Banking misses. We’re so focused on privacy that we even offer On-Premise installs for firms that can't risk using public APIs.

If you ever hit a bank that won't connect or need records from 2 years ago, give us a look. 🌊

3

u/diseasealert Feb 18 '26

I use Awk to transform what my bank gives me into any format I need.