Im Rahmen eines Kundenprojekts haben wir eine Python-basierte Lösung entwickelt, die Bankdateien im camt.053-Format automatisiert in das ältere MT940-Format überführt. Unser Kunde importiert Kontobewegungen in sein ERP-System, das derzeit ausschließlich MT940-Dateien verarbeiten kann. Da die Bank in Kürze auf das modernere camt.053-Format umstellen wird, hat unser Team bereits eine Python-basierte Lösung entwickelt, die Bankdateien im camt.053-Format automatisiert in das ältere MT940-Format überführt. Dadurch kann das bestehende ERP-System weiterhin genutzt werden, während gleichzeitig die zukünftige Formatumstellung der Bank nahtlos unterstützt wird.
Ausgangssituation
Das MT940-Format gilt seit Jahrzehnten als Standard für elektronische Kontoauszüge. Es ist kompakt, zeilenbasiert und insbesondere im deutschsprachigen Raum durch spezifische Strukturen in den :86:-Feldern erweitert, die beispielsweise Verwendungszweck, Mandatsreferenzen oder Gläubiger-IDs enthalten. Das neuere camt.053-Format basiert auf XML und wurde im Rahmen der SEPA-Einführung als Nachfolger konzipiert. Es bietet deutlich mehr Struktur und Detailtiefe, wird aber von älteren Systemen noch nicht (vollständig) unterstützt.
Ziel des Projekts war daher eine verlässliche, automatisierte Übersetzung von camt.053-Dateien zu MT940, um bestehende Prozesse nahtlos fortzuführen.
Technische Umsetzung
Für die Umsetzung kam die Python-Library mt940_writer zum Einsatz, ergänzt durch xml.etree.ElementTree zur Verarbeitung der XML-Daten. Nach dem Einlesen der camt-Dateien werden die Buchungsinformationen extrahiert, in MT940-kompatible Felder überführt und anschließend als vollständige MT940-Datei exportiert.
Besonderer Fokus lag auf der korrekten Abbildung der Beträge, Buchungsdaten und :86:-Feldinhalte, die im deutschen Zahlungsverkehr standardisierte Unterstrukturen aufweisen. Umfangreiche Validierungen stellen sicher, dass die erzeugten Dateien in allen Zielsystemen fehlerfrei verarbeitet werden können.
Herausforderung bei Auslandsgeschäften
Eine besondere Herausforderung stellte die Konvertierung von Auslandstransaktionen dar. Während deutsche Buchungen im :86:-Feld klar definierte Strukturen enthalten, sind diese Informationen bei internationalen Zahlungen oft unstrukturiert oder in freiem Text hinterlegt. Hier musste die Lösung flexibel reagieren und entsprechende Fallback-Mechanismen implementieren, um die relevanten Informationen dennoch korrekt in das MT940-Format zu übernehmen. Dadurch konnte sichergestellt werden, dass auch internationale Zahlungen zuverlässig verarbeitet und sauber in bestehende Prozesse integriert werden.
Fazit
Das Ergebnis ist ein stabiles, wartbares Python-Tool, das camt.053-Dateien automatisch in MT940 konvertiert. So kann der Kunde seine bestehende Systemlandschaft trotz Formatwechsel der Bank ohne kostspielige Anpassungen weiter nutzen.
Das Projekt zeigt, wie gezielte Softwareentwicklung bestehende Prozesse absichern und gleichzeitig technologische Übergänge effizient gestalten kann. Mit praxisnaher Umsetzung und erprobten Strategien unterstützen wir Sie gerne bei Herausforderungen im Umgang mit Buchungsdaten – sprechen Sie uns an!
Foto: https://ccnull.de/foto/kontoauszug/1006525

