Difference between revisions of "De/Online-Banking"

From GnuCash
Jump to: navigation, search
m (fix Typo)
(new chapter "Fehlersuche")
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<!-- = Wiki_De/Online-Banking = -->
 
'''Hinweis:''' Entwicklung der neuen Seite '''De/Online-Banking'''
 
 
'''Diese Seite ist im Aufbau, Ziel ist eine Neustrukturierung des Bereiches''' ''Datenaustausch'' '''und''' ''Online-Banking'''''!'''
 
 
 
{|cellpadding="20"
 
{|cellpadding="20"
 
|[[De/Datenaustausch | Zurück zum Datenaustausch]]
 
|[[De/Datenaustausch | Zurück zum Datenaustausch]]
Line 9: Line 4:
 
|}
 
|}
  
[https://de.wikipedia.org/wiki/HBCI HBCI] (''Homebanking Computer Interface'') oder [https://www.hbci-zka.de/ FinTS] (''Financial Transaction Services''), wie es seit Version 3.0 mit der Standardisierung von PIN/TAN, offiziell heißt, stellt eine vom damaligen [https://www.zentraler-kreditausschuss.de/was-ist-der-zka/ Zentralen Kreditausschuß] (''ZKA'') in Deutschland standardisierte Schnittstelle für das Homebanking / Online-Banking dar.
+
Online-Banking wird in GnuCash mithilfe des Pakets [https://www.aquamaniac.de AqBanking] von Martin Preuß realisiert.  
  
Dieser Standard wird in GnuCash neben anderen Methoden wie
+
Auf [https://www.aquamaniac.de aquamaniac.de] gibt es:
* Electronic Banking Internet Communication Standard [https://de.wikipedia.org/wiki/Electronic_Banking_Internet_Communication_Standard EBICS] in CH, DE und FR,
+
* die aktuellsten Informationen, Benutzertips … im [https://www.aquamaniac.de/rdm/projects/aqbanking/wiki AqBanking Wiki],
* [[Setting up OFXDirectConnect | OFX Direct Connect]] (english) in den USA oder
+
* pro Komponente einen [https://www.aquamaniac.de/rdm/projects/aqbanking/issues Bugtracker] und
* [[De/Paypal einrichten | Paypal]]
+
* die [https://lists.aquamaniac.de/cgi-bin/mailman/listinfo/aqbanking-user Mailingliste aqbanking-user], sowie
über die Bibliothek [https://www.aquamaniac.de AqBanking] realisiert. Die aktuellsten Informationen zu AqBanking finden sich im [https://www.aquamaniac.de/rdm/projects/aqbanking/wiki AqBanking Wiki]. Auf [https://www.aquamaniac.de aquamaniac] von Martin Preuß gibt es weiterhin pro Komponente einen [https://www.aquamaniac.de/rdm/projects/aqbanking/issues Bugtracker] und die [https://lists.aquamaniac.de/cgi-bin/mailman/listinfo/aqbanking-user Mailingliste aqbanking-user], sowie die neusten Dateiversionen inklusive Handbuch.
+
* die neusten Dateiversionen inklusive Handbuch.
  
== bidirektionales Online-Banking ==
+
== Bidirektionales Online-Banking ==
(Auftragserteilung an die Bank möglich)
+
Hier ist auch die Auftragserteilung an die Bank möglich.
<!-- Inhalte von HBCI übernehmen: Einleitung, Kapitel 1 und 2 -->
 
  
 
=== Voraussetzungen ===
 
=== Voraussetzungen ===
 
Damit GnuCash die Funktion des '''Online-Banking''' unterstützt, gibt es einige Voraussetzungen:
 
Damit GnuCash die Funktion des '''Online-Banking''' unterstützt, gibt es einige Voraussetzungen:
* Die Bank muss HBCI/FinTS anbieten.
 
* 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.
 
 
* 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 [https://www.aquamaniac.de/rdm/ AqFinance] und der Bank her.  
 
* 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 [https://www.aquamaniac.de/rdm/ AqFinance] und der Bank her.  
 
:;Anmerkung: Die GnuCash-Bündel für '''MacOS'''/Quartz und '''Windows''' enthalten seit Version 2.6.x AqBanking.
 
:;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 [https://www.aquamaniac.de/rdm/projects/aqbanking/files 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 <tt>aqbanking-doc</tt>.
 +
 +
==== PSD2-Umstellung 2019 ====
 +
PSD2 erfordert die '''AqBanking 6 Bibliotheken''' und somit ein ''Gnucash neuer als 3.7''.
 +
 +
Die Installation einer aktuellen Version unter den gängigen Betriebssystemen ist auf [[de/Installation | Installation und Update]] beschrieben.
 +
;Sonderfälle:
 +
:;Apo-Bank: hatte kombiniert mit einem Provider-Wechsel Probleme, soll aber seit Januar 2021 mit der TAN-Methode [[De/PIN/TAN#photoTAN|Cronto]] wieder funktionieren.<ref>https://lists.gnucash.org/pipermail/gnucash-de/2021-January/011991.html</ref>
 +
:;ING-DiBa: hat die Umstellung nicht mitgemacht, betreibt aber weiter den alten Server im Nur-Lesen-Modus.<!-- TODO: Link aus Mail-Archive-->
  
==== SEPA-Umstellung Anfang 2014 ====
+
==== SEPA-Umstellung 2014 ====
 
[https://de.wikipedia.org/wiki/SEPA SEPA] bedeutet ''Single Euro Payments Area'' (Einheitlicher Euro-Zahlungsverkehrsraum).
 
[https://de.wikipedia.org/wiki/SEPA SEPA] bedeutet ''Single Euro Payments Area'' (Einheitlicher Euro-Zahlungsverkehrsraum).
  
Line 39: Line 41:
 
'''AqBanking''' kann seit Februar 2013 SEPA-Überweisungen ausführen, '''GnuCash''' selber seit 1. März 2013 [https://lists.gnucash.org/pipermail/gnucash-de/2013-March/008674.html] und in allen Versionen '''2.6.0 oder höher'''.
 
'''AqBanking''' kann seit Februar 2013 SEPA-Überweisungen ausführen, '''GnuCash''' selber seit 1. März 2013 [https://lists.gnucash.org/pipermail/gnucash-de/2013-March/008674.html] 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 die [[#Erweiterte Einstellungen]] noch mal mit den Angaben der Bank abgleichen.
+
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.
 
 
==== PSD2-Umstellung 2019 ====
 
PSD2 erfordert die '''Aqbanking 6 Bibliotheken''' und somit ein ''Gnucash neuer als 3.7''.
 
 
 
Die Installation einer aktuellen Version unter gängigen Betriebssystemen ist auf [[de/Installation | Installation und Update]] beschrieben.
 
  
 
==== Getestete Banken und Einstellungen ====
 
==== Getestete Banken und Einstellungen ====
Line 52: Line 49:
 
* Früher war die FinTS Bankenliste auf <s>[http://www.hbci-zka.de/institute/institut_auswahl.htm FinTS-fähige Institute]</s> des [[De/Glossar#Z|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:<blockquote><i>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. </i></blockquote> Ihre Daten fließen aber in den Einrichtungs-Assistenten ein. Daher ist es wichtig, dass man eine ''möglichst aktuelle AqBanking-Version'' verwendet.
 
* Früher war die FinTS Bankenliste auf <s>[http://www.hbci-zka.de/institute/institut_auswahl.htm FinTS-fähige Institute]</s> des [[De/Glossar#Z|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:<blockquote><i>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. </i></blockquote> Ihre Daten fließen aber in den Einrichtungs-Assistenten ein. Daher ist es wichtig, dass man eine ''möglichst aktuelle AqBanking-Version'' verwendet.
  
<!-- === Banking Verfahren === -->
+
=== FinTS ===
<!-- Inhalte von HBCI übernehmen: Kapitel 4 und 5 -->
+
Der [https://www.hbci-zka.de/ FinTS- Standard] (''Financial Transaction Services'') beschreibt das vom damaligen [https://www.zentraler-kreditausschuss.de/was-ist-der-zka/ Zentralen Kreditausschuß] (''ZKA'') in Deutschland standardisierte Verfahren für das Homebanking / Online-Banking. Dabei kommen wahlweise zwei unterschiedliche Sicherheitsmodule zum Einsatz:
 +
 
 +
==== HBCI ====
 +
Als [[De/HBCI | ''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 [[De/PIN/TAN | PIN/TAN]] beschrieben.
 +
 
 +
=== EBICS ===
 +
 
 +
* Electronic Banking Internet Communication Standard [https://de.wikipedia.org/wiki/Electronic_Banking_Internet_Communication_Standard EBICS] in AT, CH, DE und FR,
 +
* Standards, Spezifikationen usw. können auf [https://www.ebics.de ebics.de] und [https://www.ebics.org ebics.org (en)] eingesehen werden.
 +
 
 +
== Uni-direktional ==
 +
Das ermöglicht im Wesentlichn den Abruf von Salden und Umsätzen..
 +
 
 +
=== PayPal ===
 +
 
 +
* [[De/Paypal_einrichten | Einrichtung von Paypal]]
 +
* [[De/Paypal_richtig_nutzen | PayPal benutzen]]
 +
 
 +
=== OFX ===
 +
==== OFX DirectConnect ====
 +
 
 +
* [[Setting up OFXDirectConnect | 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, siehe [[De/Feedback]]. Wichtig ist, bei Problemberichten
 +
* die [[De/Feedback#Verwendete_Versionen|Verwendete Versionen]] von Gnucash und Aqbanking, sowie
 +
* die [[De/Glossar#U|URL]] des Bankservers anzugeben, etwa <code>https://hbci.meine-bank.de</code>, 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
 +
<code>$HOME/.aqbanking/backends/aqhbci/data/banks/de/<BLZ oder Bankname>/logs</code>
 +
 
 +
=== 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 <tt>Bearbeiten -> Einstellungen -> Onlinebanking</tt>:
 +
#<tt>"Fenster nach Verbindungsende schließen"</tt> deaktivieren und
 +
#<tt>"Ausführliche Fehlermeldungen"</tt> aktivieren. (Hiermit wird der AQBANKING_LOGLEVEL erhöht.)
 +
 
 +
Um ausführlichere Fehlermeldungen zu sehen, können diverse Umgebungsvariablen vor dem Start von Gnucash gesetzt werden. Öffne ein Terminal-Fenster, dann <Syntaxhighlight lang="Bash">
 +
# 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
 +
</Syntaxhighlight>
 +
;Andere mögliche Werte für LOGLEVEL sind:
 +
:<tt>debug</tt> (noch ausführlicher)
 +
:<tt>warn</tt> (weniger ausführlich)
 +
:<tt>error</tt> (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.
 +
 
 +
;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.
 +
 
 +
=== 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 [https://www.hbci-zka.de/dokumente/spezifikation_deutsch/FinTS_Rueckmeldungscodes_2019-07-22_final_version.pdf FinTS Rückmeldungscodes] auf.
 +
 
 +
In der Tabelle werden nur die am häufigsten vorkommenden Rückmeldungscodes mit einer Erklärung aufgelistet.
 +
{| border="1" cellpadding="5" cellspacing="0"
 +
 
 +
|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
 +
|
 +
|- 
 +
 
  
Die Einrichtung der Onlineverbindung erfolgt in GnuCash mit dem Menüpunkt [[De/Onlinebanking-Einrichtungsassistent | Werkzeuge -> Onlinebanking-Einrichtungsassistenten]] und ist am Beispiel der Dortmunder Volksbank und dem chipTAN-Verfahren beschrieben.
+
|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
 +
|
 +
|- 
 +
 
 +
|}
  
Ist der Zugang richtig konfiguriert, kann aus dem Kontoblatt heraus im Menü Aktion -> Online-Aktionen
+
== Technische Hinweise ==
*Saldenabfrage
+
Falls mal was schiefgegangen ist, kann man einige Dinge mit einfachen Mitteln überprüfen und möglicherweise beheben.
*Abfrage Kontoumsätze
 
*SEPA Einzelüberweisung
 
*interne Umbuchung
 
ausgeführt werden.
 
  
=== klassisches HBCI ===
+
=== Benutzer und Konten verbinden ===
Als <q>klassisches</q> HBCI wird das Online-Banking mit Schlüsseldatei oder -medium bezeichnet. Die Details hierzu sind hier [[De/HBCI | FinTS HBCI]] beschrieben.
+
Zum Abschluss des ''Onlinebanking-Einrichtungsassistenten'' wird die eigentliche AqBanking-'''Konfiguration''' für das Konto unter folgendem versteckten Ordner gespeichert:
 +
* ab AqBanking 6: <tt>~/.aqbanking/settings6/</tt>,
 +
* bis AqBanking 5: <tt>~/.aqbanking/settings/</tt>.
 +
:Beim ersten Aufruf von Aqbanking 6 wird <tt>settings6</tt> automatisch aus <tt>settings</tt> erzeugt.
 +
GnuCash selbst speichert lediglich die '''Zuordnung''', z.B. in einer unkomprimierten xml-Datei innerhalb des jeweiligen Kontos als:{{HBCI_Frame}}
 +
Hierbei haben die einzelnen '''key'''s 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 des letzten Zugriff-Versuchs auf dieses Konto.
  
=== PIN/TAN ===
+
=== Unterkonten ===
Das PIN/TAN-Verfahren ist im HBCI-  bzw. FinTS-Standard seit einiger Zeit spezifiziert (FinTS 3.0 - inoffiziell seit HBCI 2.2 alias ''HBCI+''). Dieses Verfahren wird in GnuCash seit Version 1.8.10 erfolgreich unterstützt.
+
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 {{BugURL}}/show_bug.cgi?id=737933
  
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 [[De/PIN/TAN | FinTS PIN/TAN]] beschrieben.
+
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.
  
=== EBICS ===
+
=== 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
  
== uni-direktional ==
+
Wenn der Account aber wirklich einen anderen HBCI-Benutzer verwenden soll, muss die Variable
(nur Download)
+
int  user="XXX"
 +
angepasst werden.
  
=== PayPal ===
 
  
:[[De/PayPal | PayPal]]
+
-----
 +
{|cellpadding="20"
 +
|[[De/Datenaustausch | Zurück zum Datenaustausch]]
 +
|[[De/GnuCash | Zurück zur Hauptseite]]
 +
|}
  
=== OFX ===
+
[[Category:De|Online-Banking]][[Category:De/FinTS|Online-Banking]]
==== OFX DirectConnect (US-Banken) ====
 
==== OFX WebConnect (nicht unterstützt) ====
 

Revision as of 16:35, 19 February 2021

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:

Bidirektionales Online-Banking

Hier ist auch die Auftragserteilung an die Bank möglich.

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.

PSD2-Umstellung 2019

PSD2 erfordert die AqBanking 6 Bibliotheken und somit ein Gnucash neuer als 3.7.

Die Installation einer aktuellen Version unter den gängigen Betriebssystemen ist auf Installation und Update beschrieben.

Sonderfälle
Apo-Bank
hatte kombiniert mit einem Provider-Wechsel Probleme, soll aber seit Januar 2021 mit der TAN-Methode Cronto wieder funktionieren.[1]
ING-DiBa
hat die Umstellung nicht mitgemacht, betreibt aber weiter den alten Server im Nur-Lesen-Modus.

SEPA-Umstellung 2014

SEPA bedeutet Single Euro Payments Area (Einheitlicher Euro-Zahlungsverkehrsraum).

Anstelle von BLZ und Ktonr. 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.

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.

AqBanking kann seit Februar 2013 SEPA-Überweisungen ausführen, GnuCash selber seit 1. März 2013 [1] 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.

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 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 lists.aquamaniac.de schicken. " bei " muss natürlich durch "@" ersetzt werden.
  • Früher war die FinTS Bankenliste auf FinTS-fähige Institute des 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.

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.

EBICS

  • Electronic Banking Internet Communication Standard EBICS in AT, CH, DE und FR,
  • 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 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, siehe De/Feedback. Wichtig ist, bei Problemberichten

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:

  1. "Fenster nach Verbindungsende schließen" deaktivieren und
  2. "Ausführliche Fehlermeldungen" aktivieren. (Hiermit wird der AQBANKING_LOGLEVEL erhöht.)
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)
Tip
Für wiederholte Aufrufe können die obigen Befehle in einer Shell- oder Cmd-Datei gespeichert werden um diese beliebig oft aufzurufen.
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.

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

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.
GnuCash selbst speichert lediglich die Zuordnung, z.B. in einer unkomprimierten xml-Datei innerhalb des jeweiligen Kontos als:
    <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 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 ä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.



Zurück zum Datenaustausch Zurück zur Hauptseite