Unterschied csv Download und hbci im Verwendungszweck

23 views
Skip to first unread message

Ingo Renner

unread,
Sep 23, 2018, 4:38:46 PM9/23/18
to hbci4java
Hallo,

ich bin mit der Einbindung der HBCI Schnittstelle nach langer pause mal wieder gestartet. Dabei fällt mir gerade auf, das der Inhalt des Verwendungszwecks in den usage Feldern beim HBCI Abruf zu denen Abweicht, die ich bekomme, wenn ich die Bankauszüge per csv Datei hole.

Die Bank ist die ING Diba

hier ein Beispiel:
               NR6047154035 DORTMUND HO KAUFUMSATZ 11.08 161836 ARN24463688224912243778519
usage:   [SVWZ+NR6047154035 DORTMUND , HOKAUFUMSATZ11.08161836ARN2, 4463688224912243778519]
          SVWZ+NR6047154035 DORTMUND HO_KAUFUMSATZ_11.08_161836_ARN24463688224912243778519

Zeile 1 ist der String, den ich in der CSV erhalte,
Zeile 2 ist ein Ausschnitt der  Ausgabe von toString auf UmsLine mit der gleichen Bank Transaktion

Die Konstante SVWZ+ habe ich per Google gefunden. Mir ist nur nicht klar, ob es da ein definiertes Muster gibt, wo ich Leerzeichen einfügen muss.
In Zeile 3 habe ich anstatt der Leerzeichen Underscores eingefügt, um die Stellen der Manipulation sichtbar zu machen.
Und was bedeutet 161836 in Zeile 3, in einer andren Transaktion steht.08174437ARN -> 08 174437ARN
In dem Beispiel stimmt 11.08 mit dem Tag der Buchung

Mein Problem ist nun, das ich in meiner Datenbank Einträge der letzten Jahre habe, wo der Verwendungszweck in einem festen Format drin steht. Und ich habe Filter, die darauf arbeiten. Zwischendurch hat die Diba auch schon mal das Format in den CSV Dateien geändert, daraufhin habe ich meinen Parser angepasst, damit die Datenbankeinträge kompatibel bleiben und Dubletten erkannt werden können (Es blieb nicht nur beim Leerzeichen).

Ist das etwas, was sich irgendein Entwickler bei der Diba ausgedacht hat,oder folgt dies einem allgemein spezifiziertem Muster, woran sich alle halten können, dann würde ich das gerne auch so in meinem Programm übernehmen.

Viele Grüße,
    Ingo Renner

Olaf Willuhn

unread,
Sep 24, 2018, 5:06:42 AM9/24/18
to hbci...@googlegroups.com
Hallo,

> Die Bank ist die ING Diba
>
> hier ein Beispiel:
>                NR6047154035 DORTMUND HO KAUFUMSATZ 11.08 161836
> ARN24463688224912243778519
> usage:   [SVWZ+NR6047154035 DORTMUND , HOKAUFUMSATZ11.08161836ARN2,
> 4463688224912243778519]
>           SVWZ+NR6047154035 DORTMUND
> HO_KAUFUMSATZ_11.08_161836_ARN24463688224912243778519
>
> Zeile 1 ist der String, den ich in der CSV erhalte,
> Zeile 2 ist ein Ausschnitt der  Ausgabe von toString auf UmsLine mit der
> gleichen Bank Transaktion

Das ist darin begruendet, dass das MT940-Format, welches fuer den Abruf
der Umsaetze verwendet wird, eigentlich gar nicht fuer SEPA tauglich
ist. Dennoch muessen die neuen SEPA-Informationen (u.a. auch
Kundenreferenz, End-To-End-ID, usw.) ja irgendwie transportiert werden.
Daher codieren die Banken das mit diesen SEPA-Tags in den
Verwendungszweck rein.

> Die Konstante SVWZ+ habe ich per Google gefunden. Mir ist nur nicht
> klar, ob es da ein definiertes Muster gibt, wo ich Leerzeichen einfügen
> muss.

Es gibt dazu sowas aehnliches wie einen Standard. Die meisten Banken
haben sich da auf ein einigermassen einheitliches Vorgehen verstaendigt.
Richtig offiziell ist dieser Standard aber nicht und manche Banken
halten sich auch nicht sauber an die Formatierungen. Unter
https://www.dzbank.de/content/dam/dzbank_de/de/home/produkte_services/Firmenkunden/PDF-Dokumente/transaction%20banking/elektronicBanking/SEPA-Belegungsregeln_MT940-DK_082016.~644b217ec96b35dfffcaf18dc2df800a.pdf
findest du hierz z.Bsp. etwas.

> Ist das etwas, was sich irgendein Entwickler bei der Diba ausgedacht
> hat,oder folgt dies einem allgemein spezifiziertem Muster, woran sich
> alle halten können, dann würde ich das gerne auch so in meinem Programm
> übernehmen.

Es machen eigentlich alle Banken so. Aber nicht wirklich 100%ig einheitlich.

Gruss
Olaf

Ingo Renner

unread,
Sep 30, 2018, 2:23:06 PM9/30/18
to hbci4java
Hallo Olaf,

danke für die Info.

Viele Grüße,
    Ingo
Reply all
Reply to author
Forward
0 new messages