De/Online-Banking
Sprachen | Englisch |
---|
Zurück zum Datenaustausch | Zurück zur Hauptseite |
Online-Banking wird in GnuCash mithilfe des Pakets AqBanking von Martin Preuß realisiert.
Auf aquamaniac.de gibt es:
- die neuesten Dateiversionen inklusive Handbuch,
- die aktuellsten Informationen, Benutzertips … im AqBanking Wiki,
- die Mailingliste aqbanking-user, sowie
- pro Komponente einen Bugtracker — zuvor bitte AqBanking: Fehler oder Probleme melden lesen!
- Tip
- Möglicherweise enthält die englische Seite Aktialisierungen, die hier noch nicht eingepflegt wurden. Falls jemand Zeit hat …
Contents
Technische Voraussetzungen
Damit GnuCash die Funktion des Online-Banking unterstützt, gibt es einige Voraussetzungen:
- Das Software-Paket AqBanking ist installiert. Es besteht aus Programmen, die man von einem Terminal aus aufrufen kann, und aus Funktionsbibliotheken (libraries), die von GnuCash benutzt werden. Wichtig: AqBanking ist kein eigenständiges Finanzverwaltungsprogramm, sondern es stellt lediglich die Verbindung zwischen einer Anwendung wie GnuCash, KMyMoney oder AqFinance und der Bank her.
- Anmerkung
- Die GnuCash-Bündel für MacOS/Quartz und Windows enthalten seit Version 2.6.x AqBanking.
- GnuCash muss mit der Option '--enable-aqbanking' kompiliert sein. Bei den meisten Distributionen ist dieses Flag gesetzt. Man kann es erkennen, wenn es im Menüpunkt Aktionen ein Untermenü Online Aktionen gibt.
- Die offizielle Anleitung zu AqBanking ist das AqBanking-Handbuch, siehe AqBanking Dateien. Es ist lesenswert, da einige Details wie z.B. Benutzer-/Kunden-name/-kennung sonst etwas verwirrend sein können. Manche Distributionen enthalten es bereits, z.B. als aqbanking-doc.
Bidirektionales Online-Banking
Hier ist auch die Auftragserteilung an die Bank möglich.
Anforderungen auf Europäischer Ebene
PSD2-Umstellung 2019
Seit Inkrafttreten der Umsetzung der PSD2-Richtlinie sind AqBanking-6-Bibliotheken und somit ein Gnucash neuer als 3.7 erforderlich.
Die Installation einer aktuellen Version unter den gängigen Betriebssystemen ist auf Installation und Update beschrieben.
- Sonderfälle
SEPA-Umstellung 2014
SEPA bedeutet Single Euro Payments Area (Einheitlicher Euro-Zahlungsverkehrsraum).
Anstelle von Bankleitzahl (BLZ) und Kontonummer tritt die Internationale Bankkontonummer (International Bank Accounting Number oder kurz IBAN). Diese besteht grundsätzlich aus dem ISO-Länderkürzel und 2 Prüfziffern am Anfang. Der Rest variiert von Land zu Land. In Deutschland folgt die BLZ und, durch Nullen links auf 10 Stellen aufgefüllt, die Kontonummer.
AqBanking kann seit Februar 2013 SEPA-Überweisungen ausführen, GnuCash selber seit 1. März 2013 [2] und in allen Versionen 2.6.0 oder höher. Allerdings verwenden einige Banken für SEPA eine andere Server-URL, eine höhere HBCI-Version oder ähnliches. Falls man also Probleme hat, bitte unter #Erweiterte Einstellungen noch mal die Einstellungen mit den Angaben der Bank abgleichen.
Inzwischen führen auch viele Drittländer die IBAN ein. Bei Überweisungen dorthin ist zusätzlich noch der Business Identifier Code (BIC nach ISO 9362) anzugeben, sofern das Mapping zwischen IBAN und BIC noch nicht bei der SWIFT hinterlegt ist.
- Seit Feb. 2014 ist die BIC innerhalb Deutschlands und
- seit Feb. 2016 innerhalb des SEPA-Raumes nicht mehr erforderlich.
FinTS
Der FinTS- Standard (Financial Transaction Services) beschreibt das vom damaligen Zentralen Kreditausschuß (ZKA) in Deutschland standardisierte Verfahren für das Homebanking / Online-Banking. Dabei kommen wahlweise zwei unterschiedliche Sicherheitsmodule zum Einsatz:
- HBCI
- Als klassisches HBCI wird das Online-Banking mit elektronischer Signatur z.B. per Chipkarte oder Schlüsseldatei bezeichnet.
- PIN/TAN
- Für die Kommunikation mit der Bank wird eine TAN angefordert, die mit Hilfe des chipTAN-Mechanismus generiert und validiert wird. Die Vielzahl der von GnuCash unterstützen Varianten werden auf PIN/TAN beschrieben.
Zur Sicherheit der verschiedenen in Deutschland angebotenen Verfahren gibt es eine Einschätzung vom Bundesamt für Sicherheit in der Informationstechnik (BSI).
Getestete Banken und Einstellungen
- Welche Einstellungen erforderlich sind wie die Server-URL, Sicherheitsverfahren etc. haben andere Benutzer in der AqBanking6_Bankentabelle hinterlegt.
- Allgemein lässt sich sagen, dass sowohl die öffentlich-rechtlichen Sparkassen als auch die meisten genossenschaftlich orientierten Volks-, Raiffeisen-, ... Banken das Online-Banking inzwischen jeweils bei einem Anbieter zusammengefasst haben und recht problemlos funktionieren. Bei den restlichen kocht aber jeder sein konzerneigenes Süppchen.
- Wichtig
- Wer also herausfindet, wie es bei seiner Bank funktioniert, sollte die Angaben dort ergänzen oder zumindest eine entsprechende Mail an aqbanking-user bei mailman.aquamaniac.de schicken. " bei " muss natürlich durch "@" ersetzt werden.
- Früher war die FinTS Bankenliste auf
FinTS-fähige Institutedes ZKA einsehbar. Jetzt ist die Liste nicht mehr öffentlich einsehbar und wir dürfen sie ebenfalls nicht zur Verfügung stellen. Die Vorgaben sind hier genannt: https://www.hbci-zka.de/register/bedingungen_bankenliste.htm:Die FinTS Bankenliste wird ausschließlich Herstellern von registrierten FinTS-Produkten als Excel-Datei (.xls und .csv) zur Verfügung gestellt. Damit verbunden ist auch der optionale Eintrag in einen E-Mail-Verteiler, der zum Erhalt von Updates berechtigt. Ohne eine FinTS-Produktregistrierung ist die Bankenliste nicht erhältlich und wir bitten von diesbezüglichen Anfragen abzusehen. (...) Die Weitergabe der FinTS-Bankenliste im Rahmen eines Softwareproduktes ist jedoch untersagt.
Ihre Daten fließen aber in den Einrichtungs-Assistenten ein. Daher ist es wichtig, dass man eine möglichst aktuelle AqBanking-Version verwendet.
EBICS
- Electronic Banking Internet Communication Standard EBICS in AT, CH, DE und FR — aber gewöhnlich nur für Geschäftskunden.
- Daher haben derzeit weder AqBanking- noch GnuCash-Entwickler Zugang zu einem Testserver. Infolgedessen ist der Upload in AqBanking noch nicht implementiert. Ebenso suchen die GnuCash-Entwickler Benutzer, die bei der Download-Implementierung durch Testen helfen möchten.
- Standards, Spezifikationen usw. können auf ebics.de und ebics.org (en) eingesehen werden.
Uni-direktional
Das ermöglicht im Wesentlichn den Abruf von Salden und Umsätzen …
PayPal
OFX
OFX DirectConnect
- OFX Direct Connect (english) kommt überwiegend in den USA zum Einsatz.
OFX WebConnect
- OFX WebConnect ist kein Online-Banking-Verfahren im engeren Sinne, sondern man benutzt den Browser zum Einloggen.
Fehlersuche
Falls etwas nicht auf Anhieb klappt, kann man gerne auf der Mailingliste nach Hilfe fragen. Man sollte aber zuvor De/Feedback gelesen haben. Wichtig ist bei Problemberichten vor allem
- die 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
- Der folgende Teil beschreibt das Vorgehen unter Linux. Wer es weiß, möge bitte die entsprechenden Schritte für MacOS und Windows ergänzen.
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
Debuglevel einschalten
Generell ist es sinnvoll, das Log-Fenster nach Beendigung der Online-Transaktion offen zu lassen. So kann z.B. beim PIN/TAN- Verfahren schnell nachgelesen werden, ob die eingegebene TAN von der Bank akzeptiert wurde.
Hierzu bitte in GnuCash unter Bearbeiten -> Einstellungen -> Onlinebanking:
- "Fenster nach Verbindungsende schließen" deaktivieren[3] und
- "Ausführliche Fehlermeldungen" aktivieren. (Hiermit wird der AQBANKING_LOGLEVEL erhöht.)
# Allgemein:
export AQBANKING_LOGLEVEL=info
export GWEN_LOGLEVEL=info # Gewöhnlich nur von Entwicklern verwendet
# 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)
- Tip
- Für wiederholte Aufrufe können die obigen Befehle in einer Shell- oder Cmd-Datei gespeichert werden um diese beliebig oft aufzurufen.
- Protokolle anonymisieren
- 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.
- Im Prinzip kann man das auch mit Man sollte aber vorsichtshalber noch mal drüberschauen.
aqhbci-tool4 logfile -i $EINGABELOGDATEI -o $AUSGABELOGDATEI
Bedeutung von Meldungen
In der Log-Ausgabe (Verlaufsfenster) wird während der Online-Transaktion viel Text über die Kommunikation mit der Bank geschrieben. Hierbei tauchen auch vom Zentralen Kredit-Ausschuss der deutschen Banken spezifizierte FinTS Rückmeldungscodes auf.
In der Tabelle werden nur die am häufigsten vorkommenden Rückmeldungscodes mit einer Erklärung aufgelistet.
Code | Text | Erklärung |
0010 | Nachricht/Auftrag angenommen | auch "Nachricht entgegengenommen" |
0020 | Ausgeführt | auch "Information fehlerfrei entgegengenommen" |
0100 | Dialog korrekt beendet | Nachricht/ Auftrag angenommen |
3010 | Nicht verfügbar | Benachrichtigung über die Aktualisierung interner Daten |
3050 | Die BPD wird aktualisiert | |
3060 | Teilweise liegen Warnungen oder Hinweise vor | |
3900 | Kein Umsatz gem. Suchbegriff vorh. | |
3920 | Nur Zwei-Schritt-TAN-Verfahren zulaessig | |
9010 | Geschäftvorfall nicht bearbeitet | |
9050 | Teilweise fehlerhaft | |
9230 | Auftrag nicht ausgeführt, da Limit überschritten. | |
9380 | Signaturberechtigung für diesen Kunden unzulässig | auch "Benutzer hat keine Auftragsberechtigung" |
9800 | Abgebrochen | |
9955 | Ein-Schritt-TAN-Verfahren nicht zugelassen |
Bekannte Phänomene
- Bei der Abfrage der Kontoumsätze dauert es sehr lange dauert, bis die Passwortabfrage erscheint
- In Ordner /C:\Users\XY\aqbanking\settings6\aqbanking war eine alte Datei uniqueid.conf.lck.[4] Ein typisches Phänomen, wenn die AqBanking-Konfiguration nicht ordnungsgemäß beendet wurde: Stromausfall, Ausschalten des Computers bei laufendem Programm …
Technische Hinweise
Falls mal was schiefgegangen ist, kann man einige Dinge mit einfachen Mitteln überprüfen und möglicherweise beheben.
Benutzer und Konten verbinden
Zum Abschluss des Onlinebanking-Einrichtungsassistenten wird die eigentliche AqBanking-Konfiguration für das Konto 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>
Hierbei haben die einzelnen keys diese Bedeutung:
- account-id
- die Kontonummer.
- account-uid
- muss derselbe Wert sein, wie in der Kontenliste des AqBanking-Assistenten.
- bank-code
- Die Bank Id: In DE die Bankleitzahl (BLZ).
- trans-retrieval
- Zeitstempel der letzten Umsatz-Abfrage für 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 änderte 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.
ING (DiBa) und AqBanking
Kriegt man bei der Registrierung eines Benutzers folgende Fehlermeldung:
HBCI: 9400 - Der anonyme Dialog wird nicht unterstützt. (M)
Sollte man bestimmte Schritte aus Bug 797690 - Cannot fetch accounts from ING (HBCI: 9400 - Der anonyme Dialog wird nicht unterstützt. (M)) ausführen:
Es scheint, daß einige Parameter, welche AqBanking braucht ("-t pintan --context=0") nicht über die graphische Oberfläche angepaßt werden können.
Basierend auf Informationen vom homebanking-hilfe Forum und dem verbundenen AqBanking Bug #134, konnte ich den Benutzer in AqBanking wie folgt einrichten:
- Annahmen
-
- Betriebssystem Windows 10,
- Gnucash wurde im Standardverzeichnis C:\Program Files (x86)\gnucash installiert.
- In Windows 10 öffne powershell; Auf einem Linux-Rechner mit nur einer installierten Version von GnuCash und AqBanking kann man den Befehlspfad verkürzen zu
$ 'C:\Program Files (x86)\gnucash\bin\aqhbci-tool4.exe' adduser -t pintan --context=0 -b 50010517 -u <10-digit-internetbanking-id> -N <10-digit-internetbanking-id> -s 'https://fints.ing.de/fints/' --hbciversion=300 $ gnucash
aqhbci-tool4 adduser …
. - In Gnucash
- Werkzeuge -> Onlinebanking Einrichtung >>
Weiter
>>Start AqBanking Setup
- In AqBanking Einrichtung wähle den frisch angelegten Benutzer und klick
Benutzer bearbeiten
. - Unter "Special Actions" click "Get Accounts" and provide your **internet banking PIN**
- Make sure to Match Online accounts with GnuCash accounts correctly!
- Werkzeuge -> Onlinebanking Einrichtung >>
Zurück zum Datenaustausch | Zurück zur Hauptseite |
- ↑ Claudia Neumann: Kontenabfrage von Apo-Bank wieder möglich; Email 22.01.2021
- ↑ Christian Stimming: SEPA-Unterstützung in AqBanking und gnucash; Email 01.03.2013
- ↑ Dies wirkt nur auf die GnuCash-Dialoge, z.Zt. Salden- oder Umsatzabfrage. Die des Einrichtungsassistenten werden von Aqbankings Biliothek Gwenhywfar bereitgestellt.
- ↑ https://lists.gnucash.org/pipermail/gnucash-de/2021-November/012255.html