Difference between revisions of "De/SEPA-Lastschrift"
m (→Absenden) |
(use syntaxhighlight) |
||
(15 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | Hier wird die Einrichtung von AqBanking ([[de/HBCI]]) für die Nutzung von SEPA-Lastschriften beschrieben | + | Hier wird die Einrichtung von AqBanking ([[de/HBCI]]) für die Nutzung von SEPA-Lastschriften beschrieben. |
− | Voraussetzungen: Aqbanking 5.4.3 oder höher | + | Voraussetzungen: |
+ | * Aqbanking 5.4.3 oder höher muss installiert sein. Für automatisches Compilieren siehe Script hier: https://github.com/cstim/aqbanking-scripts | ||
+ | * Die Bank muss SEPA-Lastschriften anbieten: Der Autor dieser Zeilen nutzte erfolgreich die HVB, BLZ 70020270, und dabei den HBCI-Geschäftsvorfall "HKDME". | ||
+ | * Unbedingt die Regularien beachten, die in https://homebanking-hilfe.de/forum/topic.php?t=17778 erwähnt werden! | ||
== Einrichtung == | == Einrichtung == | ||
− | + | Für die Einrichtung des Zugangs geht man zunächst so vor wie im [https://www.aquamaniac.de/rdm/projects/aqbanking/files "AqBanking Handbuch"] beschrieben. | |
− | Für die Einrichtung des Zugangs geht man zunächst so vor wie im | ||
=== Test === | === Test === | ||
+ | Man verifiziert dann den funktionierenden Zugang durch Prüfen von "Saldoabruf" und "Umsatzabruf". Auf der Kommandozeile ein Saldoabruf: <syntaxhighlight lang="sh"> | ||
+ | aqbanking-cli request --balance -a $ACCOUNTNUM -c $CONTEXTFILE | ||
+ | aqbanking-cli listbal -a $ACCOUNTNUM -c $CONTEXTFILE | ||
+ | </syntaxhighlight>, wobei $ACCOUNTNUM die Kontonummer ist und $CONTEXTFILE ein beliebiger Dateiname, in dem beim Abruf die erhaltenen Daten reingeschrieben werden und sie danach mit <tt>listbal</tt> wieder ausgelesen werden. | ||
− | + | Der Umsatzabruf per Script ist auch hier beschrieben: https://github.com/cstim/aqbanking-scripts | |
− | + | === SEPA-Informationen === | |
− | + | Nach '''Freischaltung durch die Bank''' muss man die ''SEPA-Informationen'' zum Konto '''nochmal abrufen''', damit AqBanking seine Konfiguration aktualisiert: <syntaxhighlight lang="sh"> | |
− | + | aqhbci-tool4 getaccsepa -a $ACCOUNTNUM | |
+ | </syntaxhighlight> | ||
+ | Die fertige Konfiguration besteht nun aus dem Inhalt des Verzeichnisses $HOME/.aqbanking sowie ggf. der Schlüsseldatei. Im Verzeichnis $HOME/.aqbanking werden außerdem zu jeder Kommunikation mit dem Server auch Logs abgelegt - die muss man natürlich nicht aufheben, sofern man nicht später noch was nachschauen will. Alle anderen Verzeichnisse und Dateien dort enthalten verschiedene Elemente der Konfiguration. | ||
− | === | + | === PIN-Datei === |
− | + | Im Normalbetrieb wird diese Option natürlich nicht weiter empfohlen, aber für den Batch-Betrieb ist es möglich, die PIN der Schlüsseldatei (oder die PIN von PIN/TAN) auch in einer Datei abzulegen und damit ohne Benutzerrückfrage bestimmte HBCI-Aktionen durchführen zu können. Dies ist auch im aqbanking-Handbuch, Kapitel 8, beschrieben: <syntaxhighlight lang="sh"> | |
− | + | aqhbci-tool4 mkpinlist > $PINFILE | |
+ | </syntaxhighlight> und die generierte Datei dann mit dem Texteditor bearbeiten, um die benötigten PINs zu ergänzen. | ||
− | + | Sodann kann beim aqbanking-cli Aufruf die Option -P genutzt werden (noch vor dem Kommando): <syntaxhighlight lang="sh"> | |
+ | aqbanking-cli -P $PINFILE kommando... | ||
+ | </syntaxhighlight> | ||
== Lastschrift-Import == | == Lastschrift-Import == | ||
Line 25: | Line 36: | ||
=== Formatbeschreibung (Profile) === | === Formatbeschreibung (Profile) === | ||
In AqBanking heißen die Formatbeschreibungen von Import-Tabellen "Profiles", egal wie man diese Bezeichnung findet. Die Details sind im "AqBanking Handbuch", Kapitel 11, beschrieben. Ein mögliches Import-"profile" ist hier vorgeschlagen: | In AqBanking heißen die Formatbeschreibungen von Import-Tabellen "Profiles", egal wie man diese Bezeichnung findet. Die Details sind im "AqBanking Handbuch", Kapitel 11, beschrieben. Ein mögliches Import-"profile" ist hier vorgeschlagen: | ||
− | < | + | <syntaxhighlight lang="C"> |
char name="sepalast" | char name="sepalast" | ||
char shortDescr="import sepa debitnotes" | char shortDescr="import sepa debitnotes" | ||
Line 52: | Line 63: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
Diese Formatbeschreibung muss in einer Datei mit dem Suffix ".conf" (wichtig!) abgespeichert werden, z.B. sepalast.conf, und diese Datei in den Ordner $prefix/share/aqbanking/imexporters/csv/profiles/ kopiert werden - wichtig! Nur Dateien in diesem Ordner und nur mit der Endung .conf werden berücksichtigt. Leider funktioniert in aqbanking 5.4.x und 5.5.x die Kommandozeilenoption --profileFile nicht. | Diese Formatbeschreibung muss in einer Datei mit dem Suffix ".conf" (wichtig!) abgespeichert werden, z.B. sepalast.conf, und diese Datei in den Ordner $prefix/share/aqbanking/imexporters/csv/profiles/ kopiert werden - wichtig! Nur Dateien in diesem Ordner und nur mit der Endung .conf werden berücksichtigt. Leider funktioniert in aqbanking 5.4.x und 5.5.x die Kommandozeilenoption --profileFile nicht. | ||
=== Eingabedaten === | === Eingabedaten === | ||
− | + | Nun kann man Dateien mit Importtabellen anlegen, wo jede Zeile einer Lastschrift entspricht. Die Bedeutung ergibt sich aus den Namen oben. Sollte man fälschlicherweise Zeilen in der Datei haben, die nicht zur angegebenen Formatbeschreibung passen (z.B. Spaces statt Tabs), erhält man leider nur die lapidare Fehlermeldung <syntaxhighlight lang="console"> | |
− | Nun kann man Dateien mit Importtabellen anlegen, wo jede Zeile einer Lastschrift entspricht. Die Bedeutung ergibt sich aus den Namen oben. Sollte man fälschlicherweise Zeilen in der Datei haben, die nicht zur angegebenen Formatbeschreibung passen (z.B. Spaces statt Tabs), erhält man leider nur die lapidare Fehlermeldung | + | 3:2014/09/21 22-10-48:aqbanking(6251):csv.c: 458: Empty group |
− | + | </syntaxhighlight> | |
− | und diese Meldung ein Mal pro Zeile, die nicht zur Formatbeschreibung passt. Eine Beispieldatei würde dann so aussehen: | + | und diese Meldung ein Mal pro Zeile, die nicht zur Formatbeschreibung passt. Eine Beispieldatei würde dann so aussehen: <syntaxhighlight lang="console"> |
− | + | 70020270 0012345678 DE1234567891234567890 INGDDEFFXXX Empfaengername 0.23 EUR Testueberweisung DE50ZZZ0111111111111 MANXX 2014.01.01 once 2014/10/01 | |
+ | </syntaxhighlight> | ||
Hinweise: | Hinweise: | ||
− | * Das Datumsformat für mandateDate (=Gültigkeitsdatum des Mandats) ist leider in einem anderen Format als das Ausführungsdatum, aber sei's drum | + | * Das Datumsformat für mandateDate (=Gültigkeitsdatum des Mandats) ist leider in einem anderen Format als das Ausführungsdatum, aber sei's drum. Ein Patch existiert schon auf der Mailingliste aqbanking-user und wird wohl bald eingebaut sein. |
− | * Das Ausführungsdatum hat unerwartet fixe Vorgaben durch die SEPA-Regeln, siehe auch | + | * Das Ausführungsdatum hat unerwartet fixe Vorgaben durch die SEPA-Regeln, siehe auch https://www.onlinebanking-forum.de/forum/topic.php?t=17778 , ebenso die Verwaltung der Ausführungsart (once, first, following - die Möglichkeiten werden beim Aufruf "aqbanking-cli sepadebitnote --help" genannt) |
− | * Für den Zahler sind in aqbanking 5. | + | * In aqbanking git-Version (und 5.5.0.3 und höher) kann man "sepadebitnotes" durch die Option --use-COR1 von CORE nach COR1 umstellen. FIXME: Hat das jemand mal getestet? |
+ | * Für den Zahler sind in aqbanking 5.4.3 zwar die Angabe der BIC noch notwendig, aber in aqbanking 5.5.0 ist das (seit 681ca226) nicht mehr notwendig. FIXME: Hat das jemand mal getestet? | ||
=== Absenden === | === Absenden === | ||
− | Diese Datei (z.B. "input.csv") kann man wie folgt zur Bank schicken: | + | Diese Datei (z.B. "input.csv") kann man wie folgt zur Bank schicken: <syntaxhighlight lang="sh"> |
− | + | aqbanking-cli sepadebitnotes -c $CONTEXTFILE -a $ACCOUNTNUM --fill-gaps --importer=csv --profile=sepalast --infile=input.csv | |
− | Hoffentlich klappt alles und man sieht folgende Meldung: | + | </syntaxhighlight> |
− | + | Hoffentlich klappt alles und man sieht folgende Meldung: <syntaxhighlight lang="console"> | |
+ | 0020 - Auftrag zur Ausführung vorgemerkt. (S) | ||
+ | </syntaxhighlight> | ||
Viel Glück! | Viel Glück! | ||
− | + | ||
− | + | [[Category:De|HBCI/SEPA-Lastschrift]][[Category:De/FinTS|HBCI/SEPA-Lastschrift]] |
Latest revision as of 02:27, 19 February 2021
Hier wird die Einrichtung von AqBanking (de/HBCI) für die Nutzung von SEPA-Lastschriften beschrieben.
Voraussetzungen:
- Aqbanking 5.4.3 oder höher muss installiert sein. Für automatisches Compilieren siehe Script hier: https://github.com/cstim/aqbanking-scripts
- Die Bank muss SEPA-Lastschriften anbieten: Der Autor dieser Zeilen nutzte erfolgreich die HVB, BLZ 70020270, und dabei den HBCI-Geschäftsvorfall "HKDME".
- Unbedingt die Regularien beachten, die in https://homebanking-hilfe.de/forum/topic.php?t=17778 erwähnt werden!
Contents
Einrichtung
Für die Einrichtung des Zugangs geht man zunächst so vor wie im "AqBanking Handbuch" beschrieben.
Test
Man verifiziert dann den funktionierenden Zugang durch Prüfen von "Saldoabruf" und "Umsatzabruf". Auf der Kommandozeile ein Saldoabruf:aqbanking-cli request --balance -a $ACCOUNTNUM -c $CONTEXTFILE
aqbanking-cli listbal -a $ACCOUNTNUM -c $CONTEXTFILE
Der Umsatzabruf per Script ist auch hier beschrieben: https://github.com/cstim/aqbanking-scripts
SEPA-Informationen
Nach Freischaltung durch die Bank muss man die SEPA-Informationen zum Konto nochmal abrufen, damit AqBanking seine Konfiguration aktualisiert:aqhbci-tool4 getaccsepa -a $ACCOUNTNUM
Die fertige Konfiguration besteht nun aus dem Inhalt des Verzeichnisses $HOME/.aqbanking sowie ggf. der Schlüsseldatei. Im Verzeichnis $HOME/.aqbanking werden außerdem zu jeder Kommunikation mit dem Server auch Logs abgelegt - die muss man natürlich nicht aufheben, sofern man nicht später noch was nachschauen will. Alle anderen Verzeichnisse und Dateien dort enthalten verschiedene Elemente der Konfiguration.
PIN-Datei
Im Normalbetrieb wird diese Option natürlich nicht weiter empfohlen, aber für den Batch-Betrieb ist es möglich, die PIN der Schlüsseldatei (oder die PIN von PIN/TAN) auch in einer Datei abzulegen und damit ohne Benutzerrückfrage bestimmte HBCI-Aktionen durchführen zu können. Dies ist auch im aqbanking-Handbuch, Kapitel 8, beschrieben:aqhbci-tool4 mkpinlist > $PINFILE
aqbanking-cli -P $PINFILE kommando...
Lastschrift-Import
Nun muss man sich eine Beschreibung der Import-Tabellen-Datei zurechtlegen.
Formatbeschreibung (Profile)
In AqBanking heißen die Formatbeschreibungen von Import-Tabellen "Profiles", egal wie man diese Bezeichnung findet. Die Details sind im "AqBanking Handbuch", Kapitel 11, beschrieben. Ein mögliches Import-"profile" ist hier vorgeschlagen:
char name="sepalast"
char shortDescr="import sepa debitnotes"
int import="1"
char type="csv"
char subject="debitnotes"
params {
quote="0"
title="0"
delimiter="TAB"
columns {
1="localBankCode"
2="localAccountNumber"
3="remoteIBAN"
4="remoteBIC"
5="remoteName[0]"
6="value/value"
7="value/currency"
8="purpose[0]"
9="purpose[1]"
10="creditorSchemeId"
11="mandateId"
12="mandateDate"
13="sequenceType"
14="date"
}
}
Diese Formatbeschreibung muss in einer Datei mit dem Suffix ".conf" (wichtig!) abgespeichert werden, z.B. sepalast.conf, und diese Datei in den Ordner $prefix/share/aqbanking/imexporters/csv/profiles/ kopiert werden - wichtig! Nur Dateien in diesem Ordner und nur mit der Endung .conf werden berücksichtigt. Leider funktioniert in aqbanking 5.4.x und 5.5.x die Kommandozeilenoption --profileFile nicht.
Eingabedaten
Nun kann man Dateien mit Importtabellen anlegen, wo jede Zeile einer Lastschrift entspricht. Die Bedeutung ergibt sich aus den Namen oben. Sollte man fälschlicherweise Zeilen in der Datei haben, die nicht zur angegebenen Formatbeschreibung passen (z.B. Spaces statt Tabs), erhält man leider nur die lapidare Fehlermeldung3:2014/09/21 22-10-48:aqbanking(6251):csv.c: 458: Empty group
70020270 0012345678 DE1234567891234567890 INGDDEFFXXX Empfaengername 0.23 EUR Testueberweisung DE50ZZZ0111111111111 MANXX 2014.01.01 once 2014/10/01
Hinweise:
- Das Datumsformat für mandateDate (=Gültigkeitsdatum des Mandats) ist leider in einem anderen Format als das Ausführungsdatum, aber sei's drum. Ein Patch existiert schon auf der Mailingliste aqbanking-user und wird wohl bald eingebaut sein.
- Das Ausführungsdatum hat unerwartet fixe Vorgaben durch die SEPA-Regeln, siehe auch https://www.onlinebanking-forum.de/forum/topic.php?t=17778 , ebenso die Verwaltung der Ausführungsart (once, first, following - die Möglichkeiten werden beim Aufruf "aqbanking-cli sepadebitnote --help" genannt)
- In aqbanking git-Version (und 5.5.0.3 und höher) kann man "sepadebitnotes" durch die Option --use-COR1 von CORE nach COR1 umstellen. FIXME: Hat das jemand mal getestet?
- Für den Zahler sind in aqbanking 5.4.3 zwar die Angabe der BIC noch notwendig, aber in aqbanking 5.5.0 ist das (seit 681ca226) nicht mehr notwendig. FIXME: Hat das jemand mal getestet?
Absenden
Diese Datei (z.B. "input.csv") kann man wie folgt zur Bank schicken:aqbanking-cli sepadebitnotes -c $CONTEXTFILE -a $ACCOUNTNUM --fill-gaps --importer=csv --profile=sepalast --infile=input.csv
0020 - Auftrag zur Ausführung vorgemerkt. (S)
Viel Glück!