KONTOPRUEF-Logo
Sehen Sie sich auch mein anderes Produkt an:
myebilanz – die Freeware-eBilanz aus MySQL und CSV!
myebilanz

Datenstruktur : MT940 (Non-Swift)

Für die MT940-Sätze (Non-Swift) gilt die Vereinbarung :

  • Trennzeichen ist normalerweise die Zeichenfolge <CR><LF> (ASCII 13 + 10). Alternativ kann die für BTX verwandte Zeichenfolge <@><@> (ASCII 64 + 64) benutzt werden.
  • Alle Zeichen vor dem ersten Trennzeichen werden ignoriert. Hier können beliebige Kommentare oder Längenangaben eingefügt werden.
  • Die Reihenfolge der Satzteile sollte eingehalten werden.
  • Nicht aufgeführte Sätze werden ignoriert, führen aber nicht zu Fehlern.
  • Feldprüfungen :

  • Alle Felder werden entsprechend ihres Typs beim Einlesen umgewandelt. Für alle Felder gilt grundsätzlich, daß die Umwandlung beim ersten ungültigen Zeichen beendet wird, z. B:

    Numerisches Feld mit Nachkommastellen 00045,2kk ==> 45,2
      00kk ==>  0,0
    Numerisches Feld ohne Nachkommastellen 00045,2kk ==> 45
    Datum 01069k ==> __.__.__

    Bei numerischen Feldern kann als Dezimaltrennung anstelle des Kommas auch der Dezimalpunkt verwendet werden.

  • Einige Felder des MT940-Satzes werden auf dem Kundenrechner nicht in den Stammdaten gespeichert und kommen deshalb beim Kunden nicht zur Anzeige. Dies sind :

    NS26 Zielkonto
    NS27 DM-Gegenwert
    NS28 Originaldevisenkurs
    NS29 Bewertungskurs

  • Die vom Bankrechner abgeholten MT940-Sätze werden auf dem Kundenrechner auf Formatfehler geprüft.

    Jedem Pflichtfeld ist ein Wert zugeordnet. Die Summe aller Werte muß bei Umsätzen (STARTUMS) 63 und bei Vormerkposten (STARTDISP) 35 sein. Wird diese Summe bei den Umsätzen und / oder den Vormerkposten nicht erreicht, liegt ein Fehler vor, und es erfolgt eine Bildschirmmeldung.

    Die Bildschirmmeldung weist hinter dem Text "Fehlermeldung : MT940-Satz unvollständig" einen Wert auf. Sie subtrahieren diesen angezeigten Wert von dem für Umsätze bzw. Vormerkposten vorgeschriebenen Sollwert und erhalten eine Zahl. Anhand dieser Zahl läßt sich aufgrund der nachstehenden Tabelle nachlesen, welche Pflichtfelder fehlerhaft sind.

  •  

    Wert fehlerhaftes Pflichtfeld

    betroffenes Pflichtfeld

    1

    :20:

    2

    :25:

    4

    :28:

    8

    :60F:

    16

    :62F:

    32

    NS30

    Dazu ein Beispiel :

    Es wurden Umsätze eingelesen.

    Die Fehlermeldung weist den Wert 31 auf.

    Der Sollwert für das korrekte Einlesen von Umsätzen ist 63.

    Sie subtrahieren die Fehlermeldung vom Sollwert und erhalten den Wert des fehlerhaften Pflichtfeldes, hier : 63 - 31 = 32.

    Das fehlerhafte Feld ist die Bankleitzahl.

Die MT940-Sätze (Non-Swift) verfügen über den in der nachfolgenden Tabelle beschriebenen Aufbau.

In den einzelnen Spalten der Tabelle kommen Abkürzungen mit folgender Bedeutung vor :

Spalte "maximale Länge in Bytes"
  v = variable Feldlänge
  f = feste Feldlänge
Spalte "Format"
  an = alphanumerisch
      Buchstaben A bis Z, Ziffern 0 bis 9, ggfs. Sonderzeichen
  n = numerisch
      nur Ziffern 0 bis 9, ggfs. Sonderzeichen
