How do you track your personal finances? Excel sheet? Python script? Self-hosted dashboard?
Do you use open source software, did you code your own, or do you subscribe to a service?
I'm more interested in the basic spending tracking functions (auto importing from bank, auto tagging categories, etc) than having it track my investment portfolio.
I have many automatic payments (credit card, telephone, utilities, etc) from a transaction account. I also have a loan with redraw, and I want to have most of my funds keeping the loan balance low, but I don't want my transaction account to go negative. So I need to forecast future transactions.
Future transactions may be annual, monthly, four weekly, two weekly, etc. It's a real mess. Some are easy to predict accurately, others can only be estimated.
I have a column to keep track of which future transactions are predictions/estimates/allowances, and which ones have been confirmed.
I also have a column to keep track of which transactions have been reconciled with the bank. (This is currently a manual cross-checking process, since my bank doesn't have API access.)
My preference would be a text-based system (https://plaintextaccounting.org/), but haven't found one that neatly allows estimates of future transactions that can be modified once the details are known.
[1] https://github.com/raphaelm/python-fints [2] https://github.com/phil294/fints-transaction-tracker
The hardest part is separating investment "earnings" from real earnings. I'd like to know whether I'm saving money from my direct compensation, or whether I'm leaching off stock market gains, but I'm not sure of the right way to track the difference.
Basically all I need to do is: login in to the bank's web app and press Ctrl+Alt+P
I wrote a script which can take transactions from my banks webapp, gave it to dab-dab (https://github.com/Yaser-Amiri/dab-dab), added a key binding to Surfingkeys to extract the token and other related stuff from the cookies, send it to dab-dab to run the script, the script adds the transactions to the ledger files.
By the way I have some extra sugers in the script for resolving the destination/source of money to hledger's accounts and descriptions.
The only things I track are stuff which has tax implications - in which case things like that go in my FY
Protected Checking, Protected Savings, Discretionary Checking, Discretionary Savings
All income and all "regular bills" are aimed at Protected Checking. Every Friday, a fixed (but mutable) amount of weekly "discretionary" money transfers to Discretionary Checking, and a fixed amount goes to Protected Savings.
Discretionary Checking is ALL food, groceries, gas, dining out, random crap. If the I swipe my card, it is discretionary. Protected Checking is ALL bills, utilities, mortgage, etc.
To manage Protected Savings, I use a spreadsheet with 7 columns:
Date, Payee / Source, Category, Sub Category, Amount (all income is positive, all outflow is negative), Balance (=one cell up + amount on this row), Cleared (blank if in the future, "X" for when I reconcile)
I took a few hours about 7 years ago and added ALL expected paychecks (excluding bonus), bills/expenses, and transfers to Discretionary and Protected Savings for the next 5 years to it. So I only spend time reconciling the Protected Checking account - once a month or so I copy the ledger from my bank website and go down the list, checking them off and updating the amounts as needed.
Other than a quick glance for anything unexpected, I don't reconcile/audit the discretionary account.
Though it's not fully automated, it's close enough, it provides unlimited flexibility (every other system I've tried eventually gets in my way a little too much), and the price ($0) is just right.
Here is my referral link: https://lunchmoney.app/?refer=goipolll
I've got about 15+ years of transactions in a single file, and I have every intention of continuing forever.
I've been so impressed by how well plain text works for this, I always try to use plain text for as many other things as possible. Future proof. I got burned by MS Money going away, no proprietary formats again if I can help it.
[1]: https://howeyc.github.io/ledger/ [2]: https://www.ledger-cli.org
I don't live over my means so I stoped trying to record everything but because I'm saving for a house, I need to know roughly how much I have across different accounts.
And for everyone curious about why I have more accounts: I have my account, we have a shared account, my wife has one, 1 company brokering account, private brokering account and most critical an banc account for reserved funds/emergency/maintenance.
I assume that when we buy a house that we will throw everything together to get the best quote.
My mane bank account actually has this analysis feature but I disabled it again because it did not add any value.
I always wire money every month out of my account. Everything I have in there is money I can just spend if I wanted to.
It's in need of an update to stop duplicating sheets and just either add columns, that way I could easier do things like compare over time or create charts, etc. But I often have extra notes or other things in each sheet as needed, so I'd need a way to still incorporate those. And it's been working well; mostly ensuring I don't forget any of the individual bills.
The harder thing for me is when I get a paper bill, ensuring it gets scheduled to be looked at and paid if I don't do it right away.
If I go a little over it's no big deal, but I try to stick to it. I pay myself a pretty low salary. The rest stays in my company, some as a buffer and some gets invested.
I find this solution works best for me. I'm constantly working on suppressing my impulse buying habits, but YNAB or other systems didn't really eradicate them and having this single number to aim for each month is just less stressful. I have no debt and OK savings, so I guess it's working.
Having lately used Google Sheets along with AppScript for other purposes, I think I would go with that.
I know that my mortgage/utilities/insurance/food bill is roughly X% of my take-home earnings.
My savings are Y% of my earnings. X% + Y% is roughly ~90%.
The other 10% is an everything fund that goes to my liquid checking account in the bank. So that bank account is growing very slightly. So the only thing required from me is to look at the bank account once a quarter or so, and make sure it's still roughly at the same level and there were no outlier expenses.
You can try it here if interested: https://demo.checkyour.finance
Source code: https://github.com/bxbrenden/GnuCash-Helper
If I was doing it again, I'd probably go with one of the cli text ledgers so the process is easier to preserve and closer to ETL.
The method is described in this blog post: https://sagar.se/blog/where-is-the-money/
It's a super simple way to use envelope accounting (ala Dave Ramsey), without using actual cash.
It lives on an S3 bucket and stores the data in local storage.
The risk there is that they use Plaid on the backend.
It's OK, not perfect but OK.