fix: calcolo importazione fattura di acquisto quando il nodo ImportoTotaleDocumento non è valorizzato. quando

This commit is contained in:
Luca 2024-10-03 10:17:19 +02:00
parent 87019796a8
commit d70307f8fe
1 changed files with 7 additions and 3 deletions

View File

@ -481,9 +481,13 @@ class FatturaOrdinaria extends FatturaElettronica
$imposta_riepilogo += $riepilogo['Imposta'];
}
$totale_documento = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['ImportoTotaleDocumento'] ?? 0;
$differenza_iva = round(abs($fattura->iva ?? 0) - abs($imposta_riepilogo ?? 0), 2);
$diff = round(abs(($fattura->totale_imponibile ?? 0) + (abs($imposta_riepilogo ?? 0)) + ($fattura->rivalsa_inps ?? 0)) - abs($totale_documento), 2);
$totale_documento = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['ImportoTotaleDocumento'];
if (empty($totale_documento)) {
//se ImportoTotaleDocumento non è valorizzato recupero l'importo dal nodo ImportoPagamento
$totale_documento = $this->getBody()['DatiPagamento']['DettaglioPagamento']['ImportoPagamento'];
}
$differenza_iva = round(abs($fattura->iva) - abs($imposta_riepilogo), 2);
$diff = round(abs($fattura->totale_imponibile + abs($imposta_riepilogo) + $fattura->rivalsa_inps) - abs($totale_documento), 2);
$iva_arrotondamento = database()->fetchOne('SELECT * FROM `co_iva` WHERE `percentuale`= 0 AND `deleted_at` IS NULL LIMIT 1');
if ($diff || $differenza_iva) {