


AqFinance
=========

AqFinance ist eine grafische Anwendung zur Verwaltung von Finanzen und der Nachfolger von
QBankManager.

Es bietet via AqBanking Unterstuetzung fuer HBCI, OFX DirectConnect und EBICS.

Der Quellcode von AqFinance steht unter der Lizenz GPL v2 zur Verfuegung.



1. Features
===========

Da es inzwischen schon genuegend Software in diesem Bereich gibt, folgt eine Uebersicht ueber die
Features, die AqFinance von anderen Anwendungen abheben.


1.1. Einfache, sehr schnelle GUI
--------------------------------

AqFinance verwendet das plattformunabhaengige FOX Toolkit. Dieses Toolkit ist im Vergleich zu 
anderen Toolkits sehr schlank und auch sehr schnell, da es sich auf seine Kerntaetigkeiten - die
flinke Darstellung von Widgets - beschraenkt. Dadurch ist beispielsweise die Tabelle der Umsaetze
selbst mit mehreren tausend Buchungen noch sehr reagil.

So ziemlich alle Ansichten und Dialog merken sich ihre Einstellungen (beispielsweise die
Spaltenbreiten von Tabellen, Dimensionen von Fenstern und Dialogen etc).

Ueberweisungen, Umsaetze, Konten etc koennen sehr schnell gefiltert werden, so dass es extrem 
einfach ist, bestimmte Eintraege wiederzufinden.


1.2. Zukunftsorientiertes Datenbankmodell
-----------------------------------------

Das Datenbankmodell von AqFinance entstand vor dem Hintergrund der Diskussionen auf den
Mailinglisten anderer Finanzanwendungen. Die bekanntesten Anwendungen nutzen Datenbanken bisher
zumeist als Ersatz fuer Dateien, d.h. oft werden saemtliche Daten beim Start der Anwendung geladen und
am Ende wieder gesichert. Das bedeutet, das hier oft die Datenbanken nicht konsistent von mehreren 
Anwendungen gleichzeitig genutzt werden koennen.

AqFinance verwendet Datenbanken daher etwas anders. Es werden nur jeweils die Daten geladen, die 
gerade angezeigt werden sollen. Durch Locking der Datenbank und Transaktions-basiertem Zugriff
koennen mehrere Anwendungen gleichzeitig auf die Datenbank zugreifen. 

Der Datenbank-Code ist zudem abstrakt, so dass unterschiedliche Datenbank-Module implementiert werden 
koennen. Bisher existiert ein Modul, welches Daten in mehreren Dateien eines Verzeichnisses ablegt.
Geplant sind aber auch Module mit Zugriff ueber das Netzwerk, mit mehreren Benutzern sowie ein Modul
mit Anbindung an SQL-Datenbanken.


1.3. Tools zur Konsolen-basierten Datenbankmanipulation
-------------------------------------------------------

Das Paket AqFinance enthaelt Tools, mit deren Hilfe Daten in die AqFinance-Datenbank importiert oder
aus ihr heraus exportiert werden koennen. Dieses Tool erlaubt beispielsweise auch den Export von
Umsaetzen, auf die ein angegebener QueryString passt.

Enthalten ist auch das Tool aqbanking-cli (fuer Konsolen-basiertes Homebanking).


1.4. Einfache Installation, einfache Updates
--------------------------------------------

AqFinance wird in mehreren Versionen angeboten. Entweder, man installiert sich ein Gesamtpaket, welches
bereits alle Komponenten in einem tar.gz-Archiv enthaelt. Oder aber man laedt den Installer herunter,
fuehrt ihn aus und laedt sich damit die Anwendung herunter. Ueber diesen Mechanismus ist es sehr einfach
eine installierte Version zu aktualisieren.


1.5. Abgleich von Ueberweisungen mit Umsatzdaten
------------------------------------------------

AqFinance kann den Status von in Auftrag gegebenen Ueberweisungen automatisch abgleichen. Sobald
die Bank eine Ueberweisung in den Kontoauszuegen auffuehrt, kann AqFinance den entsprechenden Auftrag
als ausgefuehrt markieren.


1.6. Einfaches Undo
-------------------

Das Datenbankmodell von AqFinance verfuegt ueber ein sinnvolles Session-Management. Dadurch ist es
moeglich, mit wenigen Klicks Aenderungen zurueckzunehmen.


1.7. Filterbasierte Umsatz-Kategorisierung
------------------------------------------

Der Benutzer kann in AqFinance ueber entsprechende Regeln eingehende Umsaetze automatisch den 
Kategorien zuordnen lassen. Somit muss man normalerweise nur einmal eine Regel aufstellen; beim Abruf
der Umsatzdaten via Online-Banking fuehrt diese Regel dann zu einer automatischen Einsortierung in die
richtige Kategorie.



2. Abhaengigkeiten
==================

Um AqFinance selbst zu kompilieren muessen die folgenden Bibliotheken (und deren Abhaengigkeiten)
installiert sein:
  - Gwenhywfar
  - AqBanking
  - AqDatabase
  - AqFoxExt
  - cairo
  - pixman



Martin Preuss

