I use YNAB ( https://youneedabudget.com/ ), which requires inputting every one of your transactions by hand or importing them from your bank. The downside of the import is it takes a few days for the transaction to show up and you need to give YNAB your bank username/password, which I'm not comfortable with. I wrote this https://github.com/buzzlawless/ynab-live-import to import credit card transactions instantly with…
What do you do about cash transactions?
If your cash spending is sufficiently small that you don't care much to tracking each cash transaction individually, you can just track money as a category instead of an account - just record an outflow transaction in your bank account when you withdraw.