#!/usr/bin/php @i', $line, $m)) { $in_tx = false; $rechnum = false; $iban = false; $bic = false; $i++; continue; } $m = []; if(preg_match('@@i', $line, $m)) { $in_tx = true; continue; } if($in_tx) { $m = []; if(preg_match('@([a-z0-9-]+)@i', $line, $m)) { $rechnum = $m[1]; } if(preg_match('@([a-z0-9-]+)@i', $line, $m)) { $bic = $m[1]; } if(preg_match('@([a-z0-9-]+)@i', $line, $m)) { $iban = $m[1]; } if($rechnum && $bic && $iban) { if(!array_key_exists($rechnum, $data)) { $data[$rechnum] = [ "iban" => $iban, "bic" => $bic ]; } } } } echo "$i input datensätze\n"; exit; $i = 0; foreach($data as $r => $d) { //echo "$r ".$d["iban"]." ".$d["bic"]."\n"; $m = []; if(!preg_match('/(RN2024-.+)/', $r, $m)) { die("error"); } $rechnum = $m[1]; $sepa_iban = strtoupper(str_replace(" ","", $d["iban"])); $sepa_bic = strtoupper(str_replace(" ","", $d["bic"])); $invoice = InvoiceModel::getFirst(["invoice_number" => $rechnum]); if(!$invoice) { die("$rechnum not found\n"); } $address = new Address($invoice->billingaddress_id); if(!$address) { die("not billingaddress\n"); } $tiban = strtoupper(str_replace(" ","", $address->bank_account_iban)); $tbic = strtoupper(str_replace(" ","", $address->bank_account_bic)); if($sepa_iban != $tiban) { echo "$rechnum | tool iban: $tiban <> $sepa_iban\n"; } if($sepa_bic != $tbic) { echo "$rechnum | tool bic: $tbic <> $sepa_bic\n"; } $i++; } echo "$i sepa daten verglichen\n";