@@ -105,6 +105,7 @@ public function registra()
105105 $ id_conto_controparte = $ id_conto ; // Salvataggio del conto dell'anagrafica per usi successivi
106106
107107 $ importo_anagrafica = $ totale ;
108+ // Per le fatture con split payment, l'importo dell'anagrafica è sempre il totale senza IVA
108109 if ($ split_payment ) {
109110 $ importo_anagrafica = sum ($ importo_anagrafica , -$ iva_detraibile , 2 );
110111 }
@@ -142,15 +143,40 @@ public function registra()
142143 }
143144
144145 /*
145- * 3) IVA detraibile sul relativo conto (Split Payment disabilitato)
146+ * 3) IVA detraibile sul relativo conto
146147 * IVA detraibile -> AVERE per Vendita, DARE per Acquisto
147148 */
148- if (!empty ($ iva_detraibile ) && empty ($ split_payment )) {
149- $ id_conto = $ is_acquisto ? setting ('Conto per Iva su acquisti ' ) : setting ('Conto per Iva su vendite ' );
150- $ movimenti [] = [
151- 'id_conto ' => $ id_conto ,
152- 'avere ' => $ iva_detraibile ,
153- ];
149+ if (!empty ($ iva_detraibile )) {
150+ // Caso 1: Fattura di acquisto con split payment - IVA su vendite
151+ if ($ is_acquisto && $ split_payment ) {
152+ $ id_conto = setting ('Conto per Iva su vendite ' );
153+ $ movimenti [] = [
154+ 'id_conto ' => $ id_conto ,
155+ 'avere ' => $ iva_detraibile ,
156+ ];
157+
158+ // Aggiunta dell'IVA al conto di costo per fatture di acquisto con split payment
159+ foreach ($ righe as $ riga ) {
160+ $ id_conto = $ riga ->id_conto ?: $ this ->fattura ->idconto ;
161+ $ iva_riga = $ riga ->iva ;
162+
163+ if (!empty ($ iva_riga )) {
164+ $ movimenti [] = [
165+ 'id_conto ' => $ id_conto ,
166+ 'avere ' => $ iva_riga ,
167+ ];
168+ }
169+ }
170+ }
171+ // Caso 2: Fattura senza split payment - IVA normale (acquisti o vendite)
172+ else if (empty ($ split_payment )) {
173+ $ id_conto = $ is_acquisto ? setting ('Conto per Iva su acquisti ' ) : setting ('Conto per Iva su vendite ' );
174+ $ movimenti [] = [
175+ 'id_conto ' => $ id_conto ,
176+ 'avere ' => $ iva_detraibile ,
177+ ];
178+ }
179+ // Caso 3: Fattura di vendita con split payment - Non si registra l'IVA
154180 }
155181
156182 /*
0 commit comments