Professional Online Banking
Managing financial data online has become an everyday task for most people despite all problems regarding phishing and other sorts of fraud. While one typically uses a web application set up by the bank, this is not the only (and often not the best) way to do online banking. In order to have all necessary data stored locally and be able to generate complex reports it is more convenient to use a personal finance application while still having direct access to the account data. AqBanking provides a general interface for such tasks and offers a simple personal finance tool as well.
Depending on where you live, you will end up using different ways to communicate with your bank. AqBanking directly supports two major protocols: OFX for US users and HBCI for people living in Germany. Other data formats are supported via converters, however this means that AqBanking does not exchange data directly with your bank.
The personal finance application accompanying AqBanking is name QBankManager. It supports multiple accounts, allows to put transactions into different categories for creating reports subsequently. While it is slightly difficult to use in the beginning it provides the basic features one would expect from such a program.
You can even create transactions like sending money via wire transfer. However, this is currently not supported when using the OFX back-end. When using HBCI the available transactions include national and EU transfers, debit notes, standing orders.
Besides the GUI variant AqBanking also offers a console client. While this would be an ideal solution for scripting online banking tasks, it is quite difficult to find out how it works as the documentation is rather poor. But once you got it going, it provides a valuable tool for automatizing financial tasks, making it very interesting for business customers.
The lack of good documentation is a general problem. This is especially true for the documentation of the C library. If you start programming according to the tutorial you will soon come across functions that are considered deprecated in the API docs. But again, once you found out how the various bits and pieces work together, the library will do its job without further troubles. Since all security-critical operations like buffer management are done via the Gwenhywfar library, there is only a single source of errors, and the implementation looks pretty robust.
While this all sounds pretty decent so far, there is one real showstopper: AqBanking (via the Gwenhywfar library) depends on OpenSSL, whose license is GPL-incompatible. This means that distributors may not link GPL applications like GnuCash against AqBanking and has prevented a widespread integration of AqBanking so far. However, there are plans to use the GPLed GnuTLS library, which would not cause these troubles.
Anyway, AqBanking is the best you can get if you are tired of doing your online banking with a browser or are interested in automatizing transactions. And when the license issues are resolved, the library will be even more useful.