De/HBCI

From GnuCash
Revision as of 15:40, 17 October 2008 by Helmutundarnold (talk | contribs) (Übertrag aus den Diskussionsseiten)
Jump to: navigation, search

Zurück zur Hauptseite


HBCI steht für Homebanking Computer Interface und stellt eine standardisierte Schnittstelle für das Homebanking dar. Dieser ist vor allem in Deutschland im Einsatz. GnuCash nutzt dabei ab Version 1.8.10 Aqbanking. (Wichtig für die, die selbst kompilieren: GnuCash beötigt dazu auch leider nachwievor den qt-wizard von Aqbanking, sodass man Aqbanking mit QT-Untertstützung nutzen muss)

s.a. Wikipedia:HBCI, AqBanking


Einrichtung am Beispiel Commerzbank

  • Ich habe den ersten Brief von der Bank bekommen (INI-Brief). Wie geht es weiter? Wie erstellt man den Schlüssel für die Signatur und erzeugt einen INI-Brief?
    • In GnuCash den Menüpunkt Werkzeuge -> HBCI Einrichtung aufrufen (siehe oben Abschnitt HBCI Homebanking). Schlüsseldatei/-diskette wird dort erstellt, ebenso INI-Brief erzeugt, und auch die HBCI-Version kann man dann auswählen.
  • Wie kann man den Port angeben (bei Commerzbank Port 3000)?
    • Portnummer 3000 wird sowieso benutzt. Der Rechnername muss OHNE Portnummer angegeben werden, also einfach hbci.commerzbank.de.