Spalte "Wahl / Pflicht"
   w  = wahlfreies Feld
      kann, muß aber nicht, einen Eintrag enthalten
  p  = Pflichtfeld
      muß einen Eintrag enthalten
Formate  JJ  = Jahreszahl ohne Jahrhundert
  MM  = Monatszahl, ggfs. mit führender Null
  TT  = Tageszahl, ggfs. mit führender Null
  HH  = Stundenzahl in 24er Einteilung, ggfs. mit führender Null
  MM  = Minutenzahl, ggfs. mit führender Null

 

MT940 : Non-Swift
Feldnummer /Feldbezeichnung

max. Länge in Bytes

Format w / p Inhalt

:20:
Satzart

8 f oder 9 f

an

p

STARTUMS : Kontoauszüge
STARTDISP : Disponierte Umsätze

         

<CR><LF>:25:
Kontonummer

24 v

an

p

Ohne das Zeichen "/"; führende Nullen oder Leerzeichen werden überlesen

         

:28C: Auszugsnummer

9 v

n p

Belegung: "0" oder xxxxx/yyy
wobei
xxxxx = Auszugsnummer

yyy = Blatt-Nr. beginnend mit 1

Bis zum 01.01.1999 kann das Kreditinstitut anstatt Feld 28C auch Feld 28 in der Form xxxxx/yy liefern.

         
<CR><LF>:NS:     p  

22 Kontoinhaber
<CR><LF>

35 v an w  

23 Kontosonderbez.
<CR><LF>

35 v an w  

24 Zinssatz
<CR><LF>

8 v n w Komma (,) als Zeichen zugelassen

25 Laufzeit von .. bis
<CR><LF>

12 f n w Datumsfeld im Feld TTMMJJTTMMJJ

30 Bankcode (BLZ)
<CR><LF>

12 v an p Ohne das Zeichen "/"

31 Teilnehmernummer
<CR><LF>

8 f n w Wird für die automatische Neuaufnahme des Kontos auf dem Bankrechner benötigt.

32 Kontoart
<CR><LF>

3 f n w

Schlüsselziffern :

000 = Keine Angaben
010 = Kontokorrent
020 = Tagesgeld
030 = Termingeld
040 = Darlehen
050 = durchlaufende Kredite
060 = Avale
070 = Akkreditive
080 = Obligo
090 = Spargeschäft
100 = Schuldverschreibungen
900 = Sondergeschäfte

         

<CR><LF>:60x:
Saldo

25 v

p p

nur bei STARTUMS

x = F bei Anfangssaldo
x = M bei Zwischensaldo
alles andere als "F" wird als "M" interpretiert.
VOR JEDEM Zwischensaldo müssen die Felder :20:, :25: und :28: ausgegeben werden.

Subfeld 1
Soll/Haben Kennung

1 f an  

C = Credit (Haben)
D = Debit (Soll)
alles andere als "D" wird als "C" interpretiert.

Subfeld 2
Auszugsdatum

6 f n   Format : JJMMTT

Subfeld 3
Währung

3 f an   Währung lt. ISO-Code 4217

Subfeld 4
Betrag

15 v n  

Betrag in Kontowährung mit Komma (,) als Trennzeichen;
führende Nullen oder Leerzeichen werden überlesen

         

<CR><LF>:61:
Umsatzzeile

    p Wird pro Umsatz ausgegeben

Subfeld 1
Valuta

6 f n p Format : JJMMTT

Subfeld 2
Buchungsdatum

4 f n w Format : MMTT

Wenn das Buchungsdatum nicht gefüllt ist, wird hier das Auszugsdatum eingetragen; es sei denn, es handelt sich um Vormerkposten. In diesem Fall steht hier die Valuta.

Subfeld 3
Soll/Haben Kennung

2 v an p

C = Credit (Haben)
D = Debit (Soll)
RC = Storno Credit
RD = Storno Debit

