Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 
MT940
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Beiträge: 4
Dabei seit: 06 / 2015
Betreff:

Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 30.06.2015 - 17:24 Uhr  ·  #1
Wir exportieren regelmäßig Umsätze aus Hibiscus im MT940-Format, um sie weiterzuverarbeiten.

Gibt es eine Chance, vorgemerkte Umsätze eindeutig zu erkennen in den MT940-Daten?
Holger Fischer
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Alter: 53
Beiträge: 6205
Dabei seit: 02 / 2003
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 30.06.2015 - 19:21 Uhr  ·  #2
Das Datenformat MT940 ist nur für gebuchte Umsätze vorgesehen. Daher gibt es ausser ggf. ein Buchungsdatum in der Zukunft keine Mechanismen vorgemerkte Umsätze zu kennzeichen.
Vorgemerkte Umsätze werden ansonsten im MT942 transportiert.

Erst in einem der camt Formate werden die Umsätze entsprechend gekennzeichnet.

Viele Grüße

Holger
CBC
Benutzer
Avatar
Geschlecht:
Herkunft: Bonn
Homepage: viaembedded.com
Beiträge: 81
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 30.06.2015 - 21:01 Uhr  ·  #3
Liegt ein vorgemerkter Umsatz nicht immer in der Zukunft? Ich finde das Kriterium eigentlich relativ eindeutig, aber es kommt natürlich darauf an, was man denn genau machen will und welche Weiterverarbeitung denn stattfindet. Grundsätzlich würde ich mir natürlich für Hibiscus auch noch eine Armada an Kommandozeilen Optionen wünschen um solche Dinge einfach realiesieren zu können. Ich freue mich jedenfalls immer sehr darüber, dassw sich Hibiscus auf MySQL als Backend versteht, da kann man mit den Daten echt eine Menge machen ...
Holger Fischer
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Alter: 53
Beiträge: 6205
Dabei seit: 02 / 2003
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 30.06.2015 - 22:01 Uhr  ·  #4
Zitat geschrieben von CBC

Liegt ein vorgemerkter Umsatz nicht immer in der Zukunft?

Leider nein. Die meisten vorgemerkten Umsätze sind vom eigentlichen Buchungstag (z.B "heute"). Vorgemerkte Umsätze bedeutet schlicht, dass die noch nicht komplett verbucht sind (passiert bei vielen Banken erst in der Nacht), sondern nur zur Buchung vorgemerkt sind. Bis zur echten Buchung kann somit noch einiges passieren! Umgekehrt sind Buchungen mit einem Datum in der Zukunft auch durchaus wirklich schon gebucht und nicht nur vorgemerkt.
CBC
Benutzer
Avatar
Geschlecht:
Herkunft: Bonn
Homepage: viaembedded.com
Beiträge: 81
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 30.06.2015 - 23:46 Uhr  ·  #5
Hmm, schade. Wäre ja auch zu einfach gewesen. Ich hatte in diesem Zusammenhang an Umsätze gedacht, die z.B. zwei Wochen in der Zukunft liegen, aber noch ohne Wertstellung. Bei der VR Bank hatte ich so was schon mal gesehen,, allerdings im Online-Banking-Portal. Theoretisch könnte der Umsatz ja noch gecanceled werden.

Aber wie gesagt, vielleicht erklärt uns der Starter dieser Diskussion ja was er genau vorhat. Wenn es nur um 'Informationen' handelt, ist es ja evtl. unproblematisch, wenn tatsächlich etwas davon abhängt, sollte die Buchung natürlich nachweislich durchgeführt worden sein.
MT940
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Beiträge: 4
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 00:08 Uhr  ·  #6
Ist ja lustig, dass Sie auch aus Korschenbroich sind, Herr Fischer :)

Wir möchten gern nur tatsächlich gebuchte und keine vorgemerkten Umsätze aus den MT940-Daten in unsere Software zur weiteren Verarbeitung einlesen. Es soll möglich sein, beliebige MT-940-Dateien auch mehrfach einzulesen. Dabei soll erkannt werden, welche Daten bereits eingelesen wurden, diese sollen ignoriert werden. Bisher ist es öfters vorgekommen, dass Daten doppelt eingelesen wurden, was wir verhindern möchten.

