Seeing your location in South Africa probably means this isn't relevant to you... but nevertheless...
I rolled my own accounts system and we now use it across four companies. It plugs in to everything required to automate the vast majority of my billing, including time-based (eg monthly subscriptions) and usage based (eg GB used, mbps 95th, power consumed, etc) and outputs PDF invoices which are automatically emailed to customers.
For the bank integration I used a combination of barclayscrape
and this open source implementation
of the Barclays PIN sentry security device.
I also wrote my own code using Perl LWP that can scrape transactions from HSBC's online service but that is not the best as it requires to be fed with codes from the security device at random intervals (sometimes they last an hour, sometimes several days) so you can never guarantee that it will keep running. Happy to share that but as above I guess it is not of much interest given that your banks are probably different.