Subfeld 4
Währung

1 f an p letzte Stelle ISO-Code

Subfeld 5
Betrag

15 v n p

Betrag in Kontowährung mit Komma (,) als Trennzeichen;
führende Nullen oder Leerzeichen werden überlesen

Subfeld 6
Buchungsschlüssel

4 f an p

1. Stelle S = Swift oder N = Non-Swift
F = Fix

3 Stellen Buchungsschlüssel

Subfeld 7
Referenz

16 f an w

Kundenreferenz / Schecknummer; bei Nichtbelegung wird NONREF eingestellt

         
<CR><LF>:NS:        

01 Verwendungszweck
<CR><LF>

27 v an w  

dito 02 - 14
<CR><LF>

13*27 v an w  

15  Auftraggeber
<CR><LF>

27 v an w  

dito 16
<CR><LF>

27 v an w  

17 Buchungstext
<CR><LF>

27 v an w  

18 Primanotennummer
<CR><LF>

10 v n w Führende Nullen oder Leerzeichen werden überlesen.

19 Uhrzeit der Buchung
<CR><LF>

4 f n w Format : HHMM

20 Anzahl Sammlerposten
<CR><LF>

5 v n w Führende Nullen oder Leerzeichen werden überlesen.

33 Auftraggeberbank
<CR><LF>

12 v an w  

34 Konto-Nummer Auftraggeber

24 v an w  
         
<CR><LF>:62x:
Schlußsaldo
    p

nur bei STARTUMS

x = F bei Schlußsaldo
x = M bei Zwischensaldo
alles andere als "F" wird als "M" interpretiert.

Subfeld 1
Soll/Haben Kennung

1f an p

C = Credit (Haben)
D = Debit (Soll)
alles andere als "D" wird als "C" interpretiert.

Subfeld 2
Buchungsdatum

6f n p

Format : JJMMTT
aktuelles Buchungsdatum; muß mit dem Datum aus Feld :60: übereinstimmen.

Subfeld 3
Betrag
<CR><LF>

15v n p Betrag mit Komma (,) als Trennzeichen; führende Nullen oder Leerzeichen werden überlesen.
         

:86: Mehrzweckfeld
<CR><LF>

65 v

an

 

w  

Mehrzweckfeld
<CR><LF>

65 v an w  

 Mehrzweckfeld
<CR><LF>

65 v an w  
         

27 DM-Gegenwert
<CR><LF>

15 v n w Komma (,) ist zugelassen.

28 Original-Devisenkurs
<CR><LF>

10 v n w Komma (,) ist zugelassen.

29 Bewertungskurs
<CR><LF>

19 v

n

 

w Komma (,) ist zugelassen.

 

Spezialsätze zum MT940-Satz (Non-Swift)

 

Es werden bei den MT940-Sätzen (Non-Swift) insgesamt 6 Spezialsätze unterstützt (nicht bei BTX-Server).

 

Programmversionen bis einschließlich 1.23 :

Die Sätze

· OS:01 und

· OS:02 werden benötigt, um die Kontoinformationen zum Kunden-PC zu übertragen. Bei einer Änderung der Kontostammdaten auf dem Bankrechner werden automatisch diese beiden Sätze erstellt. Der Satz

· OS:03 wird auf dem Bankrechner erzeugt, wenn dort der Menüpunkt -Banknamen ändern- angewählt wird. Im Satz

· OS:04 werden "beliebige Dateien" zum Kunden-PC übertragen.

 

Programmversionen ab 1.24 :

Die Sätze

· OS:05 und

· OS:06 werden benötigt, um die Kontoinformationen zum Kunden-PC zu übertragen. Bei einer Änderung der Kontostammdaten auf dem Bankrechner werden automatisch diese beiden Sätze erstellt. Der Satz

· OS:06 wird auf dem Bankrechner erzeugt, wenn dort der Menüpunkt -Banknamen ändern- angewählt wird.

 

MT940 : Non-Swift

