diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index 49841b0af..d16113273 100644 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -173,7 +173,7 @@ switch (post('op')) { $xml = \Util\XML::read($fattura->getXML()); $dati_generali = $xml['FatturaElettronicaBody']['DatiGenerali']['DatiGeneraliDocumento']; - $totale_documento = $dati_generali['ImportoTotaleDocumento'] ?: null; + $totale_documento = abs(floatval($dati_generali['ImportoTotaleDocumento'])) ?: null; } catch (Exception $e) { $totale_documento = null; } diff --git a/plugins/importFE/src/FatturaOrdinaria.php b/plugins/importFE/src/FatturaOrdinaria.php index c89989317..13e48ff06 100644 --- a/plugins/importFE/src/FatturaOrdinaria.php +++ b/plugins/importFE/src/FatturaOrdinaria.php @@ -212,9 +212,9 @@ class FatturaOrdinaria extends FatturaElettronica $totale_righe = sum($totali_righe); $dati_generali = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']; - $totale_documento = $dati_generali['ImportoTotaleDocumento']; + $totale_documento = floatval($dati_generali['ImportoTotaleDocumento']); - $diff = $totale_documento ? floatval($totale_documento) - abs($fattura->totale) : $totale_righe - abs($fattura->totale_imponibile); + $diff = $totale_documento ? abs($totale_documento) - abs($fattura->totale) : abs($totale_righe) - abs($fattura->totale_imponibile); if (!empty($diff)) { // Rimozione dell'IVA calcolata automaticamente dal gestionale $iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE id='.prepare($iva[0]));