Details zur Verarbeitung von Auszahlungen und Überweisungsträgern

Einführung

Dieses Kapitel beschreibt den Prozess zur Verarbeitung von Auszahlungen zu einer Überweisungsdatei, welche an die Bank übergeben wird.

Alle aktuell im System erzeugten Auszahlungen können in dieser Maske eingesehen werden. Die finalen Überweisungsträger können in dieser Maske heruntergeladen werden.

Prozess

Alle Auszahlungen werden in einem Activiti-Prozess (PaybackExecution) abgearbeitet. Dieser Prozess startet täglich um 05:00. Folgendes Diagramm zeigt den Prozess in seiner BPMN-Definition:

PaybackExecution Prozess

Lade Auszahlungsaufträge

Es werden ausschließlich Auszahlungen geladen, die den Status Freigegeben oder Abgelehnt erreicht haben. Diese Status lassen sich in der Maske Auszahlungen vergeben. Es wird keine Unterscheidung nach dem Freigabedatum getroffen, d.h. in dem Moment, in dem eine Auszahlung freigegeben wurde, wird sie im nächsten Prozesslauf weiter verarbeitet.

Auszahlungsaufträge ausführen

Alle im vorherigen Schritt ermittelten Auszahlungen werden nach Sparte (z.B. Strom/Gas) und Status (freigegeben, abgelehnt) sortiert.

Für alle freigegebenen Auszahlungen wird durchführt:

  • Die Buchungskette (6 -> 302 -> 208) wird ausgeführt
  • Das Exportdatum (entspricht Erstellungsdatum (Überweisungsträger)) wird auf den aktuellen Zeitstempel gesetzt
  • Das Ausführungsdatum wird gemäß Konfiguration berechnet
  • Der Status der Auszahlung wird auf Ausgeführt gesetzt
  • Ist die Quelle der Auszahlung ein Sofortbonus, wird dessen Status auf Ausgeführt gesetzt

Alle abgelehnten Auszahlungen werden wie folgt behandelt:

  • Die Buchungen zur dieser Auszahlung werden storniert
  • Der Status der Auszahlung wird auf Abgelehnt und ausgeführt gesetzt
  • Ist die Quelle der Auszahlung ein Sofortbonus, wird dessen Status auf Abgelehnt und ausgeführt gesetzt

Überweisungsdatei erstellen

Alle im vorherigen Schritt ausgeführten Auszahlungen werden nun in eine Überweisungsträger-Datei verarbeitet. Diese folgt einem Standard-XML Schema (pain.001.001.03_GBIC_2.xsd). Das Erstellungsdatum entspricht dem aktuellen Zeitstempel.

Ausführungsdatum

In diesem Kapitel wird die Berechnung des Ausführungsdatums (teilweise auch synonym verwendet als Auszahlungsdatum) für eine Auszahlung beschrieben und anhand von Beispielen dargestellt.

Wird ein Überweisungsträger für die Bank erstellt, kann dieser beliebig viele Auszahlungen enthalten. Jede dieser Auszahlungen kann ein anderes Ausführungsdatum haben. Für alle diese Auszahlungen ist das Exportdatum jedoch identisch, denn es ist das Erstellungsdatum des Überweisungsträgers.

Für die Bank ist das Ausführungsdatum entscheidend, zu welchem Datum sie die Transaktion ausführen soll. MBS hat darauf keinen Einfluss, sondern kann nur eine möglichst sinnvolle Vorgabe ermitteln. Im Rahmen der hier vorgestellten Konfiguration und Ermittlungslogik treffen wir die folgenden Annahmen:

  • eine Auszahlung soll zum Fälligkeitsdatum dem Konto des Kunden gutschreiben sein
  • dazu muss das Ausführungsdatum vor dem Fälligkeitsdatum liegen
  • es muss das Exportdatum vor dem Ausführungsdatum liegen
  • die Übergabe des Überweisungsträgers erfolgt nach dem Export, aber vor dem Ausführungsdatum

Für die Konfiguration werden folgenden Grundeinstellungen benötigt:

Standardfall

Bei Ausführung einer freigegebenen Auszahlung wird das Ausführungsdatum gemäß der Beschreibung von PAYBACK_INTERVAL_BETWEEN_EXECUTION_AND_DUE_DATE ermittelt. D.h. es wird die angegebene Anzahl an Werktagen zum Fälligkeitsdatum der Auszahlung addiert. Ein negativer Wert, somit auch der Standardwert -1, führt dazu, dass das Ausführungsdatum vor dem Fälligkeitsdatum liegen wird.

