Suggestion: narrow scope/reduce concerns (/feature request: allow bailing straight after downloading data)
Opened this issue · 0 comments
Hi!
First of all, thanks for writing this. I've been on a mission for a while trying to automate fetching all my transaction data from my own machine (...as opposed to giving out my banking credentials to some third party, potentially in another country. I'm amazed at how many people just do that without flinching...). This is the first implementation I've come across of a tool that does exactly that so... THANK YOU 🙏
My only gripe is that I feel like it does a tad too much. My use case is that I'm trying to implement a more functional approach where I hold onto the original data retrieved and generate the entire ledger from it every time. That way I need only keep the original raw data (which might have come with "non-standard" fields that I might want to use later) and maintain the functions that transform it into a ledger journal (instead of maintaining the journal itself). This would allow me to experiment with different sets of function to do things like trying out different category sets, tagging, account naming formats etc without having to resort to black magic (sed). I hope that makes sense.
So my two cents are:
- Normalizing the data into ledger-friendly CSV result in potentially undesirable data loss.
- Converting json/html to CSV is a fairly trivial problem that is probably covered by other tools.
- Calling ledger can be done directly by the user
- The problem that this project uniquely solves is that of automatically jumping through all the fire hoops that banking websites put us through in order to login, and then fetching the data that we need. I believe that focusing on that problem domain alone would make the project easier to contribute to (i.e., add more banks).
- CSV conversion, categorization, ledger input can and should be handled by the user with whatever tools he/she prefers (hledger/beancounter, into-ledger, etc).
That's just my opinion and you are obviously free to take this wherever you want or ignore it completely.
All I really need for my workflow to work is a flag (--fetch-only
? --fetch-raw
?) that would let the user just save the raw data from the bank and exit immediately. Would that be something you'd consider merging if I made a PR?
Cheers!