Personally I use ledger for something like this. It’s a double-entry accounting system and from what I’ve heard similar to GnuCash though I haven’t used that one.
Parsing and Categorizing of bank statements would probably need to be done manually or with a self-developed script, though maybe there’s already something made for that. I haven’t looked so far.
Ich roll mein Sofa zur Tür