Live data from Hacker News

How you can track your personal finances using Python

sgoel.dev

31–40 of 60 posts

Re: How you can track your personal finances using Python

#31

There’s so many ways to do personal finances but I found most of them to either be too tedious or require doing stupid things like letting third parties log into your bank account. For me I simply had a spreadsheet with rows for each month and columns for each account: chequing, mortgage, RRSP, RESP, etc. I’d spend 10 mins a month logging in and typing out each balance. I’d chart the over-time trend and that’s all I…

I agree that this works at the income level of most of the HN audience. If you're living paycheck to paycheck, you may have more need to closely track exactly what your money is going to (of course, you'll also likely have the least spare time to spend on such tracking). At the income level of most tech workers/the HN audience, however, I agree with your system. My spreadsheet is similar to what you describe - savings/checking accounts, investment accounts, and balance of all credit cards/mortgate/loans that give me a single number of "net worth". So long as its trending significantly positive, I don't care about the details.

Re: How you can track your personal finances using Python

#32
post #13

I used HLedger for years it was great. I thought I could do better with a paid solution. YNAB was awful and slow. So I switched to Lunch Money. It's amazing fast and intuitive. Only it's not a good fit for me. I'm trying to shoe horn my budgeting style into and it's not working. I use the envelope style. Every dollar is assigned a bucket when it comes in. All spending is done from a bucket and balances always persist…

I'm slowly working on a SaaS app to combine in-browser real-time collaborative text editing with plain text accounting, using the hledger format. Just curious if that is something you, or others, would be interested in.

Re: How you can track your personal finances using Python

#33
I find Google Sheets pretty hard to beat - you can get stock pricing data via the GOOGLEFINANCE function, and I have a simple script that does imap -> sheets for bank and credit card balances. I'm able to keep an up to date view of my net worth without resorting to Mint/Plaid et al. And you can generate whatever charts and graphs you like fairly easily - have access on your phone, etc.

For budgeting, I import csv from my bank/credit cards into google sheets and tag transactions with ~20 different categories - I do this every month or two and it doesn't take that long. It gives me a backwards view of my spending that I can use to influence future spending. I don't run a hard budget really.

Re: How you can track your personal finances using Python

#34
I struggled with the accounting concepts until I stumbled on this blogpost from Martin Kleppmann: https://martin.kleppmann.com/2011/03/07/accounting-for-compu.... After that I finally 'got' the accounting graph, and I don't care too much about the medium or the software anymore (its a google sheet in my case).

Re: How you can track your personal finances using Python

#35

There’s so many ways to do personal finances but I found most of them to either be too tedious or require doing stupid things like letting third parties log into your bank account. For me I simply had a spreadsheet with rows for each month and columns for each account: chequing, mortgage, RRSP, RESP, etc. I’d spend 10 mins a month logging in and typing out each balance. I’d chart the over-time trend and that’s all I…

I agree that this works at the income level of most of the HN audience. If you're living paycheck to paycheck, you may have more need to closely track exactly what your money is going to (of course, you'll also likely have the least spare time to spend on such tracking). At the income level of most tech workers/the HN audience, however, I agree with your system. My spreadsheet is similar to what you describe - saving…

Yup. And at the per-theme level if I notice an anomaly I just check it. “Oh my chequing took a $1500 dip in its usual pattern… let’s skim the account… ah yea there it is, we bought that sectional for the patio.”

Re: How you can track your personal finances using Python

#36
post #5

Regarding "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

#37
post #13

I used HLedger for years it was great. I thought I could do better with a paid solution. YNAB was awful and slow. So I switched to Lunch Money. It's amazing fast and intuitive. Only it's not a good fit for me. I'm trying to shoe horn my budgeting style into and it's not working. I use the envelope style. Every dollar is assigned a bucket when it comes in. All spending is done from a bucket and balances always persist…

I'm slowly working on a SaaS app to combine in-browser real-time collaborative text editing with plain text accounting, using the hledger format. Just curious if that is something you, or others, would be interested in.

I’m personally interested in something similar for the beancount format.

Re: How you can track your personal finances using Python

#38
post #13

I used HLedger for years it was great. I thought I could do better with a paid solution. YNAB was awful and slow. So I switched to Lunch Money. It's amazing fast and intuitive. Only it's not a good fit for me. I'm trying to shoe horn my budgeting style into and it's not working. I use the envelope style. Every dollar is assigned a bucket when it comes in. All spending is done from a bucket and balances always persist…

I'm slowly working on a SaaS app to combine in-browser real-time collaborative text editing with plain text accounting, using the hledger format. Just curious if that is something you, or others, would be interested in.

I'm interested, but I don't want to go the route of text editing. It seems odd but for me the pain point of plain text accounting is the text editing. I like a GUI to enter my transactions. I want the least clicks possible to enter my transactions. I want budgeting to be a fast as possible.

Re: How you can track your personal finances using Python

#39
post #9

I'm thinking about a PF app concept where you enter your own transactions manually, but you don't have to keep track of everything down to the cent. At the end of every month, banks send out statements so importing all transactions aren't necessary to keep track of one's overall financial standing. Banks do make mistakes but extremely rarely that it's not worth wanting to import all transactions in the off chance tha…

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 is beneath some threshold that I consider acceptable I let it be. If it's high, I might look back and try to determine where my money went and make adjustments.

The guiding principle behind this approach is resilience to laziness. It's not an all or nothing system, instead it gives me whatever I give it. If I am busy and don't enter as many transactions, no worries - I'll just have more in the miscellaneous category. If I don't track my balances every month, the period will be longer. But the system always "balances".

The system also serves as a log for bigger purchases. When did I buy that fridge? How much did I pay? What is the exact model number of that piece of equipment in case I need to buy it again? I can search my transaction log.

Post reply on HN