|
|
@@ -627,6 +627,44 @@ class Config extends \App\Models\AbstractModels\AbstractConfig
|
|
627
|
627
|
$row->save();
|
|
628
|
628
|
}
|
|
629
|
629
|
|
|
|
630
|
+ /**
|
|
|
631
|
+ * Modalità fattura elettronica del metodo. Se Fatture in Cloud non la indica, si ricava dal nome.
|
|
|
632
|
+ *
|
|
|
633
|
+ * @param array<string, mixed> $metodo
|
|
|
634
|
+ */
|
|
|
635
|
+ public static function modalitaElettronicaMetodo(array $metodo): string
|
|
|
636
|
+ {
|
|
|
637
|
+ $ei = strtoupper(trim((string) ($metodo['ei_payment_method'] ?? '')));
|
|
|
638
|
+ if (preg_match('/^MP\d{2}$/', $ei)) {
|
|
|
639
|
+ return $ei;
|
|
|
640
|
+ }
|
|
|
641
|
+
|
|
|
642
|
+ $name = mb_strtolower(trim((string) ($metodo['name'] ?? '')));
|
|
|
643
|
+ foreach ([
|
|
|
644
|
+ 'assegno circolare' => 'MP03',
|
|
|
645
|
+ 'bonifico' => 'MP05',
|
|
|
646
|
+ 'rimessa diretta' => 'MP01',
|
|
|
647
|
+ 'contanti' => 'MP01',
|
|
|
648
|
+ 'assegno' => 'MP02',
|
|
|
649
|
+ 'paypal' => 'MP08',
|
|
|
650
|
+ 'carta' => 'MP08',
|
|
|
651
|
+ 'ri.ba' => 'MP12',
|
|
|
652
|
+ 'riba' => 'MP12',
|
|
|
653
|
+ 'mav' => 'MP13',
|
|
|
654
|
+ 'bollettino' => 'MP18',
|
|
|
655
|
+ 'sepa' => 'MP19',
|
|
|
656
|
+ 'rid' => 'MP09',
|
|
|
657
|
+ 'pagopa' => 'MP23',
|
|
|
658
|
+ 'pago pa' => 'MP23',
|
|
|
659
|
+ ] as $needle => $code) {
|
|
|
660
|
+ if ($name !== '' && str_contains($name, $needle)) {
|
|
|
661
|
+ return $code;
|
|
|
662
|
+ }
|
|
|
663
|
+ }
|
|
|
664
|
+
|
|
|
665
|
+ return '';
|
|
|
666
|
+ }
|
|
|
667
|
+
|
|
630
|
668
|
/**
|
|
631
|
669
|
* @param array<string, mixed> $item
|
|
632
|
670
|
* @return array<string, mixed>
|