Meet Cmxl your friendly MT940 bank statement parser
  • 10. October 2014
  • 2 min read
Header mobile cmxl 2x
Cmxl ist ein Open Source parser zum Verarbeiten des SWIFT MT940/MT942 Formats für Finanztransaktionen

Eine der wichtigsten Informationen von Finanzapplikation sind meist die Transaktionsinformationen von verschiedenen Bankkonten. - Sprich die Informationen die auf dem Kontoauszug zu finden sind.

Viele Banken stellen diese Informationen im MT940 Format zum Datenaustausch zur Verfügung. MT940 ist eines der von der Society for Worldwide Interbank Financial Telecommunication (kurz SWIFT) standardisierten Dateiformaten für den Austausch von Finanzinformationen. MT940 ist dabei nur eines von vielen definierten "Message Types".

Das MT940 Format besteht aus einem Header, Content und einem Final Block welche zeilenbasiert verarbeitet werden müssen. Die einzelnen Felder beginnen jeweils mit einem in Doppelpunkten eingeschlossenen Tag der die Art der nachfolgende Information beschreibt. Dabei sind einige Eigenheiten zu beachten wie z.B. dass das Feld 86 Detailinformationen zu dem vorangegangen Feld 61 beschreibt. usw. Ich erspar euch die Details, hier nur ein Beispiel: :)

:20:TELEWIZORY S.A.
:25:BPHKPLPK/320000546101
:28C:00084/001
:60F:C031002PLN40000,00 
:61:0310201020C20000,00FMSCNONREF//8327000090031789 
Card transaction 
:86: 020?00Wyplata-(dysp/przel)?2008106000760000777777777777?2115617?
22INFO INFO INFO INFO INFO INFO 1 END?23INFO INFO INFO INFO INFO 
INFO 2 END?24ZAPLATA ZA FABRYKATY DO TUB?25 - 200 S ZTUK, TRANZY 
STORY-?26300 SZT GR544 I OPORNIKI-5?2700 SZT GTX847 FAKTURA 333/ 
2?28003.?3010600076?310000777777777777?32HUTA SZKLA TOPIC UL 
PRZEMY?33SLOWA 67 32-669 WROCLAW?38PL081060007600007777777 
77777 
:61:031020
   
(Beispiel aus: http://martin.hinner.info/bankconvert/swift_mt940_942.pdf)

Meet Cmxl - your fiendly MT940 parser in ruby

Unser Ziel ist es einfache Anwendungen zu entwickeln, die einfach zu warten sind und von Entwicklern ohne großes Vorwissen weiterentwickelt werden können. Um dies zu ermöglichen werden typischerweise die komplizierten Teile abstrahiert und hinter einfach zu bedienenden Interfaces versteckt.

Für das Verarbeiten von MT940 Dateien haben wir deshalb das Cmxl ruby gem gebaut. Cmxl erlaubt es die statement Informationen im typisch-ruby style zu verarbeiten und macht es einfach die MT940 Informationen in Ruby Anwendungen zu integrieren.

Solltet ihr also Kontoauszüge im MT940 Format verarbeiten wollen... Cmxl to the rescue! :) Mehr Informationen findet ihr im Readme.

Wir freuen uns auf Feedback und falls ihr Probleme habt, wir helfen gerne! Ich hoffe wir schaffen mit Cmxl einen MT940 ruby parser für möglichst alle Banken anbieten zu können.