De/HBCI
Zurück zum Datenaustausch | Zurück zur Hauptseite |
HBCI (Homebanking Computer Interface) oder FinTS (Financial Transaction Services), wie es seit Version 3.0 mit der Standardisierung von Pin/Tan, offiziell heißt, stellt eine vom damaligen Zentralen Kreditausschuß (ZKA) in Deutschland standardisierte Schnittstelle für das Homebanking / Online-Banking dar.
Dieser Standard wird in GnuCash neben anderen Methoden wie
- Electronic Banking Internet Communication Standard EBICS in CH, DE and FR,
- OFX Direct Connect (english) in den USA oder
- Paypal
über die Biblothek AqBanking realisiert. Die aktuellsten Informationen zu AqBanking finden sich im AqBanking Wiki. Auf aquamaniac von Martin Preuß gibt es weiterhin pro Komponente einen Bugtracker und die Mailingliste aqbanking-user, sowie die neuesten Dateienversionen incl. Handbuch.
Contents
- 1 Voraussetzungen
- 2 Onlinebanking per PIN/TAN
- 3 Klassisches HBCI
- 4 Erweiterte Einstellungen
- 5 Benutzer und Konten verbinden
- 6 Einrichtung des HBCI-Zugangs
- 7 Fragen+Antworten
- 8 Ausführen von SEPA-Lastschriften
- 9 Fehlersuche
- 10 Weiterführende Literatur
Voraussetzungen
- Zur Nutzung von klassischen HBCI, braucht man ein Medium zum Ablegen der Schlüssel.
- Am einfachsten ist es, eine Schlüsseldatei zu benutzten. Nachteil: Wenn jemand die Datei zusammen mit dem Öffnungs-PIN in seine Hände bekommt, hat er auch Zugriff hat auf die entsprechenden Konten.
- Am sichersten ist es, einen (USB-)Kartenleser zu benutzen. Heutzutage sind die erforderlichen Chips bereits in die normalen Bankkarten integriert. Als diese nur einen Magnetstreifen enthielten, bekam man eine separate Chipkarte von der Bank. Auf dieser wird während der Konfiguration ein Schlüssel gespeichert, der wiederum nur mit einer entsprechenden PIN am Kartenleser geöffnet werden kann. Somit bleibt der eigentliche Schlüssel immer auf der Karte, und niemand kann die Karte auslesen. Dafür muss das AqBanking-Paket libchipcard installiert sein. Siehe dort, welche Chipkarten im Einzelnen unterstützt werden.
- Für die Bank macht es keinen Unterschied, ob die Schlüssel in einer Datei oder auf einer Karte gespeichert sind.
- Ist das Folgende so noch gültig?
- Außer, wenn die Bank die Benutzerschlüssel bereits auf der Karte erzeugt hat, denn an diese Schlüssel kann man von außen nicht mehr gelangen. In diesem Fall ist Online-Banking mit GnuCash leider bisher nur mit DDV-Karten möglich, etwa der Sparkassen, da andere Anbieter ihre Spezifikationen nicht offengelegt haben.
Onlinebanking per PIN/TAN
Beispiel für die Konfiguration der Dortmunder Volksbank mit dem Werkzeuge -> Onlinebanking-Einrichtungsassistenten.
PIN/TAN-Unterstützung
- Frage
- Ist es möglich, mit GNUCash über das PIN/TAN-Verfahren Onlinebanking zu betreiben?
- Antwort
- Ja, wenn die Bank das Verfahren PIN/TAN über HBCI/FinTS anbietet.
Das PIN/TAN-Verfahren ist im HBCI-Standard und FinTS-Standard seit einiger Zeit vorhanden (FinTS 3.0 - inoffiziell seit HBCI 2.2 alias HBCI+). Dieses Verfahren wird in GnuCash seit Version 1.8.10 erfolgreich unterstützt.
Fehlende Rückmeldung nach falscher TAN
- Frage
- Was passiert, wenn ich über das PIN/TAN-Verfahren eine Überweisung tätige und eine falsche TAN eingebe?
- Antwort
- Wenn Sie im OnlineBanking Verbindungsfenster das Häkchen Fenster nach Verbindungsende schließen gesetzt haben, merken Sie davon leider nichts, da der komplette Dialog mit dem Bankserver nach der Transaktion sofort ausgeblendet wird, und GnuCash diesen Transaktionsfehler unglücklicherweise ignoriert. Man wundert sich dann nur später, dass diese Überweisung nicht durchgeführt wurde. Man kann das Fenster wieder öffnen durch den Menüpunkt "Online Aktionen" -> "Verbindungsfenster öffnen".
Im Meldungstext kann man für den Fehlerfall dieses lesen:
HBCI: 9310 - TAN zum 1. oder 2. Mal falsch. (S) Die TAN "623536" wurde benutzt, Sie können sie streichen.
Dass die TAN "benutzt" wurde heisst leider nicht, dass diese korrekt war.
Wenn Sie in den letzten Meldungen des Bank-Server-Dialoges etwas von
HBCI: 0010 - Nachricht entgegengenommen. (M) ... Dialog wurde nicht abgebrochen, PIN scheint gültig zu sein
lesen, heisst dies lediglich, dass die PIN ok war. Was mit der TAN war, steht eben weiter oben im Dialog.
Nur wenn man so etwas im Protokollfenster lesen kann, ist der Auftrag mit der geforderten TAN erfolgreich angenommen worden:
HBCI: 0090 - TAN gültig (S) Die TAN "803728" wurde benutzt, Sie können sie streichen.
Klassisches HBCI
Gemeinsame Nutzung der Konfiguration oder Sicherheitsmedien durch mehere Programme
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 QBankManager, aqbanking-tool oder KMyMoney. Die Einrichtung des HBCI-Zugangs braucht dann nur einmal mit dem Einrichtungs-Assistent erfolgen.
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.
Schlüsseldateien und Sicherheitsmedien fremder HBCI-Programme
Die Schlüsseldateien und -disketten aus anderen Onlinebanking-Programmen (z.B. Quicken, Star``Money, "moneyplex") können nicht in GnuCash/AqBanking weiterverwendet werden. 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üssel. 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.
Onlinebanking per Schlüsseldiskette
Einrichtung am Beispiel Commerzbank
- Ich habe den ersten Brief von der Bank bekommen. 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 -> Onlinebanking-Einrichtung... aufrufen (siehe oben, Abschnitt HBCI Homebanking). Schlüsseldatei wird dort erstellt, ebenso INI-Brief erzeugt und ausgedruckt, und auch die HBCI-Version kann man dann auswählen.
Einrichtung am Beispiel Deutsche Bank
- Ich habe den ersten Brief von der Bank bekommen. Wie geht es weiter? Wie erstellt man den Schlüssel für die Signatur auf der HBCI-Karte und erzeugt dann einen INI-Brief?
- Achtung: Chipkarten mit dem Namen "WebSign" sind kein HBCI und werden von AqBanking nicht unterstützt. Welche HBCI-Karten sind hier gemeint?
Erweiterte Einstellungen
Hier verbergen sich einige Optionen zum Feintuning. Normalerweise werden diese Einstellungen von AqBanking bei der Einrichtung mit brauchbaren Werten belegt. Falls die Bank Einstellungen ändert, kann man sie anpassen.
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 werden.
Manche Banken unterstützen nur HBCI Version 2.2, andere wiederum nur Version 3.0.
HTTP-Protokoll-Version
Manche Banken arbeiten nicht mit dem HTTP-Protokoll in der Version 1.1. In diesen Fällen sollten Sie einmal Version 1.0 probieren.
SSL v3 erzwingen
Banken, die den Server www.bankingonline.de verwenden, verlangen meistens, daß Sie SSL v3 erzwingen einschalten.
Base64-Kodierung abschalten
Um mit der Ärzte- und Apothekerbank arbeiten zu können, müssen Sie Base64-Kodierung abschalten anwählen.
Benutzer und Konten verbinden
Die eigentliche Konfiguration wird vom AqBanking-Teil des Einrichtungs-Assistenten unter folgendem versteckten Ordner gespeichert:
- ab AqBanking 6: ~/.aqbanking/settings6/,
- bis AqBanking 5: ~/.aqbanking/settings/.
- Beim ersten Aufruf von Aqbanking 6 wird settings6 automatisch aus settings erzeugt.
<slot>
<slot:key>hbci</slot:key>
<slot:value type="frame">
<slot>
<slot:key>account-id</slot:key>
<slot:value type="string">1234567890</slot:value>
</slot>
<slot>
<slot:key>account-uid</slot:key>
<slot:value type="integer">9</slot:value>
</slot>
<slot>
<slot:key>bank-code</slot:key>
<slot:value type="string">121107882</slot:value>
</slot>
<slot>
<slot:key>trans-retrieval</slot:key>
<slot:value type="timespec">
<ts:date>2017-08-27 09:33:08 -0700</ts:date>
</slot:value>
</slot>
</slot:value>
</slot>
- account-id
- die Kontonummer.
- account-uid
- muß derselbe Wert sein, wie in der Kontenliste des Aqbanking-Assistenten.
- bank-code
- Die Bank Id: In DE die Bankleitzahl (BLZ).
- trans-retrieval
- Zeitstempel des letzten Zugriff-Versuchs auf dieses Konto.
Unterkonten
Wenn eine Bank mit einer Kontonummer mehrere Unterkonten anbietet (z.B. bei der Comdirect ein "Girokonto" und ein "Tagesgeld Plus" unter der gleichen Nummer 123400), gibt es anscheinend gelegentlich Schwierigkeiten bei der richtigen Zuordnung. Siehe https://bugs.gnucash.org/show_bug.cgi?id=737933
Damit ist aber nicht der Fall gemeint, wenn man als Kunde mehrere Kontonummern mit unterschiedlichen Endungen hat, z.B. 123400 und 123401 - dies sind im HBCI-Sinne keine "Unterkonten", sondern ganz normal zwei verschiedene Konten mit jeweils eigener Kontonummer.
Ein alter Kommentar
Wer unter GnuCash HBCI-Benutzer nachträglich einem Konto zuweisen möchte (FIXME: Was bedeutet hier "nachträglich"?), muss ein paar zusätzliche Schritte ausführen.
Zumindest bei Ubuntu 12.04, GnuCash 2.4.10 und AqBanking 5.0.22-1 ändert der AqBanking-Assistent, der aus GnuCash heraus gestartet wird, lediglich die Variable
int selectedUser="XXX"
in der Datei
$HOME/.aqbanking/settings/accounts/uid%234a%234a00000001.conf
Wenn der Account aber wirklich einen anderen HBCI Benutzer verwenden soll, muss die Variable
int user="XXX"
angepasst werden.
Einrichtung des HBCI-Zugangs
- Frage
- Ich habe den ersten Brief von der Bank bekommen. 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?
- Antwort
- In GnuCash den Menüpunkt "Werkzeuge -> Onlinebanking-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.
- Frage
- Wie kann man den Port angeben (bei Commerzbank Port 3000)? Gebe ich hbci.commerzbank.de:3000 ein wird der Host nicht gefunden. -- GuidoThulke
- Antwort
- Portnummer 3000 wird für HBCI sowieso benutzt. Der Rechnername muss ohne Portnummer angegeben werden, also einfach {{{hbci.commerzbank.de}}}. Bei HBCI-PIN/TAN kann man eine normale Adresse (URL) angeben, also http://rechner:1234/foo/bar.
- Frage
- Nachtrag: Ich habe die Initialisierung unter Windows mit Hilfe der freundlichen Commerzbankhotline und Starmoney 3.0 durchgeführt. Das hat auch gut funktioniert und ich bin endlich zu meinem Schlüssel (Keyfile) auf der Diskette gekommen. Leider funktioniert GnuCash nicht mit diesem Schlüssel. Ist ein ungültiges/nicht bekanntes Keyformat. Ist das also nicht genormt?!
- Antwort
- Also eine Schlüsseldatei eines fremden Programms in GnuCash/AqBanking verwenden? Das geht nicht, siehe oben.
- Frage
- Beim Absenden von Überweisungs- oder Lastschriftaufträgen kommt die Fehlermeldung {{{HBCI: 9210 - DTA-Berechtigung fehlt (S)}}}. Was tun?
- Antwort
- 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)
Fragen+Antworten
Dazu siehe De/FAQ#OnlineBanking.2C_HBCI_und_AqBanking.
Ausführen von SEPA-Lastschriften
Siehe De/SEPA-Lastschrift
Fehlersuche
Falls etwas nicht auf Anhieb klappt, kann man gerne auf der Mailingliste nach Hilfe fragen, siehe De/Feedback. Wichtig ist daneben noch, bei Problemberichten
- Verwendete Versionen von Gnucash und Aqbanking, sowie
- die URL des Bankservers anzugeben, etwa
https://hbci.meine-bank.de
, und zusätzlich auch gerne die Bankleitzahl.
- Anmerkung
- Leider beschreibt der folgende Teil nur das Vorgehen unter Linux. Wer es weiß, möge bitte die entsprechenden Schritte für MacOS und Windows ergänzen. Vielen Dank!
Beim Einrichten sind zusätzlich noch die Protokoll-Ausgaben in den Fenstern des Einrichtungsassistenten von Bedeutung. Daneben speichert Aqbanking Sitzungs-Protokolle unter
$HOME/.aqbanking/backends/aqhbci/data/banks/de/<BLZ oder Bankname>/logs
- In GnuCash Bearbeiten->Einstellungen->Onlinebanking:
- deaktiviere Fenster nach Verbindungsende schließen,
- aktiviere Ausführliche Fehlermeldungen. Seit 2.3.x kann AQBANKING_LOGLEVEL irgendwwie hierüber gesetzt werden.
- Um ausführlichere Fehlermeldungen zu sehen, können diverse Umgebungsvariablen vor dem Start von Gnucash gesetzt werden. Öffne ein Terminal-Fenster, dann
# Allgemein: export AQBANKING_LOGLEVEL=info export GWEN_LOGLEVEL=info # Für FinTS/HBCI: export AQHBCI_LOGLEVEL=info # Warnung: Offenbart Paßwörter! # Für OFX: export AQOFX_LOG_COMM=1 # Warnung: Offenbart Paßwörter! export AQOFXCONNECT_LOGLEVEL=info gnucash
- Andere mögliche Werte für LOGLEVEL sind
- debug (noch ausführlicher)
- warn (weniger ausführlich)
- error (am knappsten, Vorgabe)
- In GnuCash Bearbeiten->Einstellungen->Onlinebanking:
- Tip
- Für wiederholte Aufrufe speichert man obige Befehle in einer Shell- oder Cmd-Datei, welche man dann beliebig oft aufrufen kann.
- Warnung!
- Um Mißbrauch vorzubeugen, sollte man, bevor man seine Protokolle irgendjemand anderem zugänglich macht, Paßwörter, PINs etc. darin aus'X'en. Bevor man sie öffentlich macht, z.B. an Mailinglisten schickt, sollten weitere Zugangsdaten, also mindestens die Kontonummer, ausge'X't werden.
Weiterführende Literatur
Für AqBanking gibt es eine Benutzerdokumentation als AqBanking Handbuch. Eventuell wird dies auf Linux gleich mitinstalliert unter z.B. /usr/share/doc/packages/aqbanking/aqbanking-handbook.pdf.
- AqBanking Website
- Website
- Wiki.
- Genossenschaftlich orientierte Banken
- vrkennung.de: nützliche Details zum Zugang über die fusionierten Betreiber Fiducia-GAD.
Einige Hinweise im Fehlerfall finden sich auch im Kapitel De/Referenz#Online-Banking 2 und einige technische Details im enlischen AqBanking.
- Hinweis
- Diese Seite basierte 2009 auf https://linuxwiki.de/GnuCash#HBCI_Onlinebanking.
Zurück zum Datenaustausch | Zurück zur Hauptseite |