Fragen+Antworten

  • Ich habe einen Schlüssel (Keyfile) auf Diskette für ein anderes Programm bekommen. Leider funktioniert GnuCash nicht mit diesem Schlüssel?
    • Eine Schlüsseldatei eines fremden Programms funktioniert NICHT mit GnuCash!
  • Beim Absenden von Überweisungs- oder Lastschriftaufträgen kommt die Fehlermeldung HBCI: 9210 - DTA-Berechtigung fehlt (S).
    • AqBanking bietet die Wahlmöglichkeit, ob Aufträge entweder als Einzelaufträge (teurer) oder als Sammelaufträge (billiger, aber weniger Details im Kontoauszug) eingereicht werden. Diese Fehlermeldung besagt, dass man Sammelaufträge eingereicht hat, aber die Bank nur Einzelaufträge akzeptiert. Abhilfe: 1. In der Datei ~/.banking/backends/aqhbci/settings.conf im Abschnitt für die entsprechende Bank und den entspr. Benutzer: customer { [...] den Wert int preferSingleTransfer="0" auf int preferSingleTransfer="1" ändern. 2. Alternativ im Konfigurationsassistenten durchklicken zu "Users"/"Benutzer" -> <user wählen> -> "Expert Actions"/"Experten-Aktionen" -> "Edit"/"Bearbeiten" -> <Customer/Kunde wählen> -> | "Edit"/"Bearbeiten" -> "Prefer single Transactions over multi transfers"/"Einzelüberweisung anstelle Sammelüberweisung bevorzugen" aktivieren.

Getestete Banken und Einstellungen

OpenHBCI

AqBanking 3.6 aufwärts und Gnucash 2.2.7 unter Windows XP - der aktuelle Stand (2.10.2008)

Momentan läuft AqBanking 3.6 aufwärts mit Gnucash 2.2.7 unter Windows XP noch gar nicht. Im trunk wurde gestern mit r17612 der Stand eingecheckt, auf dem man diesbezüglich gerade ist, nämlich dass man jetzt auf win32 install.sh-gesteuert AqBanking3 komplett bauen und GnuCash dagegen linken kann . Diese Änderung sollte sich relativ einfach auch auf branches/2.2 oder das 2.2.7-Tarball übertragen lassen. Allerdings ist das alles noch ziemlich ungetestet und man benötigt außerdem einen seichteren Switch für die Windows-User. Es gibt grob gesagt zwei Todos: Die Registry-Einträge für die AqBanking-Paths sind jetzt anders, vielleicht fehlen sogar welche; und ~ \.banking wir ~\.aqbanking. (Quelle: https://lists.gnucash.org/pipermail/gnucash-de/2008-October/006500.html)




HBCI Onlinebanking (Übertrag)

Note: Das ist noch die Rohform, wird bald überarbeitet. --Helmut 17.10.2008

Seit 2003 wird in GnuCash Homebanking über ["HBCI"] unterstützt. GnuCash ab Version 1.8.10 benötigt für Homebanking über ["HBCI"] die AqBanking-Bibliothek. Damit wird nun auch PIN/TAN unterstützt. (Die älteren Versionen bis 1.8.9 verwendeten den Vorläufer von AqBanking namens ["OpenHBCI"].)

Seit 2008 kann für fortgeschrittene Nutzer auch alternativ das scriting-fähige HBCI-Plugin des jGnucash-Editors der jGnucashLib verwendet werden (nicht Teil von Gnucash, benötigt Java).

Wenn GnuCash mit HBCI-Unterstützung kompiliert (übersetzt) wurde, kann man die Einrichtung des HBCI-Zugangs über den Menüpunkt "Werkzeuge->HBCI Einrichtung" im Hauptfenster vornehmen. Nachdem die HBCI-Einrichtung abgeschlossen wurde und die Bank den Zugang aktiviert hat, können dann in den entsprechenden Kontofenstern HBCI-Aktionen über das Untermenü "Aktionen ->Online Aktionen" ausgeführt werden.

Wenn man GnuCash selber compiliert (übersetzt), siehe /RpmInstallieren oder /SourceInstall, muss für die Aktivierung der HBCI-Unterstützung bei ./configure das Argument --enable-hbci mit angegeben werden:

. $ ./configure --enable-hbci

Im GnuCash-Paket sind weitere Hinweise zur HBCI-Benutzung in der mitgelieferten Textdatei [attachment:README_HBCI.txt doc/README.HBCI] zu finden. Weitere Tipps, die direkt mit HBCI zu tun haben, werden auf der AqBanking- und ["OpenHBCI"]-Seite gesammelt.

Ursprünglich wird HBCI seit Version 1.8.0 (Februar 2003) unterstützt, und zwar mit Hilfe der ["OpenHBCI"]-Bibliothek. Allerdings wurde damit kein PIN/TAN unterstützt, siehe [#PinTan unten].

Siehe auch: Mac OS X und GnuCash mit HBCI Kartenleser Cyberjack

Gemeinsame Konfiguration mehrerer Linux HBCI-Programme

Es ist möglich, mit mehreren Linux Programmen die gleiche HBCI-Konfiguration zu benutzen, solange die Programme den HBCI-Zugang über die Bibliothek AqBanking realisieren. Dies ist z.B. der Fall bei der Kombination GnuCash und Q``Bank``Manager, aqbanking-tool oder ["KMyMoney"]. Die Einrichtung des HBCI-Zugangs braucht dann nur einmal mit dem Einrichtungs-Assistent erfolgen.

. Für die ältere Bibliothek ["OpenHBCI"] (bis GnuCash 1.8.9) galt folgende Information: In allen Programmen die gleiche HBCI-Konfigurations-Datei verwendet werden (standardmäßig {{{~/.openhbci}}}). Beim Einrichten des HBCI-Zugangs in GnuCash wird zuerst nach der Konfigurations-Datei von ["OpenHBCI"] gefragt. Ist diese schon vorhanden, gibt man im Einrichtungs-Druiden den Dateinamen der vorhandenen Konfigurations-Datei an und kann dann gleich die Zuordnung der HBCI-Konten zu GnuCash-Konten vornehmen. Der Dateiname, den man dort angibt, wird von GnuCash in der GnuCash-Datei gespeichert. Die HBCI-Konfigurationsdatei selber wird von GnuCash nie selbst geändert, sondern immer nur über OpenHBCI verwendet. Das heißt: Wenn noch ein anderes Programm (z.B. aqmoney) auf OpenHBCI zugreifen soll, kann man dieses Programm die gleiche OpenHBCI-Konfigurationsdatei benutzen lassen, und dann ist ein abwechselnder Zugriff auf die OpenHBCI-Konfiguration problemlos möglich. Bei aqmoney würde das mit der Kommandozeilenoption "{{{aqmoney -C /meine/konfigurations/datei ...}}}" geschehen, z.B. "{{{aqmoney -C ~/.openhbci ...}}}".

Wenn ein Onlinebanking-Programm eine andere (eigene) HBCI-Bibliothek verwendet, wie z.B. ["moneyplex"], greift dieses nicht auf die gemeinsame AqBanking-Zugangskonfiguration zu. Stattdessen muss der HBCI-Zugang dort komplett separat eingerichtet werden.

Anchor(fremdeHBCIProgramme)

Schlüsseldateien und Sicherheitsmedien fremder HBCI-Programme

Die Schlüsseldateien und -disketten aus anderen Onlinebanking-Programmen (z.B. Quicken, Star``Money, ["moneyplex"]) können normalerweise nicht in GnuCash/AqBanking weiterverwendet werden (Ausnahmen siehe nächster Absatz). Soll das alte Programm weiterhin benutzbar bleiben, muss eine weitere HBCI-Benutzerkennung für AqBanking bei der Bank angefordert werden. Dann benutzt jedes Bankingprogramm seinen jeweils eigenen SchlüsselFootNote(Siehe auf der Mailingliste http://www.gnucash.org/pipermail/gnucash-de/2003-February/000120.html). Wenn man die neue Benutzerkennung bekommen hat, können für diese neue Benutzerkennung ganz regulär mit GnuCash für AqBanking/AqHBCI neue Schlüssel erzeugt und mit Ini-Brief bestätigt werden.

Bei Chipkarten dagegen treten keine größeren Probleme auf, wenn sie einfach mit mehreren HBCI-Programmen und -Bibliotheken verwendet werden.

In der Bibliothek AqBanking ist es wie gesagt nicht möglich, Schlüsseldateien von fremden HBCI-Programmen zu importieren. Bei der veralteten Bibliothek ["OpenHBCI"] und manche der Versionen davon gab es zwar ein so genanntes Medium-Plugin, die die Verwendung von Schlüsseldateien von Star``Money ermöglichte. Details auf ["OpenHBCI"], aber wie gesagt ist diese Bibliothek veraltet.

Onlinebanking per PIN/TAN

Frage: Ist es möglich, mit GNUCash über das PIN/TAN-Verfahren Onlinebanking zu betreiben?

Antwort: Zum Teil ja, ab Version 1.8.10. Man unterscheidet bei PIN/TAN vier Fälle:

* 1. PIN/TAN über die Web-Schnittstelle Dies ist nur für einen menschlichen Benutzer gedacht, nicht für die Nutzung durch ein Programm. (Dies ist z.B. das bisherige Angebot der Postbank.) Vorteil: Fast jede Bank bietet es an und dies ist provider-unabhängig. Nachteil: Überhaupt kein standarisierter Zugang; jede Bank müsste praktisch ihre eigene onlinebanking Software schreiben. Überhaupt keine Spezifikation erhältlich, und selbst wenn, dann wäre sie für jede Bank eine andere. Wer hier versucht Schnittstellen zu schreiben, ist sozusagen wahnsinnig, obwohl es angeblich ein Projekt gibt, das  bei einer Bank die Webschnittstelle nutzen kann. Status Gnucash: Dies wird nicht unterstützt und wird auch nie unterstützt werden.
* 2. PIN/TAN über T-Online Der Standard, wenn es um Homebanking-Programme im Zusammenhang mit PIN/TAN geht. Vorteil: Fast jede Bank bietet es an.
Nachteil:  Man ist an T-Online als Internetprovider gebunden, da das sog. Classic Gateway (BTX-Seiten zum Datenaustausch) von T-Online benutzt wird. Die Schnittstelle wurde von fun communications, Karlsruhe entwickelt und kann dort gegen Gebühren lizenziert werden. Die  Banken wenden sich von diesem Verfahren mittelfristig ab, weil T-Online sich den Betrieb der alten Infrastruktur teuer bezahlen lässt. Status Gnucash: Dies wird nicht unterstützt und wird auf Grund der notwendigen Lizenzgebühren auch nie unterstützt werden.
* 3. PIN/TAN über Sonderlösungen Die Sonderlösungen basieren meist auf ähnlichen Techniken wie das Classic Gateway in 2. oder auf  SSL-basierenden  Verfahren, sind aber nicht an T-Online gebunden, also provider-unabhängig. Der Nachteil dieser Lösungen ist, dass sie nur für einzelne Banken oder Bankgruppen taugen, da deren Rechenzentren die  entsprechenden Server bereitstellen müssen. Beispiele hierfür sind der sog. CAT-Verfahren der Genobanken, die an die FIDUCIA, Karlsruhe angebunden sind. Hier erfolgt   die Datenübertragung  auf  Übertragungsseiten  wie  unter 2.. Das  Verfahren stammt ebenso von fun communications und kann  dort lizenziert werden.
Homebanking-Software, die das Verfahren benutzt: VR-Net``World Software Ein weiteres Beispiel  ist die  Lösung der Firma Star``Finanz, Hamburg. Hier wird wohl ein SSL-ähnliches Verfahren benutzt.  Clientsoftware ist Star``Money, der Server dazu ist der Star``Finanz Server, manche Sparkassen benutzen dieses Verfahren. Status Gnucash: Dies wird nicht unterstützt und wird auf Grund der notwendigen Lizenzgebühren auch nie unterstützt werden.
* 4. PIN/TAN über HBCI. Der zukünftige Standard. Vorteil: Provider-unabhängig, offene Schnittstelle, einfache Einrichtung, dadurch sehr leichte Migration der bestehenden  Kunden.  (Bei einer bestehen kommerziellen Homebanking-Software reicht ein Online-Update der Software, um vom Verfahren 2.  oder 3. darauf umzuschalten.) Viele Banken sind im Laufe der Jahre 2004/2005 auf dieses Verfahren gewechselt. Nachteil: Geringere Sicherheit als bei Chipkarten-/Schlüsseldatei-HBCI.
Status GnuCash: Wird seit Version 1.8.10 über die neue HBCI-Bibliotheksfamilie AqBanking unterstützt, aber alle Versionen vorher unterstützen das nicht. -- ChristianStimming DateTime(2004-12-07T10:26:05Z)


Änderung der verwendeten HBCI Version

Mit einigen Banken funktionieren nur bestimmte Versionen der HBCI Spezifikation. Die von AqBanking verwendete HBCI-Version kann mit dem Knopf "HBCI-Version" im AqHBCI-Einrichtungs-Assistent (in GnuCash "Werkzeuge"->"HBCI Einrichtung" und dann "AqHBCI-Einrichtung starten") geändert weren.

Getestete Banken

Eine Liste mit schon getesteten Banken wird auf der ["OpenHBCI"]-Seite verwaltet und gilt genauso für AqBanking.

Anchor(Debian)

Debian und GnuCash/HBCI

Da sich mit gnucash-1.8.10 die HBCI-Bibliothek geändert hat, erfordert das Paket {{{gnucash-hbci}}} nun seinerseits die neuen Pakete der AqBanking-Familie. Diese haben es nicht in die Sarge-Veröffentlichung geschafft, in debian/unstable sind die Pakete (mit aqbanking 2.x) vorhanden (Stand: Juli 2006). GnuCash-HBCI kann leider im Augenblick aus Gründen der Debian-Lizenzpolitik (GPL+OpenSSL - nicht für AqBanking, sondern alle GnuCash-Dependencies) in das offizielle Debian-Archiv aufgenommen werden. Inoffizielle Pakete gibt es aber ([#DebianHBCIInst siehe unten]). Wer mit überschüssigen Programmierresourcen ein GnuTLS/GCrypt-Verschlüsselungs-Plugin für Gwenhywfar implementieren will, würde dieses Lizenzdilemma lösen.

Weitere Details hierzu inkl. Lösungsmöglichkeiten gibt es [#DebianHBCIInst hier im Kapitel Installation und Update].


Fragen & Antworten

HBCI-Benutzung

Wie kann man eigentlich das Passwort des HBCI-Keyfiles ändern? Danke. Jens Bräuer MailTo(jensb AT NOSPAM cs.tu-berlin.de)

. Das geht mit dem Programm aqmoney wie folgt:

{{{ aqmoney --modifymedium --user=<USERID> --newpin }}}

. In GnuCash ist das aber leider nicht möglich. -- ChristianStimming DateTime(2003-09-11T09:45:55Z)


Einrichtung des HBCI-Zugangs

Ich habe den ersten Brief von der Bank bekommen (INI-Brief). Wie geht es weiter? Wie erstellt man den Schlüssel für die Signatur und erzeugt einen INI-Brief? Ich habe keinen Chipkartenleser, wie geht das mit Diskette, oder Datei, oder USB-Stick? Wie stelle ich die Version von HBCI ein (Vers. 2.1 bei Commerzbank)? PS: Ich benutze Debian 3.0 (Woody) mit ein bisschen Sarge und ein ganz kleines Bisschen SID ;-) (GNUCash und die entsprechenden Libs und Gnome) -- GuidoThulke

. In GnuCash den Menüpunkt Werkzeuge -> HBCI Einrichtung aufrufen (siehe oben Abschnitt HBCI Homebanking). Schlüsseldatei/-diskette wird dort erstellt, ebenso INI-Brief erzeugt, und auch die HBCI-Version kann man dann  auswählen. -- ChristianStimming DateTime(2003-07-16T09:35:50Z)

Wie kann man den Port angeben (bei Commerzbank Port 3000)? Gebe ich hbci.commerzbank.de:3000 ein wird der Host nicht gefunden. -- GuidoThulke

. Portnummer 3000 wird sowieso benutzt. (Änderung der Portnummer ist leider bisher nicht möglich.) Der Rechnername muss ohne Portnummer angegeben werden, also einfach {{{hbci.commerzbank.de}}}. -- ChristianStimming DateTime(2003-07-16T09:35:50Z)

Nachtrag: Ich habe mich durchgerungen die Initialisierung unter Windows (Autsch) mit Hilfe der freundlichen Commerzbankhotline und Starmoney 3.0 durchzuführen. Das hat auch gut funktioniert und ich bin endlich zu meinem Schlüssel (Keyfile) auf der Diskette gekommen. Leider funktioniert GnuCash (jetzt Version 1.8.8) nicht mit diesem Schlüssel. Ist ein ungültiges/nicht bekanntes Keyformat. Ist das also nicht genormt?! Ich habe allerdings dieses Keyfile unter Windows auch für mehrere Programme nutzen können, namentlich Quickbooks 2003 und Starmoney 3.0. Ein Zufall? GuidoThulke

. Also eine Schlüsseldatei eines fremden Programms in GnuCash/AqBanking/OpenHBCI verwenden? Das geht nicht, siehe oben unter "[#fremdeHBCIProgramme fremde HBCI Programme]" (auch kürzer als RTFM bekannt, :-). Wenn es unter Windows funktionierte, war das Zufall bzw. die Hersteller haben genug Geld springen lassen, um die gleichen Formate zu benutzen. -- ChristianStimming DateTime(2004-02-11T19:52:28Z)

Beim Absenden von Überweisungs- oder Lastschriftaufträgen kommt die Fehlermeldung {{{HBCI: 9210 - DTA-Berechtigung fehlt (S)}}}. Was tun?

. AqBanking bietet die Wahlmöglichkeit, ob Aufträge entweder als Einzelaufträge (teurer) oder als Sammelaufträge (billiger, aber weniger Details im Kontoauszug) eingereicht werden. Diese Fehlermeldung besagt, dass man Sammelaufträge eingereicht hat, aber die Bank nur Einzelaufträge akzeptiert. Abhilfe: 1. In der Datei ~/.banking/backends/aqhbci/settings.conf im Abschnitt für die entsprechende Bank und den entspr. Benutzer: {{{customer { [...]}}} den Wert {{{int preferSingleTransfer="0"}}} auf {{{int preferSingleTransfer="1"}}} ändern. 2. Alternativ im Konfigurationsassistenten durchklicken zu "Users"/"Benutzer" -> <user wählen> -> "Expert Actions"/"Experten-Aktionen" -> "Edit"/"Bearbeiten" -> <Customer/Kunde wählen> -> | "Edit"/"Bearbeiten" -> "Prefer single Transactions over multi transfers"/"Einzelüberweisung anstelle Sammelüberweisung bevorzugen" aktivieren. -- ChristianStimming DateTime(2005-10-11T08:09:42Z)


Zurück zur Hauptseite