I built my own similar tool for my wife and I, with the same goal of making entering transactions as fast as possible, and one thing I found useful was predictive form filling.
Some categories have the same thing logged over and over (like for the "Gas" category I always made the title "Gas") so when you select the "Gas" category it prefills the title field with the most common transaction title for that category. Also works in reverse, if you enter the transaction title first it will guess the category.
I also optimized the date picker. We budget month to month, so when you're in this month's budget, all you have to select is the day. No need to select month and year, as so many default date pickers do.
Just some tidbits in case they interest you as well!
The Canadian government has apparently introduced a framework for sharing your banking data securely with third parties (budgeting apps, financial products) in an effort to eliminate this shady screen scraping and credential sharing that a lot of these kind of apps do. Hoping they actually follow through...
Having used Plaid, it is essentially web scraping as a service. It's an API built on top of very questionable access. It itself is not a formal API provided to you by the bank.
Whatever happened to the Quick Interchange Format(.qif)? It used to be common for all banks to support that. A modern variant today could just be a XML or JSON export, and I hardly see that either.
I did that for a while, but I always spent a lot of time retracing my steps to properly label most transactions.
I think I'll try the tool listed here, if it is simple enough to manually enter transactions I can do that every evening and get better data in the end than a monthly review.
Actual Finance (similar open source software) does this via SimpleFIN Bridge. It even supported connecting a credit card option that rocket money doesn't.
I can't find the library right this second but there's a JavaScript library that takes human date descriptions, like "last Friday" and creates a date object. Depending on users' typing speed that might be another convenience factor thing.
These sound great in theory but as an app user I have found their implementation can range from deeply irritating to downright broken. Anti-use cases off the top of my head might be (this was from a calendar/reminder app):
- I write myself an appointment on Monday to remind myself to plan a meal for next Friday, so the app silently moves the Monday app to Friday without telling me just because the words "next Friday" appeared in the event title
- I want to quickly note an appointment for a specific time including an address in the title, when the street number is something like 10A - the app aggressively decides (again without warning me) that I want the appointment to be at 10 a.m. instead of the time I originally suggested when creating the event
In the case of that particular app, I just turned off the "natural language" feature globally - shame because it could have been useful if it was less aggressive in its interpretations and silent modifications of my previous choices, but the app developers told me other users are happy with it so there is no reason to fix it.
I think org mode has a great implementation of it. It works when setting a date parameter to, say, "Friday" and the scheduler will pick the closest Friday and turn it into a proper date, so there is no ambiguity later.
Another approach might be to build an app that parses the SMS trails that card transactions generate to reduce the need for manually entering transactions.
This is exactly what I did for my DIY solution, it's quite amazing how far you can get with some SMS parsing.
Initially I was still missing quite a lot of transactions, as there isn't a SMS for non-CC payments, but then I realized I could just grab the information from the 2FA confirmation, as it had all the important details.
I'm not so good on the frontend, so I'm still using redash to build charts, dashboards and alerts, but it's fine for keeping an overview.
Long-term I would still like to switch to parsing the statement PDF from the bank, especially since there's an option to receive them automatically at the end of the month, but I'm dragging my feet on that one, as parsing tables from PDF is surprisingly difficult. Even though the actual text is embedded in the PDF, getting it in the correct layout has proven impossible so far. Or maybe I'm just missing some piece of the puzzle?
Some banks allow setting up alerts for transactions of more than a threshold. It's possible to set this threshold to a very low value thus getting all transactions logged as texts.
I am not sure how this system handles US tips though; the notification may come in before the tips are added and the CC transaction is finalized.
Some categories have the same thing logged over and over (like for the "Gas" category I always made the title "Gas") so when you select the "Gas" category it prefills the title field with the most common transaction title for that category. Also works in reverse, if you enter the transaction title first it will guess the category.
I also optimized the date picker. We budget month to month, so when you're in this month's budget, all you have to select is the day. No need to select month and year, as so many default date pickers do.
Just some tidbits in case they interest you as well!