Just based on the single screenshot in the readme, it seems like the workflow needs work too. The information density in the screenshot looks painfully low to me.
Just based on the single screenshot in the readme, it seems like the workflow needs work too. The information density in the screenshot looks painfully low to me.
I'm currently working to get OFX supported, which is the "automatic API" that can scrape your transactions. Quicken uses this, falling back on screen scraping in case OFX isn't supported.
There are a number of features that I'd still like to add (documented here: https://github.com/reZach/my-budget/wiki/FAQ#future-features). Are there specific things you'd like to see that I can put on my roadmap?
I spent a bit of time writing a simple streaming OFXv1 (SGML) parser in Rust, but I'm too ashamed to open-source it. The idea behind it was you read the OFX file byte by byte, using Nom to parse out tokens, and emit events when you hit SGML tags and element content (SAX-parser style). Then you have something over the top of that that accumulates state until it has a complete OFX data element, and then emits that.
Advantage: Very low memory usage. Disadvantage: Probably overkill, since OFX files probably wouldn't be megabytes or gigabytes.
It works for my bank feed, but who knows how many other banks!
If you have any ideas on how to support this well in a non-hacky way that doesn't involve relying on a scripting language (all other existing implementations seem to be some form of scripting language :().
Maybe not gigabytes, but if you wanted to pull transaction-level data from a relatively active brokerage account, you could end up with an OFX file of a couple of megabytes. I'm sure someone might appreciate the efficiency.
It imports live bank transactions into a Google Sheet for you to use however you want.
To that end, I looked into using Plaid's API to craft my own but it's a bit daunting, especially with a couple of my financial institutions continually failing and having to be reauthenticated, so I don't envy these developers their tasks.
The "bank API" is actually OFX, it's a protocol banks use to send each other data. I'm currently working on trying to get OFX support in My Budget. (I'm the author of the Github project).
I signed up for a budgeting service that claimed real time transaction sync and immediately unsubscribed when I realised it was planning to do so by scraping.