I do everything with CSV exports of my bank accounts and credit cards. I drop the exports once a month into a directory and Python scripts (my newer versions of which are mostly written by LLMs) take all the analysis from there, breaking things down by category and by merchant (so that I can see if I'm unintentionally spending more on a particular merchant over time or if that merchant is charging more without notice).
I also have one credit card for strictly recurring expenses ONLY and never put non-recurring expenses on it. That way it's quite easy to see on that credit card bill what changed from month to month. If Comcrap tries to charge me $10 more one month they're going to be getting nasty messages from me pretty quickly.