Finally I discovered PTA. I chose hledger (because of possible performance issues with beancount). I learned double-entry bookkeeping (it's pretty simple, honestly). I write Python scripts to import investment statements sent in PDF format (broker does not support transaction downloads) and pay stubs (payroll company does not do transaction downloads) and CSV imports for bank and credit card statements which lets me autocategorize most transactions. Turns out it's exactly what I wanted all this time I just didn't know it.
I spend about an hour each month updating accounts. I generate investment reports, budget reports, and tax summaries. It's all there, except tracking the ACB of my investments (which I probably could do except a simple spreadsheet is less effort). Everything I need for my coming retirement this year.
And because it's plain text I will never have to lose everything when data formats change due to new upstream releases. And because it's plain text I can use git to track changes and recover and do better off-site backups.
I guess the downside is it doesn't work on your phone and you have to know what you're doing. But if information like how much money you have and where you're spending it is actually important, it's the right tool for the job.