Die vorgemerkten Datensätze tauchen zu einem späteren Zeitpunkt in teilweise veränderter Form erneut auf, so ist die Frage, wie man eindeutig vergleichen kann, ob der Datensatz schon mal als vorgemerkt da war und nun der gebuchte Datensatz ist. Entweder möchten wir die vorgemerkten gar nicht erst importieren oder aber die importierten vorgemerkten durch die tatsächlichen später ersetzen.

Z.B. war es teilweise so, das bei einem vorgemerkten Datensatz das Saldo auf 0 steht, oder das oft Buchungs- und Valuta-Datum nicht gleich sind. Aber eine eundeutige genaue Regel ließ sich bisher nicht erkennen?
Holger Fischer
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Alter: 53
Beiträge: 6205
Dabei seit: 02 / 2003
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 09:24 Uhr  ·  #7
Zitat geschrieben von MT940

Wir möchten gern nur tatsächlich gebuchte und keine vorgemerkten Umsätze aus den MT940-Daten in unsere Software zur weiteren Verarbeitung einlesen. Es soll möglich sein, beliebige MT-940-Dateien auch mehrfach einzulesen. Dabei soll erkannt werden, welche Daten bereits eingelesen wurden, diese sollen ignoriert werden. Bisher ist es öfters vorgekommen, dass Daten doppelt eingelesen wurden, was wir verhindern möchten.

Das sind zwei völlig unterschiedliche Problemstellungen - Leider. Wobei hier als Filter hbiscus ja dazwischen ist und sich das Problem damit vielleicht ja sogar reduziert.
Vorgemerkte Buchungen:
Wie hier schon von CBC richtig beschrieben wurde, sind vorgemerkte Buchungen eigentlich noch nicht gebuchte Umsätze, die ggf. auch gar nicht oder nicht exakt so gebucht werden.
Davon unterscheiden muss man Umsätze, die bereits z.B. nach einem Buchungsschnitt auf den folgenden Bankarbeitstag gebucht wurden. Diese Umsätze liegen zwar in der Zukunft, sind aber gebucht (hier im Forum gibt es z.B. bei Bank X gerade eine müßige Diskussion dazu wer Schuld hat, wenn diese nicht abgerufen werden…)

Da der MT940 nicht dafür vorgesehen ist, vorgemerkte Umsätze zu transportieren gibt es in der Tat die eine oder andere Bank die da trickst (die MT940 Varianten mancher Bank sind…..mhhhh kreativ……..) um vorgemerkte Umsätze mit dem MT940 zu transportieren. Da das nicht vorgesehen ist, ist es in der Tat schwierig, diese als solche zu erkennen und auszusortieren. Vermutlich zuverlässiger ist es, diese als gebuchte Umsätze anzusehen und mit der zweiten Problematik zu verbinden.

Doppelte Einarbeitung vermeiden
Das Problem aller hier vertretenden Softwareprodukte. Wie stelle ich sicher, dass Umsatzinformationen, die ich erneut abrufe nicht doppelt eingearbeitet werden. Hier gibt es vermutlich keine 100% ige Lösung, aber die meisten Produkte haben für sich Methoden entwickelt, die nahe an die 100% zu kommen scheinen. Grundprobelm ist, dass sich bereits abgerufene Umsätze in einigen Details durchaus noch ändern können, die Reihenfolge der abgerufenen Umsätze nicht zwingend immer gleich ist, Buchungen auch mal storniert werden usw. Es gibt hier leider keinen Paradeweg. Ich meine aber, dass es auf den Entwicklungsseiten von hibiscus mal eine Diskussion zu möglichen Ansätzen gegeben hat. Ggf. wirst Du da ja fündig.

Zitat geschrieben von MT940

Ist ja lustig, dass Sie auch aus Korschenbroich sind

