If you want an open source self hosted budgeting solution, firefly is the most commonly recommended ( https://www.firefly-iii.org/ ). If you are looking for something supported/less DIY and with features beyond budgeting, checkout Homechart ( https://about.homechart.app ).
How you can track your personal finances using Python
51–60 of 60 posts
Re: How you can track your personal finances using Python
#52If you're using Python, and you want to import transaction/balance data without handing over your passwords to some third party, you can try https://github.com/csingley/ofxtools
I just added a link to it on https://awesome-beancount.com/#tools.
Re: How you can track your personal finances using Python
#53Regarding "1. Download transactions from your bank" - to avoid having to deal with PDFs, it's possible to use account aggregators to fetch your own bank data in Python-friendly formats like JSON. We have this feature at Nordigen (I'm the cofounder), where we allow developers to download their bank statements in JSON format from 1,000+ European banks (free): https://nordigen.com/en/blog/download-your-bank-statement-js…
"in order to derive statistical models for future data enrichment purposes", "to improve the performance and accuracy of the Services", "to improve Your experience while using the Services" and "to send Users and website visitors relevant informational content regarding Services and personalized offers they subscribed to".
"Nordigen may also provide personal data to companies that process personal data on behalf of Nordigen such as marketing service providers." - wonderful, thank you for doing that. not.
GDPR requires you to be more specific in terms of "purpose", to actually list your data processing partners, what purpose the data sharing with that particular partner serves, and which data exactly is shared with which partner.
Re: How you can track your personal finances using Python
#54Regarding "1. Download transactions from your bank" - to avoid having to deal with PDFs, it's possible to use account aggregators to fetch your own bank data in Python-friendly formats like JSON. We have this feature at Nordigen (I'm the cofounder), where we allow developers to download their bank statements in JSON format from 1,000+ European banks (free): https://nordigen.com/en/blog/download-your-bank-statement-js…
This is great. Looking forward to a few of your "in development" entries of the Croatian banks!
Re: How you can track your personal finances using Python
#55Earlier quoted context omitted.
Are you making claims without evidence? Settling is not admission of guilt. Banks should implement read-only OAuth APIs, so that users are not required to store their u/p/sqa answers. From "Canada calls screen scraping ‘unsecure,’ sets Open Banking target for 2023" https://news.ycombinator.com/item?id=28229957 : > AFAIU, there are still zero (0) consumer banking APIs with Read-Only e.g. OAuth APIs in the US as well?…
> Are you making claims without evidence? No. Plaid did agree to pay the $58 million, and the lawsuit was for alleged data sharing with third parties without user consent. I don't care if they admit guilt or not. They agreed to pay $58 million to end the lawsuit, and that does not engender trust. Shifting the blame to banks doesn't make Plaid any more reputable. Providing usernames and passwords of sensitive accounts…
From https://my.plaid.com/help/360043065354-does-plaid-have-acces... :
> Does Plaid have access to my credentials?
> The type of connection Plaid has to your financial institution determines whether or not we have access to the login credentials for your financial account: your username and password.
> In many cases, when you link a financial institution to an app via Plaid, you provide your login credentials to us and we securely store them. We use those credentials to access and obtain information from your financial institution in order to provide that information, at your direction, to the apps and services you want to use. For more information on how we use your data, please refer to our End User Privacy Policy.
> In other cases, after you request that we link your financial institution to an app or service you want to use, you will be prompted to provide your login credentials directly to your financial institution––not to Plaid––and, upon successful authentication, your financial institution will then return your data to Plaid. In these cases, Plaid does not access or store your account credentials. Instead, your financial institution provides Plaid with a type of security identifier, which permits Plaid to securely reconnect to your financial institution at regularly scheduled intervals to keep your apps and services up-to-date.
> Regardless of which type of connection is made, we do not share your credentials with the apps or services you’ve linked to your financial institution via Plaid. You can read more about how Plaid handles data here.
What do you think this should say instead?
Do you think they use the same key to securely store all accounts, like ACH? Or no key, like the bank ledger that you're downloading a window of as CSV through hopefully a read-only SQL account, hopefully with data encrypted at rest and in motion.
When you download a CSV or a OFX to a local file, is the data then still encrypted at rest?
Again, US Banks can eliminate the need for {Plaid, Mint, } as the account data access middlemen by providing a read-only OAuth API. Because banks do not have a way to allow users to grant read-only access to their account ledgers, the only solution is to securely store the u/p/sqa. If you write a script to fetch your data and call it from cron, how can you decrypt the account credentials after an unattended reboot? When must a human enter key material to decrypt the stored u/p/sqa?
Here, we realize that banks should really have people that do infosec - that comprehend symmetric and assymetric cryptography - audits to point out these sorts of vulnerabilities and risks. And if they had kept current with the times, we would have a very different banking and finance information system architecture with fewer single points of failure.
Re: How you can track your personal finances using Python
#56Earlier quoted context omitted.
> Are you making claims without evidence? No. Plaid did agree to pay the $58 million, and the lawsuit was for alleged data sharing with third parties without user consent. I don't care if they admit guilt or not. They agreed to pay $58 million to end the lawsuit, and that does not engender trust. Shifting the blame to banks doesn't make Plaid any more reputable. Providing usernames and passwords of sensitive accounts…
How did their policies change before and after said settlement? From https://my.plaid.com/help/360043065354-does-plaid-have-acces... : > Does Plaid have access to my credentials? > The type of connection Plaid has to your financial institution determines whether or not we have access to the login credentials for your financial account: your username and password. > In many cases, when you link a financial institution…
And Plaid's terms of service (https://plaid.com/legal/#how-we-use-your-information) contains vague catch-alls such as:
> We share your End User Information for a number of business purposes:
> With our data processors and other service providers, partners, or contractors in connection with the services they perform for us or developers
Sure, it would be great if banks offered different authentication systems, but that has nothing to do with my lack of trust for Plaid. A different authentication system wouldn't eliminate the data sharing concerns I have with Plaid.
Re: How you can track your personal finances using Python
#57Earlier quoted context omitted.
This is the philosophy behind the FOSS app I developed for my own system. The way it works is that I track the big stuff and ignore the little stuff. Periodically (typically every month but it doesn't have to be) I enter the current balances of my bank accounts. I have a report that does how much money I spent per period that is unaccounted for, that's money that got spend on "miscellaneous". As long as that number i…
Awesome! Could you provide a link for it?
Anyway, while it's FOSS it's not really packaged for easy reuse. You'd need to set up a server and configure it. It might be good as inspiration or as a starting point for your own project though, so you're still interested I can log in to LinkedIn later and message you there.
Re: How you can track your personal finances using Python
#58Earlier quoted context omitted.
Awesome! Could you provide a link for it?
I'd rather not link my HN profile to github which uses my real name. I went to you profile to see how I could send it to you directly but...there's no email listed on your site or github and I can't message you on Twitter (I guess that's a setting?) Anyway, while it's FOSS it's not really packaged for easy reuse. You'd need to set up a server and configure it. It might be good as inspiration or as a starting point fo…
Re: How you can track your personal finances using Python
#59If you want an open source self hosted budgeting solution, firefly is the most commonly recommended ( https://www.firefly-iii.org/ ). If you are looking for something supported/less DIY and with features beyond budgeting, checkout Homechart ( https://about.homechart.app ).
The author of firefly claims to do double entry but it's just not true. I quickly gave up when I realized that I could not input a refund on my credit card account. It doesn't allow positive transactions. The only suggested workaround by the author himself was to edit the original transaction. Firefly is probably useful for many people but to me it was too opinionated and not natural to use. I moved to Gnucash.
Re: How you can track your personal finances using Python
#60Earlier quoted context omitted.
How did their policies change before and after said settlement? From https://my.plaid.com/help/360043065354-does-plaid-have-acces... : > Does Plaid have access to my credentials? > The type of connection Plaid has to your financial institution determines whether or not we have access to the login credentials for your financial account: your username and password. > In many cases, when you link a financial institution…
I'm not interested in what Plaid puts in a help page, since Plaid's $58 million settlement is for alleged data sharing with third parties without consent, meaning that Plaid is accused of not properly communicating the alleged data sharing to its users or obtaining permission. And Plaid's terms of service ( https://plaid.com/legal/#how-we-use-your-information ) contains vague catch-alls such as: > We share your End U…