Fix logica bolli

This commit is contained in:
Thomas Zilio 2019-03-15 12:33:03 +01:00
parent 7b35637979
commit f008eb26d7
1 changed files with 8 additions and 12 deletions

View File

@ -454,25 +454,21 @@ function ricalcola_costiagg_fattura($iddocumento, $idrivalsainps = '', $idritenu
} }
// Leggo la ritenuta d'acconto se c'è // Leggo la ritenuta d'acconto se c'è
$totale_fattura = get_totale_fattura($iddocumento); $fattura = Fattura::find($iddocumento);
$query = 'SELECT percentuale FROM co_ritenutaacconto WHERE id='.prepare($idritenutaacconto); $righe_bollo = $fattura->getRighe()->filter(function ($item, $key) {
$rs = $dbo->fetchArray($query); return $item->aliquota != null && in_array($item->aliquota->codice_natura_fe, ['N1', 'N2', 'N3', 'N4']);
$netto_a_pagare = $totale_fattura - $ritenutaacconto; });
$importo_righe_bollo = $righe_bollo->sum('netto');
// Leggo la marca da bollo se c'è e se il netto a pagare supera la soglia // Leggo la marca da bollo se c'è e se il netto a pagare supera la soglia
$bolli = ($dir == 'uscita') ? $bolli : setting('Importo marca da bollo'); $bolli = ($dir == 'uscita') ? $bolli : setting('Importo marca da bollo');
$bolli = formatter()->parse($bolli); $bolli = formatter()->parse($bolli);
$marca_da_bollo = 0; $marca_da_bollo = 0;
if (abs($bolli) > 0 && abs($netto_a_pagare > setting("Soglia minima per l'applicazione della marca da bollo"))) { if (abs($bolli) > 0 && abs($importo_righe_bollo) > setting("Soglia minima per l'applicazione della marca da bollo")) {
//Controllo che tra le iva ce ne sia almeno una con natura N1, N2, N3 o N4 $marca_da_bollo = $bolli;
$check_natura = $dbo->fetchArray('SELECT codice_natura_fe FROM co_righe_documenti INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE iddocumento='.prepare($iddocumento)." AND codice_natura_fe IN('N1','N2','N3','N4') GROUP BY codice_natura_fe");
if (($dir == 'entrata' && sizeof($check_natura) > 0) || $dir == 'uscita') {
$marca_da_bollo = $bolli;
} else {
$marca_da_bollo = 0.00;
}
} }
// Se l'importo è negativo può essere una nota di credito, quindi cambio segno alla marca da bollo // Se l'importo è negativo può essere una nota di credito, quindi cambio segno alla marca da bollo