Fix importFE

This commit is contained in:
MatteoPistorello 2023-07-25 10:06:13 +02:00
parent 85e9be056e
commit 710a8035a5
1 changed files with 5 additions and 1 deletions

View File

@ -229,16 +229,20 @@ class FatturaOrdinaria extends FatturaElettronica
// Totale documento // Totale documento
$totale_righe = 0; $totale_righe = 0;
$totale_arrotondamento = 0;
$dati_riepilogo = $this->getBody()['DatiBeniServizi']['DatiRiepilogo']; $dati_riepilogo = $this->getBody()['DatiBeniServizi']['DatiRiepilogo'];
if (!empty($dati_riepilogo['ImponibileImporto'])) { if (!empty($dati_riepilogo['ImponibileImporto'])) {
$totale_righe = $dati_riepilogo['ImponibileImporto']; $totale_righe = $dati_riepilogo['ImponibileImporto'];
$totale_arrotondamento = $dati_riepilogo['Arrotondamento'];
} elseif (is_array($dati_riepilogo)) { } elseif (is_array($dati_riepilogo)) {
foreach ($dati_riepilogo as $dato) { foreach ($dati_riepilogo as $dato) {
$totale_righe += $dato['ImponibileImporto']; $totale_righe += $dato['ImponibileImporto'];
$totale_arrotondamento += $dati_riepilogo['Arrotondamento'];
} }
} else { } else {
$totali_righe = array_column($righe, 'PrezzoTotale'); $totali_righe = array_column($righe, 'PrezzoTotale');
$totale_righe = sum($totali_righe, null, 2); $totale_righe = sum($totali_righe, null, 2);
$totale_arrotondamento = $dati_riepilogo['Arrotondamento'];
} }
// Nel caso il prezzo sia negativo viene gestito attraverso l'inversione della quantità (come per le note di credito) // Nel caso il prezzo sia negativo viene gestito attraverso l'inversione della quantità (come per le note di credito)
@ -361,7 +365,7 @@ class FatturaOrdinaria extends FatturaElettronica
$fattura->refresh(); $fattura->refresh();
// Arrotondamenti differenti nella fattura XML // Arrotondamenti differenti nella fattura XML
$diff = round(abs($totale_righe) - abs($fattura->totale_imponibile), 2); $diff = round(abs($totale_righe) - $totale_arrotondamento - abs($fattura->totale_imponibile) - $fattura->rivalsa_inps, 2);
if (!empty($diff)) { if (!empty($diff)) {
// Rimozione dell'IVA calcolata automaticamente dal gestionale // Rimozione dell'IVA calcolata automaticamente dal gestionale
$iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE percentuale=0 AND deleted_at IS NULL'); $iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE percentuale=0 AND deleted_at IS NULL');