Die folgende Grafik zeigt eine kleine Auswahl von möglichen, validen Fällen. Wenn in diesem Schritt eine Berechnung des Ausführungsdatums ergibt, dass dieses vor dem Exportdatum liegt, kommt es zu einer entsprechenden Behandlung, die als Underflow im nachfolgenden Kapitel beschrieben wird.

Auszahlungsdatum Standardfall

Ausführungsdatum mit Underflow

Als Underflow bezeichnen wir die Situation, wenn aufgrund der Berechnung des Ausführungsdatums dieses vor oder genau auf dem Exportdatum liegt.

Diese Situation kann unterschiedliche Auslöser haben:

  • Konfiguration von PAYBACK_INTERVAL_BETWEEN_EXECUTION_AND_DUE_DATE ist ein negativer Wert (wie im Standard -1) und das Ergebnis der Verrechnung dieses Werts mit dem Fälligkeitsdatum ergibt ein Datum vor dem Exportdatum. Beispiel: Fälligkeitsdatum 15.01., Exportdatum 14.01. und das Intervall ist mit -2 konfiguriert. Ausführungsdatum: 15.01. - 2 Tage = 13.01. < 14.01.
  • Konfiguration von PAYBACK_INTERVAL_BETWEEN_EXECUTION_AND_DUE_DATE ist ein positiver Wert und das Fälligkeitsdatum liegt in der Vergangenheit (die Freigabe ist beispielsweise zu spät erfolgt). Beispiel: Fälligkeitsdatum 15.01., Exportdatum 18.01. und das Intervall ist 2 konfiguriert. Ausführungsdatum: 15.01. + 2 Tage = 17.01. < 18.01. Dieses Beispiel kann auch mit einem negativen Intervall herbeigeführt werden, der Abstand zwischen Export- und Fälligkeitsdatum muss nur entsprechend angepasst werden.

Die Bedingung, dass das Ausführungsdatum am Tag des Exports auch zu einem Underflow führt, ist auf die Annahme zurückzuführen, dass der Überweisungsträger am gleichen Tag nicht mehr von der Bank verarbeitet wird, an dem er erstellt wurde.

Kommt es zu einer Underflow-Situation, greift nun die Grundeinstellung PAYBACK_INTERVAL_BETWEEN_EXPORT_AND_EXECUTION_DATE_UNDERFLOW (Standardwert 1). Das Ausführungsdatum wird neu berechnet, in dem der Wert dieser Grundeinstellung auf das Exportdatum in Werktagen addiert wird. Es sind nur positive Werte (und 0) möglich, damit garantiert ein Wert berechnet wird, der nicht vor dem Exportdatum liegt. Wird durch den Kunden diese Grundeinstellung mit 0 konfiguriert, ist es möglich, dass Exportdatum = Ausführungsdatum dennoch berechnet wird. Diese Konstellation wird in der Underflow-Behandlung nicht mehr abgefangen. Außerdem wird das Fälligkeitsdatum nicht weiter berücksichtigt. Es kann also sein, dass in einer Underflow-Situation, ein Ausführungsdatum nach dem Fälligkeitsdatum berechnet wird, auch wenn die Grundeinstellung PAYBACK_INTERVAL_BETWEEN_EXECUTION_AND_DUE_DATE mit einem negativen Wert belegt ist.

Die folgenden Diagramme veranschaulichen typische Underflow-Situationen.

Auszahlungsdatum Underflow

Ausführungsdatum manuell setzten

In der Maske Auszahlungen kann man über den Knopf “Ausführungsdatum ändern” für ausgewählte Auszahlungen deren Ausführungsdatum ändern. Dies ist für alle Einträge möglich, deren Status nicht Ausgeführt, Abgelehnt oder Abgelehnt und ausgeführt ist und deren Exportdatum leer ist.

Wird auf diese Weise das Ausführungsdatum manuell gesetzt, wird bei Ausführung der Auszahlung dieses Datum genommen. Die Konfiguration PAYBACK_INTERVAL_BETWEEN_EXECUTION_AND_DUE_DATE wird nicht verwendet.

Allerdings wird geprüft, ob weiterhin die Bedingung erfüllt ist, dass das Ausführungsdatum nach dem Exportdatum liegt. Ist dies nicht der Fall, kommt es zu einer regulären Underflow-Situation.