GnuCash can sync with some banks but I only had luck with one of mine, and never tried with other account types like investment and retirement accounts. If you're willing to do a bit of work, your banks will provide CSV or other export options and you can download that and import it into GnuCash. Doing that, I had to tidy things up a bit but it wasn't awful if I did this somewhat regularly so the number of transactions to examine wasn't high (like once every week or two, versus once every few months).