Personally I prefer beancount, incredibly pluggable in python (imo a friendlier language to haskell), additionally much stricter in multiple aspects. Been maintaining my ledger with ledger-cli and then beacount for 10 years now.
You can do the same as the scripts I wrote are specific to banks I am using and the pdf files they send, except one of the banks which provide qif format file which I convert to CSV. You can look at https://github.com/beancount/beancount/tree/master/examples/... for beancount custom import example.