Wie klein die Welt ist. Ich komme sogar direkt aus Korschenbroich! Wenn die Problemstellung vertieft werden soll, ergibt sich ja ggf. eine Gelegenheit im Bolten Biergarten ;-)
CBC
Benutzer
Avatar
Geschlecht:
Herkunft: Bonn
Homepage: viaembedded.com
Beiträge: 81
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 11:43 Uhr  ·  #8
Sehr interessante Diskussion übrigens!

Mein zumindest beschreibender Lösungsansatz wäre folgender:

- Das "Problem" liegt nicht bei Hibiscus, sondern in der >>Software<<, die die Daten aus Hibiscus weiterverarbeiten soll

- Hibiscus kann (oder ist per Default vielleicht schon so) so konfiguriert werden, dass keine vorgemerkten Umsätze abgeholt werden. Im Hibiscus-Server ist diese Option nämlich standardmässig deaktiviert

- Meiner Meinung dürfte sich dann eine Buchung nur im Datum ändern, bzw. darauf hin überprüft werden um die Sache zu vereinfachen, da dies die einzige "zulässige" Variable ist, denn ändern sich Betrag, Konto, Verwendungszweck, so ist der Datensatz nicht mehr der "gleiche". Dies wäre auch eindeutig und ist z.B. eine gängige Variante in Datenbanken um derlei Funktionalität abzubilden (vgl. SQL UNIQUE Constraint)

Technisch gesehen sollten also alle Parameter des Datensatzes, die sich nicht mehr ändern, aber hinreichend für eine eindeutige Identifizierung sind, mit einer Prüfsumme berechnet werden, z.B. CRC, denn dann wäre folgendes Szenario sichergestellt:

1. Ändert sich nur das Buchungsdatum, so würde der Datensatz einfach upgedatet

2. Hat sich nichts geändert, bleibt der Datensatz unberührt, bzw. würden ein erneuter Import einfach verworfen um keine Dublette zu erzeugen.

3. Ist kein Datensatz mit dem gleichen z.B. CRC Code vorhanden, so ist es ein neuer Datensatz, der dann verarbeitet wird

Bietet die Software >>Software<< nicht die Möglichkeit dies zu integrieren bzw. ist es nicht möglich die >>Software<< für diese Funktionalität zu modifizieren, so bleibt nur die Verarbeitung über einen Zwischenschritt, d.h. eine weiteres zwischen Hibiscus und der >>Software<< sitzendes Programm oder Script, dass diese Funktionalität übernimmt.
MT940
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Beiträge: 4
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 12:46 Uhr  ·  #9
Da wir die Software selbst schreiben, haben wir da alle Möglichkeiten :-)

Habe zunächst folgende Frage: Meinen die beiden Begriffe "vorgemerkte Umsätze" und "Vormerkposten" dasselbe oder sind das zwei verschiedene Dinge?

Ist es richtig, dass
- Vormerkposten/vorgemerkte Umsätze immer nur in einen Export im Format MT942 gehören
und
- nicht gebuchte Umsätze keinesfalls im MT940-Export enthalten sein dürften?

Kann Hibiscus mittels hbci4java eindeutig erkennen, ob es sich um einen "vorgemerkte Umsätze/Vormerkposten"-Datensatz handelt, der da von der Bank kommt, so dass das Flag 'umsatz.fetchnotbooked' (nicht gebucht) in jedem Fall stimmt und bei der entsprechenden Einstellung im Hibiscus also solche nicht gebuchten Umsätze von hibiscus nicht im MT940-Format exportiert werden?
Wie sieht das bei anderer Banking-Software bzw. beim direkten Export der MT940-Daten von den Banken (z.B. Homepage-Export) aus?
MT940
Benutzer
Avatar
Geschlecht:
Herkunft: Korschenbroich
Beiträge: 4
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 12:49 Uhr  ·  #10
Zitat

Wie klein die Welt ist. Ich komme sogar direkt aus Korschenbroich! Wenn die Problemstellung vertieft werden soll, ergibt sich ja ggf. eine Gelegenheit im Bolten Biergarten ;-)

