

1. What Is AqBanking ?
======================

AqBanking has three major goals which are described in the following
paragraphs. 


1.1. Generic Online Banking Interface
-----------------------------------

The intention of AqBanking is to provide a middle layer between the program
and the various Online Banking libraries (e.g. AqHBCI, OpenHBCI etc). 

The real work is done in banking backends. 
The first backend which is already supported is AqHBCI, a library which 
implements a client for the German HBCI (Home Banking Computer Interface) 
protocol. 

The backend AqHBCI currently supports these security media: 
 - RDH keyfile (RSA-DES-Hybrid mode)
 - DDV chipcard (DES-DES-Verfahren)
 - OpenHBCI keyfile (either OpenHBCI 1 or 2, this medium allows continued use 
                     with OpenHBCI in parallel) 
 - PIN/TAN (PIN/TAN mode using HTTP over SSL)


1.2. Generic Financial Data Importer/Exporter Framework
-------------------------------------------------------

AqBanking uses various plugins to simplify import and export of financial
data. It also provides the administration of profiles on a per import/export
plugin basis.

Currently there are plugins for the following formats:

- Importers:
  - DTAUS (German financial format)
  - SWIFT (MT940 and MT942)
  - OFX
  - CSV
  - OpenHBCI1 transactions
  
- Exporters
  - DTAUS (German financial format)
  - CSV


1.3. Bank/Account Information
-----------------------------

AqBanking supports plugins which allow lookup and verification of bank code/
account id pair validity. For Germany the library KtoBlzCheck is used.

AqBanking also provides information about countries: Country name, ISO-3166
country code (both numeric and alpha) and currency information (ISO 4217
currency codes).



2. Supported Platforms
======================

AqBanking uses the library Gwenhywfar (http://gwenhywfar.sf.net/) for 
abstraction of the underlying system. So it should work on any system for 
which Gwenhywfar is available. 

This includes (but is not limited to): 
 - Linux (of course ;-)
 - Windows (WIN32 platforms, such as Windows95 up to Windows XP)
 - most POSIX systems (such as the BSDs) should also be supported, 
   however, this is untested)



3. Supported Frontends
======================

Basically all possible frontends (such as KDE, GNOME, console etc) are 
supported. This is accomplished by only a few callback functions for user 
interaction which can be overloaded by applications. 



4. What Do I Need ?
===================


4.1. Required Packages
----------------------

The only direct dependency of AqBanking is Gwenhywfar (available from
http://gwenhywfar.sf.net/).


4.2. Strongly Recommended Packages
----------------------------------

To use AqBanking you need backends.
The first backend (which also provides some important importers) is
AqHBCI (http://aqhbci.sf.net/).

There is also a setup wizard for AqHBCI available (a KDE application), you
can download it from the project page of AqHBCI.


4.3. Bindings
-------------------------

AqBanking also has KDE bindings which allow you to add support for AqBanking
in very short time (kbanking, see home page of AqBanking)


4.4. Applications
-----------------

These application fully or partially support AqBanking:
 - QBankManager (http://www.aquamaniac.de/qbanking/)
 - Gnucash (http://www.gnucash.org/)
 - KMyMoney (http://kmymoney2.sf.net/)
 - AqHBCI QT Tools (http:/aqhbci.sf.net/)
     This includes standalone tools used by Gnucash, KMyMoney and QBanking to 
     let the user setup, modify and debug HBCI settings.



5. Building AqBanking
=====================


5.1. Building from the Tar File
-------------------------------

#>./configure
#>make
#>make install

(the last step most probably requires you to be root)


5.2. Building from CVS
----------------------

#>make -fMakefile.cvs
#>./configure
#>make
#>make install


5.3. Building the API Documentation
-----------------------------------

#>make srcdoc

If you want to install a linked API documentation (which links against the
API documentations of the projects AqBanking depends on) use this:

#>make install-srcdoc

This installs the linked doc to the path you gave to ./configure in 
 "--with-docpath=PATH". It defaults to "$HOME/apidoc".








