All of my high-volume (in terms of number of transactions) accounts are easily importable. There are a few that don't have great import functionality, but I only have 1-2 transactions on them a month so haven't felt the toil pain to better automate them. 1-2 hours a month of balancing is not worth optimizing down to 0.5-1 hour to me.
OFX is the closest to being universal, although often it is well hidden.
CSV feeds are often surprisingly useless for programmatic / feed use, they're often littered with stupid textual headers and footers and lack important columns - they're designed to be opened in excel and looked at by a human, not parsed and ingested.
There's also the heterogeneity of transactions. Looking at the csv export I've got from my bank, there are three "reference" columns and they play different roles depending on how I'm paying:
- debit card: merchant name + date, card number, blank
- alternative card-based payment system: constant (account number?), merchant, constant
- alternative app-based payment system: constant, merchant, user custom reference
And a data sanitation issue: one of the merchant names has a comma in it, and it's not escaped or quoted in the csv so that record is corrupted.
https://github.com/jbms/beancount-import
https://beancount.github.io/docs/importing_external_data.htm...
Support for OFX is generally great, CSV is also great. There are some proof of concept things floating around too for PDF.