Generazione movimento reverse charge

This commit is contained in:
MatteoPistorello 2021-12-06 15:45:26 +01:00
parent 8389e76625
commit 781660f0d8
1 changed files with 20 additions and 0 deletions

View File

@ -20,6 +20,7 @@
namespace Modules\Fatture\Gestori;
use Modules\Fatture\Fattura;
use Modules\Iva\Aliquota;
use Modules\PrimaNota\Mastrino;
use Modules\PrimaNota\Movimento;
@ -75,6 +76,7 @@ class Movimenti
$is_acquisto = $direzione == 'uscita';
$split_payment = $this->fattura->split_payment;
$is_nota = $this->fattura->isNota();
$reverse_charge = 0;
// Totali utili per i movimenti
$totale = $this->fattura->totale;
@ -126,6 +128,10 @@ class Movimenti
'avere' => $imponibile,
];
}
if (substr($riga->aliquota->codice_natura_fe, 0, 2) == 'N6' && $is_acquisto) {
$reverse_charge += $riga->totale_imponibile;
}
}
/*
@ -152,6 +158,20 @@ class Movimenti
];
}
/*
* Reverse charge
* Viene registrato solo il movimento impostando l'iva predefinita (l'iva della riga rimane a 0)
*/
if($reverse_charge) {
$id_conto = setting('Conto per Iva su acquisti');
$iva_predefinita = floatval(Aliquota::find(setting('Iva predefinita'))->percentuale);
$iva_reverse_charge = $reverse_charge * $iva_predefinita / 100;
$movimenti[] = [
'id_conto' => $id_conto,
'avere' => $iva_reverse_charge,
];
}
/*
* 5) Rivalsa INPS sul relativo conto
* Rivalsa INPS (senza IVA) -> AVERE per Vendita, DARE per Acquisto