Up to now I enter receipts by hand into a spreadsheet and cross-reference everything to my bank statements. Is there a Linux program that’ll let me download a bank statement and then intelligently categorize different entries on my bank statement? Or allow me to manually categorize entries? No spyware or intrusive software.
I manually add receipts from my partner and myself to a CSV file, too. I have a custom R scripts to calculate the monthly contribution. This way we can see who paid more/less each month and needs to componsate.
In the future I want to plot graphs to see how we are affected by inflation over the past years.
Here are your choices to try out yourself and see if they can do what you need:
- GnuCash (distro support, flatpak)
- HomeBank (distro support)
- KMyMoney (distro support, appimage, flatpak)
- ActualBudget ( https://actualbudget.org/ , appimage, flatpak)
- Denaro (the newest on the block with modern UI, flatpak)
And for Android:
- IvyWallet
We use KMyMoney for all our stuff for years now. Very happy with it! It came in very useful when we were considering some big purchases to figure out what we could afford.
It can read Quicken files which most banks support. Those have account numbers inside them, so KMyMoney will automatically recognize which account it should go into if you set enter those numbers when setting up the account in KMyMoney in the first place. Some banks only allow you to export to CSV which is a bit more cumbersome, but KMyMoney supports that too.
It will intelligently categorize statement entries too. If you’ve set a particular entry as belonging to a certain category once, it will remember that for the next time you import a statement. Then you just confirm.
Those categories are very handy when making the reports to see our spending and income patterns.
Anyway, I highly recommend it.
I’ve been using Homebank for years now and I’m very happy with it. Download transaction data from your bank in QuickBooks format and import it into homebank. Then, you can create auto-categorizing rules for all those recurring purchases, and manually assign a category to the other transactions. I do this every month and it now takes 10-15min max to go through all my transactions and check/categorize everything, and see some nice customizable charts of where my money’s going.
Personally I use ledger for something like this. It’s a double-entry accounting system and from what I’ve heard similar to GnuCash though I haven’t used that one.
Parsing and Categorizing of bank statements would probably need to be done manually or with a self-developed script, though maybe there’s already something made for that. I haven’t looked so far.
I heard ActualBudget can do this, but less a software but a server.
Actual Budget is software. It can be run on a home server if desired.
GNU Cash may satisfy at least some of your requirements.
Here we run a docker image of Actual Budget. We just need to update it by importing the bank statements and you can create rules that will automatically categorize things, it is great.
If you are not indimidated by selfhosting, then definitely give Firefly III a try.
i tried GnuCash, but i didn’t find it very useful.
there’s also Homebank & KMyMoney; i haven’t tried either.
i doubt any will auto import statements, so there’s work to be done there.
I don’t know what people call this, but I’m curious if you also need future balance prediction, basically “here’s how much left over you’re going to have this payday, next payday, etc”. I might switch from my homegrown spreadsheet to one of these recommendations if they also support that.
(I’m talking about something where you input your known scheduled debits and credits, especially for people with biweekly paychecks but monthly debits, and then you match recent actual activity with what’s expected. So you get “current balance is $1800 but it’ll get as low as $300 before you get paid next” type info to keep you from over spending.)
You should be able to do all that stuff with spreadsheets. Any program you use will be a spreadsheet under the hood anyhow.
neovim