My standard advice is: try gnucash. The price is right. It's free. If you don't like it, you have only lost time.
It may or may not do all you want it to. It is designed to adhere to generally accepted accounting principles and uses Assets/Liabilities/Income/Expense instead of "categories" that might be anything. There are templates for businesses (accounts payable, accounts receivable, etc) that I don't use (because I am not a business) and cannot comment on.
I don't use it for automated banking because I don't like that sort of automation. In the old days (I've been using it 20 years or more) it did not do any of this. I understand *some* amount of automation has been added, but I have not tried it.
I don't use much of their reporting, but have implemented my own. Data is stored in a standard XML file (or optionally in mysql database) and is easily parseable if you do any sort of programming.