MT940 parse Feld 25 nach östereichischen Vorgaben
authorJan Büren <jan@kivitendo.de>
Fri, 19 Feb 2021 05:32:20 +0000 (06:32 +0100)
committerJan Büren <jan@kivitendo.de>
Fri, 19 Feb 2021 05:32:20 +0000 (06:32 +0100)
Es scheint Konvention zu sein nach zwei // noch die Länderkennung
in Feld 25 zu schreiben und mit der optional gültigen Währung zu enden
Regex um exakt dieses Präfix vor BLZ/Kontoerkennung erweitert

SL/MT940.pm

index d96a9f2..c47f5bd 100644 (file)
@@ -50,7 +50,11 @@ sub parse {
   }
 
   foreach my $line (@lines) {
-    if ($line->[0] =~ m{^:25:(\d+)/(\d+)}) {
+    # AT MT940 has the format  :25://AT20151/00797453990/EUR
+    # DE MT940 has the format  :25:BLZ/Konto
+    # https://www.bankaustria.at/files/MBS_MT940_V5107.pdf
+    if ($line->[0] =~ m{^:25:(?://AT)?(\d+)/(\d+)}) {
+
       $local_bank_code      = $1;
       $local_account_number = $2;