Skip to content

Commit 37e576b

Browse files
committed
fix: importazioneFE da zip
1 parent 6cfe92c commit 37e576b

1 file changed

Lines changed: 29 additions & 10 deletions

File tree

plugins/importFE/src/FatturaElettronica.php

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,20 +67,39 @@ public function __construct($name, $directory = null, $plugin = null)
6767

6868
// Verifica che il CessionarioCommittente (destinatario) corrisponda all'azienda configurata
6969
// per evitare l'importazione di fatture non indirizzate a questa azienda
70-
$cessionario = $this->getHeader()['CessionarioCommittente']['DatiAnagrafici'] ?? null;
71-
$piva_destinatario = $cessionario['IdFiscaleIVA']['IdCodice'] ?? null;
72-
$cf_destinatario = $cessionario['CodiceFiscale'] ?? null;
7370

74-
$azienda = Anagrafica::find(setting('Azienda predefinita'));
75-
if (!empty($azienda) && (!empty($piva_destinatario) || !empty($cf_destinatario))) {
76-
$piva_match = !empty($piva_destinatario) && $azienda->piva === $piva_destinatario;
77-
$cf_match = !empty($cf_destinatario) && $azienda->codice_fiscale === $cf_destinatario;
71+
if ($directory == 'Fatture di acquisto') {
72+
$cessionario = $this->getHeader()['CessionarioCommittente']['DatiAnagrafici'] ?? null;
73+
$piva_destinatario = $cessionario['IdFiscaleIVA']['IdCodice'] ?? null;
74+
$cf_destinatario = $cessionario['CodiceFiscale'] ?? null;
7875

79-
if (!$piva_match && !$cf_match) {
80-
throw new \UnexpectedValueException();
81-
}
76+
$azienda = Anagrafica::find(setting('Azienda predefinita'));
77+
if (!empty($azienda) && (!empty($piva_destinatario) || !empty($cf_destinatario))) {
78+
$piva_match = !empty($piva_destinatario) && $azienda->piva === $piva_destinatario;
79+
$cf_match = !empty($cf_destinatario) && $azienda->codice_fiscale === $cf_destinatario;
80+
81+
if (!$piva_match && !$cf_match) {
82+
throw new \UnexpectedValueException();
83+
}
84+
}
85+
} else {
86+
$cedente = $this->getHeader()['CedentePrestatore']['DatiAnagrafici'] ?? null;
87+
$piva_destinatario = $cedente['IdFiscaleIVA']['IdCodice'] ?? null;
88+
$cf_destinatario = $cedente['CodiceFiscale'] ?? null;
89+
90+
$azienda = Anagrafica::find(setting('Azienda predefinita'));
91+
if (!empty($azienda) && (!empty($piva_destinatario) || !empty($cf_destinatario))) {
92+
$piva_match = !empty($piva_destinatario) && $azienda->piva === $piva_destinatario;
93+
$cf_match = !empty($cf_destinatario) && $azienda->codice_fiscale === $cf_destinatario;
94+
95+
if (!$piva_match && !$cf_match) {
96+
throw new \UnexpectedValueException();
97+
}
98+
}
8299
}
83100

101+
102+
84103
// Individuazione fattura pre-esistente
85104
$dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento'];
86105
$data = $dati_generali['Data'];

0 commit comments

Comments
 (0)