Spezialsätze

Feldnummer /Feldbezeichnung

max. Länge in Bytes

Format w / p Inhalt
<CR><LF>:OS:01     w  
Bankleitzahl 8 f n   Führende Nullen und Leerzeichen werden überlesen.
Kontonummer 14 f n    

Kontoinhaber
<CR><LF>

35 v an    

02 Kontoart

2 f n  

interne Kontoart; wird als Feld "NS:32" gebildet.

Zinssatz 9 f n  

Komma (,) ist zugelassen. Führende Nullen und Leerzeichen werden überlesen.

Laufzeit von

8 f n   Format : TT.MM.JJ
Laufzeit bis 8 f n   Format : TT.MM.JJ

Kontobezeichnung
<CR><LF>

35 v an    
         

:OS:03
Bankleitzahl

8 f

n w  
Kurzname der Bank 8 f an   entspricht dem Namen der Bankparameterdatei (BPD)

Bezeichnung der Bank
<CR><LF>

80 v an   wird auf dem Start-Bildschirm des Kunden-PC´s angezeigt.
         

:OS:04
Dateilänge

8 f n w genaue Länge der Datei in Bytes

Datei
<CR><LF>

* v an   * Datei in genau der selben Länge, wie sie im Feld "Dateilänge" eingetragen ist.
         

:OS:05
Bankcode

12 v an w ohne Zeichen "\"
Kontonummer 14 v an   Führende Nullen und Leerzeichen werden überlesen.

Kontoinhaber
<CR><LF>

35 v an    

02
Kontoart

2 f n  

interne Kontoart; wird aus Feld "NS:32" gebildet.

Zinssatz 9 f n  

Komma (,) ist zugelassen. Führende Nullen und Leerzeichen werden überlesen.

Laufzeit von 8 f n   Format : TT.MM.JJ
Laufzeit bis 8 f n   Format : TT.MM.JJ

Kontobezeichnung
<CR><LF>

35 v an    
         

:OS:06
Bankcode

12 v an w ohne Zeichen "\"
Kurzname der Bank 8 f an   entspricht dem Namen der Bankparameterdatei (BPD)

Bezeichnung der Bank
<CR><LF>

80 v

an   wird auf dem Start-Bildschirm des Kunden-PC´s angezeigt.
         
         

 

Beispiel

eines MT940-Satzes (Non-Swift)

zur Satzart "Kontoauszug"

 

:20:STARTUMS
:25:1222333444
:28:1/1
:NS:22Test GmbH
23Testkonto
240,800
25010195311295
3037010000
3190000022

:60F:C950315DEM0,00
:61:9503170320CM5000,00S05168790452
:NS:01Verwendungszweck 1
02Verwendungszweck 2
15Empfänger
17Buchungstext
1812345
191000
204711
:61:950322CM20000,00NCHG
:61:950322CM20000,00S051
:61:950322CM20000,00S051
:61:950322CM20000,00S051
:61:950322CM20000,00S051
:62M:C950315105000,00


:20:STARTUMS
:25:1222333444
:28:1/1
:NS:223037010000


:60M:C950315DEM105000,00
:61:950322CM20000,00S051
:61:950322CM20000,00S051
:62F:C950315145000,00


:20:STARTUMS
:25:3346780111
:28:2/1
:NS:22Meyer + Schneider
23Testkonto
3037010000
3187132101


:60F:C950324DEM145000,00
:61:950324DM50000,00S051
:NS:01bekannt
1812345
:62F:C95032495000,00

Beispiel

eines MT940-Satzes (Non-Swift)

zur Satzart "Disponierte Umsätze"

 

:20:STARTDISP
:25:11223344
:NS:22Testkunde
23Testkonto
3033344455
3100000001
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00S051
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00NCHG682345790653
:NS:17Buchungstext
:61:9501110114CM34000,00S051

Sehen Sie sich auch mein anderes Produkt an:
myebilanz – die Freeware-eBilanz aus MySQL und CSV!
myebilanz