File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 172172
173173 $ aliquota_iva = $ riga ['AliquotaIVA ' ];
174174
175- $ iva [$ key ] = setting ('Iva predefinita ' );
175+ // Ricerca dell'aliquota IVA corretta basata sulla percentuale dell'XML
176+ $ query = "SELECT `co_iva`.`id` FROM `co_iva` WHERE `deleted_at` IS NULL AND `percentuale` = " .prepare ($ aliquota_iva );
177+ $ start_query = $ query ;
178+
179+ // Se presente, considera anche il codice natura FE
180+ if (!empty ($ riga ['Natura ' ])) {
181+ $ query .= ' AND `codice_natura_fe` = ' .prepare ($ riga ['Natura ' ]);
182+
183+ // Fallback per natura iva mancante
184+ if (empty ($ database ->fetchArray ($ query ))) {
185+ $ query = $ start_query ;
186+ }
187+ }
188+
189+ $ query .= ' ORDER BY `id` ASC LIMIT 1 ' ;
190+ $ aliquota_trovata = $ database ->fetchArray ($ query );
191+
192+ // Usa l'aliquota trovata o fallback all'IVA predefinita
193+ $ iva [$ key ] = (!empty ($ aliquota_trovata ) && isset ($ aliquota_trovata [0 ]['id ' ])) ? $ aliquota_trovata [0 ]['id ' ] : setting ('Iva predefinita ' );
176194
177195 $ conti [$ key ] = setting ('Conto predefinito fatture di vendita ' );
178196 }
You can’t perform that action at this time.
0 commit comments