Bin in Korschenbroich aufgewachsen und unser Unternehmen hat hier seinen Sitz, noch in Liedberg, bald in Pesch. Können wir gerne machen mit dem Biergarten :-)
CBC
Benutzer
Avatar
Geschlecht:
Herkunft: Bonn
Homepage: viaembedded.com
Beiträge: 81
Dabei seit: 06 / 2015
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 01.07.2015 - 13:45 Uhr  ·  #11
Die Begriffe "vorgemerkte Umsätze" und "Vormerkposten" meinen dasselbe.Auch ist es richtig, dass M942 ausschließlich hierfür verwendet wird, alles was tatsächlich gebucht wurde ist MT940.

Ich habe in Hibiscus noch nie erlebt, dass ein vorgemerkter Umsatz abgeholt wurde, obwohl ich in der cfg/de.willuhn.jameica.hbci.HBCI.properties den Eintrag umsatz.fetchnotbooked=false stehen habe, daher würde ich sagen, dass der Mechanismus absolut zuverlässig funktioniert.

Wie das bei anderer Banking-Software funktioniert kann ich leider nicht sagen, auch nicht wie sich das Exportverhalten von Hibiscus verhält, allerdings würde ich mal mutmaßen, dass Hibiscus dies schon korrekt abhandelt.

Ich kann wie gesagt die kombination aus Hibiscus-Server mit MySQL Backend empfehlen, da man da sehr frei ist und quasi Zugriff auf die "Rohdaten" hat. Wenn ich mal wieder Zeit habe, setzte ich in der Kombination mal eine Hochverfügbarkeits-Lösung auf, da. Zwei Redundante Hibiscus-Server mit zwei redundanten MySQL Servern mit einer virtuellen IP Adresse für maximale Ausfallsicherheit..

Mein letztes Projekt war die Anbindung von DataVision (http://datavision.sourceforge.net/) an die Hibiscus Datenbank um einen "elektronischen Kontoauszug" nachzubilden. Datavision taugt aber auch um die Daten automatisch in eine Datei zu exportieren, um sie dann weiterverarbeiten zu können. Also könnte man mit DataVision auch den automatischen kriterienabhängigen Export in das MT940/942 Format nachbilden, ohne das jemand vor Hibiscus sitzt und alles per Hand bedient.
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10838
Dabei seit: 03 / 2005
Betreff:

Re: Vorgemerkte Umsätze erkennen im MT940-Export aus Hibiscus

 · 
Gepostet: 02.07.2015 - 14:26 Uhr  ·  #12
"umsatz.fetchnotbooked=false" funktioniert zuverlaessig. Denn die gebuchten und vorgemerkten Umsaetze befinden sich beim Abruf in zwei getrennten Datenstrukturen (gebuchte in MT940, vorgemerkte wie Holger schon schrieb in MT942). Ist das Flag in der Config-Datei auf false gestellt, werden die im MT942-Block empfangenen Daten schlicht ignoriert und nicht in die Hibiscus-Datenbank uebernommen. Noch ein Wort zur Doppler-Erkennung: Hibiscus fuehrt hierzu in der Spalte "checksum" der SQL-Tabelle "umsatz" eine CRC32-Checksumme ueber die relevanten Eigenschaften einer Buchung (Datum, Betrag, Verwendungszweck,...). Beim Neuabruf von Umsaetzen werden fuer die neuen Umsaetze die Checksummen on-the-fly berechnet und mit denen in der Datenbank verglichen. Neu zur Datenbank hinzugefuegt werden nur jene, deren Checksumme noch nicht in der Datenbank gefunden wurde (es sei denn, innerhalb eines Abrufes existieren 2 oder mehr Buchungen mit der selben Checksumme - dann sind es tatsaechlich mehrere gleich aussehende aber getrennte Buchungen). Die Checksumme wird mit in der Datenbank gespeichert, damit der User anschliessend bei Bedarf die Eigenschaften der Buchung aendern kann (Betrag, Verwendungszweck,...) und Hibiscus beim naechsten Abruf die Buchung dennoch wieder korrekt zuordnen kann (da die Checksumme ja noch auf den originalen unveraenderten Daten basiert und nicht mit aktualisiert wurde).
Gewählte Zitate für Mehrfachzitierung:   0