From 511623ef1039a5030a3666f03e48ffb0a11a1fa2 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Fri, 21 Sep 2018 18:08:47 +0200 Subject: [PATCH] Adeguamento IVA FE --- include/common/riga.php | 2 +- modules/anagrafiche/edit.php | 4 +- modules/articoli/ajax/select.php | 2 +- modules/articoli/edit.php | 2 +- modules/fatture/add_contratto.php | 2 +- modules/fatture/add_intervento.php | 2 +- modules/fatture/add_preventivo.php | 2 +- modules/interventi/add.php | 1 - modules/interventi/add_articolo.php | 2 +- modules/interventi/add_righe.php | 2 +- modules/iva/actions.php | 71 ++++---- modules/iva/add.php | 24 ++- modules/iva/ajax/select.php | 22 +++ modules/iva/edit.php | 32 +++- .../fatturazione/src/FatturaElettronica.php | 7 +- .../add_articolo.php | 2 +- .../pianificazione_interventi/add_righe.php | 2 +- update/2_4_2.sql | 167 +++++++++++++++++- 18 files changed, 294 insertions(+), 54 deletions(-) create mode 100644 modules/iva/ajax/select.php diff --git a/include/common/riga.php b/include/common/riga.php index 36bf8e927..3443f5e73 100644 --- a/include/common/riga.php +++ b/include/common/riga.php @@ -10,7 +10,7 @@ echo App::internalLoad('conti.php', $result, $options); echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$result['idiva'].'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$result['idiva'].'", "ajax-source": "iva" ]}
'; // Quantità diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index b95508016..be223c3d0 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -180,7 +180,7 @@ if (!$cliente) {
- {[ "type": "select", "label": "", "name": "idiva_acquisti", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_acquisti$", "extra": "" ]} + {[ "type": "select", "label": "", "name": "idiva_acquisti", "ajax-source": "iva", "value": "$idiva_acquisti$", "extra": "" ]}
@@ -212,7 +212,7 @@ if (!$cliente) {
- {[ "type": "select", "label": "", "name": "idiva_vendite", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_vendite$", "extra": "" ]} + {[ "type": "select", "label": "", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "" ]}
diff --git a/modules/articoli/ajax/select.php b/modules/articoli/ajax/select.php index b5276279d..3ddc61ca1 100644 --- a/modules/articoli/ajax/select.php +++ b/modules/articoli/ajax/select.php @@ -7,7 +7,7 @@ switch ($resource) { $query = 'SELECT mg_articoli.*, (SELECT CONCAT(numero, " ", descrizione) FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id = idconto_vendita) AS idconto_vendita_title, (SELECT CONCAT(numero, " ", descrizione) FROM co_pianodeiconti3 WHERE co_pianodeiconti3.id = idconto_acquisto) AS idconto_acquisto_title, co_iva.descrizione AS iva_vendita FROM mg_articoli LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita=co_iva.id |where| ORDER BY mg_articoli.id_categoria ASC, mg_articoli.id_sottocategoria ASC'; $idiva_predefinita = setting('Iva predefinita'); - $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id='".$idiva_predefinita."'"); + $rs = $dbo->fetchArray("SELECT descrizione FROM co_iva WHERE id=".prepare($idiva_predefinita)); $iva_predefinita = $rs[0]['descrizione']; foreach ($elements as $element) { diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index d2875da30..8561c058c 100644 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -164,7 +164,7 @@ if (!empty($record['immagine'])) {
- {[ "type": "select", "label": "", "name": "idiva_vendita", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita" ]} + {[ "type": "select", "label": "", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita" ]}
diff --git a/modules/fatture/add_contratto.php b/modules/fatture/add_contratto.php index aad897fe5..3e679ac19 100644 --- a/modules/fatture/add_contratto.php +++ b/modules/fatture/add_contratto.php @@ -55,7 +55,7 @@ $idiva = $idiva ?: setting('Iva predefinita'); echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; echo ' diff --git a/modules/fatture/add_intervento.php b/modules/fatture/add_intervento.php index 6287c343b..5f43952e1 100644 --- a/modules/fatture/add_intervento.php +++ b/modules/fatture/add_intervento.php @@ -80,7 +80,7 @@ $idiva = $idiva ?: setting('Iva predefinita'); echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; echo ' diff --git a/modules/fatture/add_preventivo.php b/modules/fatture/add_preventivo.php index a2140cbb2..fc5c74e5a 100644 --- a/modules/fatture/add_preventivo.php +++ b/modules/fatture/add_preventivo.php @@ -64,7 +64,7 @@ $idiva = $idiva ?: setting('Iva predefinita'); echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; echo ' diff --git a/modules/interventi/add.php b/modules/interventi/add.php index 31a0f1a36..8dadfa52e 100644 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -399,7 +399,6 @@ if (!empty($id_intervento)) { } // session_set('superselect,idzona', $(this).selectData().idzona, 0); } - }); $('#idpreventivo').change( function(){ diff --git a/modules/interventi/add_articolo.php b/modules/interventi/add_articolo.php index cf84f3274..2fc31d227 100644 --- a/modules/interventi/add_articolo.php +++ b/modules/interventi/add_articolo.php @@ -119,7 +119,7 @@ echo ' echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; // Prezzo di vendita diff --git a/modules/interventi/add_righe.php b/modules/interventi/add_righe.php index eca7bedae..7735d1aaa 100644 --- a/modules/interventi/add_righe.php +++ b/modules/interventi/add_righe.php @@ -80,7 +80,7 @@ echo ' // Iva echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; diff --git a/modules/iva/actions.php b/modules/iva/actions.php index 6f6122b68..17f69e595 100644 --- a/modules/iva/actions.php +++ b/modules/iva/actions.php @@ -4,53 +4,60 @@ include_once __DIR__.'/../../core.php'; switch (filter('op')) { case 'update': - $descrizione = filter('descrizione'); - $percentuale = filter('percentuale'); - $indetraibile = filter('indetraibile'); - $dicitura = filter('dicitura'); + $descrizione = post('descrizione'); + $codice = post('codice'); - if (isset($descrizione) && isset($percentuale) && isset($indetraibile)) { - if ($dbo->fetchNum('SELECT * FROM `co_iva` WHERE `descrizione`='.prepare($descrizione).' AND `id`!='.prepare($id_record)) == 0) { - $dbo->query('UPDATE `co_iva` SET `descrizione`='.prepare($descrizione).', `percentuale`='.prepare($percentuale).', `indetraibile`='.prepare($indetraibile).', `dicitura`='.prepare($dicitura).' WHERE `id`='.prepare($id_record)); - flash()->info(tr('Salvataggio completato!')); - } else { - flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [ - '_TYPE_' => 'IVA', - ])); - } + $esente = post('esente'); + $percentuale = empty($esente) ? post('percentuale') : 0; + + if ($dbo->fetchNum('SELECT * FROM `co_iva` WHERE (`descrizione` = '.prepare($descrizione).' OR `codice` = '.prepare($codice).') AND `id` != '.prepare($id_record)) == 0) { + $dbo->update('co_iva', [ + 'descrizione' => $descrizione, + 'esente' => $esente, + 'percentuale' => $percentuale, + 'indetraibile' => post('indetraibile'), + 'dicitura' => post('dicitura'), + 'codice' => $codice, + 'codice_natura_fe' => post('codice_natura_fe'), + ], ['id' => $id_record]); + + flash()->info(tr('Salvataggio completato!')); } else { - flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!')); + flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stesse caratteristiche!", [ + '_TYPE_' => 'IVA', + ])); } - break; case 'add': - $descrizione = filter('descrizione'); - $percentuale = filter('percentuale'); - $indetraibile = filter('indetraibile'); + $descrizione = post('descrizione'); - if (isset($descrizione) && isset($percentuale) && isset($indetraibile)) { - if ($dbo->fetchNum('SELECT * FROM `co_iva` WHERE `descrizione`='.prepare($descrizione)) == 0) { - $dbo->query('INSERT INTO `co_iva` (`descrizione`, `percentuale`, `indetraibile`) VALUES ('.prepare($descrizione).', '.prepare($percentuale).', '.prepare($indetraibile).')'); - $id_record = $dbo->lastInsertedID(); + $esente = post('esente'); + $percentuale = empty($esente) ? post('percentuale') : 0; - flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ - '_TYPE_' => 'IVA', - ])); - } else { - flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [ - '_TYPE_' => 'IVA', - ])); - } + if ($dbo->fetchNum('SELECT * FROM `co_iva` WHERE `descrizione`='.prepare($descrizione)) == 0) { + $dbo->insert('co_iva', [ + 'descrizione' => $descrizione, + 'esente' => $esente, + 'percentuale' => $percentuale, + 'indetraibile' => post('indetraibile'), + ]); + $id_record = $dbo->lastInsertedID(); + + flash()->info(tr('Aggiunta nuova tipologia di _TYPE_', [ + '_TYPE_' => 'IVA', + ])); } else { - flash()->error(tr('Ci sono stati alcuni errori durante il salvataggio!')); + flash()->error(tr("E' già presente una tipologia di _TYPE_ con la stessa descrizione!", [ + '_TYPE_' => 'IVA', + ])); } break; case 'delete': if (isset($id_record)) { - $dbo->query('DELETE FROM `co_iva` WHERE `id`='.prepare($id_record)); + $dbo->query('UPADTE `co_iva` SET deleted_at = NOW() WHERE `id`='.prepare($id_record)); flash()->info(tr('Tipologia di _TYPE_ eliminata con successo!', [ '_TYPE_' => 'IVA', diff --git a/modules/iva/add.php b/modules/iva/add.php index 6f76ca5d0..85e6e45df 100644 --- a/modules/iva/add.php +++ b/modules/iva/add.php @@ -13,11 +13,15 @@ include_once __DIR__.'/../../core.php';
-
- {[ "type": "number", "label": "", "name": "percentuale", "icon-after": "" ]} +
+ {[ "type": "checkbox", "label": "", "name": "esente", "id": "esente-add", "value": "$esente$" ]} +
+ +
+ {[ "type": "number", "label": "", "name": "percentuale", "id": "percentuale-add", "icon-after": "" ]}
-
+
{[ "type": "number", "label": "", "name": "indetraibile", "icon-after": "" ]}
@@ -29,3 +33,17 @@ include_once __DIR__.'/../../core.php';
+ + diff --git a/modules/iva/ajax/select.php b/modules/iva/ajax/select.php new file mode 100644 index 000000000..0bc1bfdf6 --- /dev/null +++ b/modules/iva/ajax/select.php @@ -0,0 +1,22 @@ +
+
+ {[ "type": "checkbox", "label": "", "name": "esente", "id": "esente-edit", "value": "$esente$"]} +
+ +
+ {[ "type": "number", "label": "", "name": "percentuale", "id": "percentuale-edit", "value": "$percentuale$", "icon-after": "", "disabled": ]} +
+ +
+ {[ "type": "number", "label": "", "name": "indetraibile", "value": "$indetraibile$", "icon-after": "" ]} +
+
+ +
- {[ "type": "number", "label": "", "name": "percentuale", "value": "$percentuale$", "icon-after": "" ]} + {[ "type": "text", "label": "", "name": "codice", "value": "$codice$" ]}
- {[ "type": "number", "label": "", "name": "indetraibile", "value": "$indetraibile$", "icon-after": "" ]} + {[ "type": "select", "label": "", "name": "codice_natura_fe", "value": "$codice_natura_fe$", "values": "query=SELECT codice as id, CONCAT(codice, ' - ', descrizione) AS descrizione FROM fe_natura" ]}
@@ -42,3 +56,17 @@ include_once __DIR__.'/../../core.php'; + + diff --git a/plugins/fatturazione/src/FatturaElettronica.php b/plugins/fatturazione/src/FatturaElettronica.php index 4c698f624..047343953 100644 --- a/plugins/fatturazione/src/FatturaElettronica.php +++ b/plugins/fatturazione/src/FatturaElettronica.php @@ -319,7 +319,7 @@ class FatturaElettronica $prezzo_unitario = $riga['subtotale'] / $riga['qta']; $prezzo_totale = $riga['subtotale'] - $riga['sconto']; - $iva = $database->fetchArray('SELECT `percentuale` FROM `co_iva` WHERE `id` = '.prepare($riga['idiva'])); + $iva = $database->fetchArray('SELECT `percentuale`, `codice_natura_fe` FROM `co_iva` WHERE `id` = '.prepare($riga['idiva'])); $percentuale = $iva[0]['percentuale']; $dettaglio = [ @@ -347,12 +347,17 @@ class FatturaElettronica $dettaglio['PrezzoTotale'] = $prezzo_totale; $dettaglio['AliquotaIVA'] = $percentuale; + if (empty($percentuale)) { + $dettaglio['Natura'] = $iva['codice_natura_fe']; + } + $result[] = [ 'DettaglioLinee' => $dettaglio, ]; } // Riepiloghi per IVA + // TODO: risolvere di conseguenza alla Natura IVA $riepiloghi = $database->fetchArray('SELECT SUM(`subtotale` - `sconto`) as totale, SUM(`iva`) as iva, `idiva` FROM `co_righe_documenti` WHERE `iddocumento` = '.prepare($documento['id']).' GROUP BY `idiva`'); foreach ($riepiloghi as $riepilogo) { $iva = $database->fetchArray('SELECT `percentuale` FROM `co_iva` WHERE `id` = '.prepare($riepilogo['idiva'])); diff --git a/plugins/pianificazione_interventi/add_articolo.php b/plugins/pianificazione_interventi/add_articolo.php index 7fa05bd01..9999aed56 100644 --- a/plugins/pianificazione_interventi/add_articolo.php +++ b/plugins/pianificazione_interventi/add_articolo.php @@ -125,7 +125,7 @@ echo ' echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; // Prezzo di vendita diff --git a/plugins/pianificazione_interventi/add_righe.php b/plugins/pianificazione_interventi/add_righe.php index cf2f2dee5..c364a9dba 100644 --- a/plugins/pianificazione_interventi/add_righe.php +++ b/plugins/pianificazione_interventi/add_righe.php @@ -72,7 +72,7 @@ echo ' // Iva echo '
- {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC" ]} + {[ "type": "select", "label": "'.tr('Iva').'", "name": "idiva", "required": 1, "value": "'.$idiva.'", "ajax-source": "iva" ]}
'; diff --git a/update/2_4_2.sql b/update/2_4_2.sql index 8c4925db0..63c1a15ba 100644 --- a/update/2_4_2.sql +++ b/update/2_4_2.sql @@ -163,9 +163,170 @@ INSERT INTO `fe_natura` (`codice`, `descrizione`) VALUES ('N6','Inversione contabile (per le operazioni in reverse charge ovvero nei casi di autofatturazione per acquisti extra UE di servizi ovvero per importazioni di beni nei soli casi previsti)'), ('N7','IVA assolta in altro stato UE (vendite a distanza ex art. 40 c. 3 e 4 e art. 41 c. 1 lett. b, DL 331/93; prestazione di servizi di telecomunicazioni, tele-radiodiffusione ed elettronici ex art. 7-sexies lett. f, g, art. 74-sexies DPR 633/72)'); -ALTER TABLE `co_iva` DROP `esente`, ADD `codice_natura_fe` varchar(4) NOT NULL; --- UPDATE `co_iva` SET `codice_natura_fe` = 'TD01' WHERE `descrizione` IN ('Fattura immediata di acquisto', 'Fattura immediata di vendita', 'Fattura differita di acquisto', 'Fattura differita di vendita', 'Fattura accompagnatoria di acquisto', 'Fattura accompagnatoria di vendita'); --- ALTER TABLE `co_iva` ADD FOREIGN KEY (`codice_natura_fe`) REFERENCES `fe_natura`(`codice`) ON DELETE CASCADE; +ALTER TABLE `co_iva` ADD `codice_natura_fe` varchar(4), ADD `deleted_at` timestamp NULL DEFAULT NULL, ADD `codice` int(11), ADD `default` boolean NOT NULL DEFAULT 0, ADD FOREIGN KEY (`codice_natura_fe`) REFERENCES `fe_natura`(`codice`) ON DELETE CASCADE; +UPDATE `co_iva` SET `deleted_at` = NOW(); + +UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_iva` WHERE 1=1 AND deleted_at IS NULL HAVING 2=2' WHERE `name` = 'IVA'; + +INSERT INTO `co_iva` (`descrizione`, `percentuale`, `indetraibile`, `esente`, `codice_natura_fe`, `codice`, `default`) VALUES +("Fuori campo IVA", 0, 0, 1, "N2", 300, 1), +("Es.art27DL98/11", 0, 0, 1, "N2", 301, 1), +("Escluso art. 2", 0, 0, 1, "N2", 302, 1), +("Escluso art. 3", 0, 0, 1, "N2", 303, 1), +("Escluso art. 4", 0, 0, 1, "N2", 304, 1), +("Escluso art. 5", 0, 0, 1, "N2", 305, 1), +("Esc.art7tr noUE", 0, 0, 1, "N2", 306, 1), +("Escl.art7ter UE", 0, 0, 1, "N6", 307, 1), +("Es. art.10 n.18", 0, 0, 1, "N4", 308, 1), +("Es.art.10 n.1/9", 0, 0, 1, "N4", 309, 1), +("Esente art. 10", 0, 0, 1, "N4", 310, 1), +("Art8,1/a triang", 0, 0, 1, "N3", 311, 1), +("N.I.art.8,2 ITA", 0, 0, 1, "N3", 312, 1), +("N.I.art.8,2 UE", 0, 0, 1, "N3", 313, 1), +("N.I. art. 9 c.1", 0, 0, 1, "N3", 314, 1), +("Escluso art. 15", 0, 0, 1, "N1", 315, 1), +("Art.17,6 let.a-", 0, 0, 1, "N6", 316, 1), +("N.I. art.74 ter", 0, 0, 1, "N5", 317, 1), +("N.I.art.14 L.49", 0, 0, 1, "N3", 318, 1), +("Es.art.10 n.27q", 0, 0, 1, "N4", 319, 1), +("N.I.a.8,2 no-UE", 0, 0, 1, "N3", 320, 1), +("Es. art.10 n.11", 0, 0, 1, "N4", 321, 1), +("N.I. art. 8 bis", 0, 0, 1, "N3", 322, 1), +("N.I. art.8,1 b", 0, 0, 1, "N3", 323, 1), +("N.I. art.8,1 c", 0, 0, 1, "N3", 324, 1), +("N.I. art.8,1 a", 0, 0, 1, "N3", 325, 1), +("N.V.escl.art.26", 0, 0, 1, "N2", 326, 1), +("N.I. altri acq.", 0, 0, 1, "N3", 327, 1), +("Op. non sog.ter", 0, 0, 1, "N2", 328, 1), +("N.I. art. 9 c.2", 0, 0, 1, "N3", 329, 1), +("Esc.art7quatrUE", 0, 0, 1, "N6", 330, 1), +("Esc.art7qtrNOUE", 0, 0, 1, "N2", 331, 1), +("Esc.art7quinqUE", 0, 0, 1, "N6", 332, 1), +("Esc.art7qnqNOUE", 0, 0, 1, "N2", 333, 1), +("Art.36-bis", 0, 0, 1, "N2", 334, 1), +("Art.17 comma 3", 0, 0, 1, "N2", 335, 1), +("DL41/95 art.36", 0, 0, 1, "N5", 336, 1), +("Es.art.19c3abis", 0, 0, 1, "N4", 337, 1), +("N.I. art.38 q.", 0, 0, 1, "N3", 338, 1), +("Escl.art.7nodet", 0, 0, 1, "N2", 339, 1), +("Esc.art.7spt/sx", 0, 0, 1, "N2", 340, 1), +("DL331/93 art.41", 0, 0, 1, "N3", 341, 1), +("DL331art42,40c2", 0, 0, 1, "N3", 342, 1), +("N.I.art.8,1 b2", 0, 0, 1, "N3", 343, 1), +("Escl.art.7bisUE", 0, 0, 1, "N6", 344, 1), +("DL331 a.50b,4-g", 0, 0, 1, "N3", 350, 1), +("DL331 a.50b,4-f", 0, 0, 1, "N3", 351, 1), +("Cess. dep. IVA", 0, 0, 1, "N2", 352, 1), +("N.I.Acq.dep.IVA", 0, 0, 1, "N2", 353, 1), +("Es.art1 L190/14", 0, 0, 1, "N2", 354, 1), +("Ces.gratuiteExp", 0, 0, 1, "N3", 355, 1), +("DL331/93 a.58,1", 0, 0, 1, "N3", 358, 1), +("Esc.legge67/88", 0, 0, 1, "N2", 367, 1), +("Imp.n.s. art.68", 0, 0, 1, "N3", 368, 1), +("Art.74 ter c. 8", 0, 0, 1, "N6", 369, 1), +("Escl.art.7bis", 0, 0, 1, "N2", 370, 1), +("N.I.art.71 V-SM", 0, 0, 1, "N3", 371, 1), +("N.I. art. 72", 0, 0, 1, "N3", 372, 1), +("N.I.art.74c.1-2", 0, 0, 1, "N2", 374, 1), +("Art. 74 c. 7-8", 0, 0, 1, "N6", 375, 1), +("Art. 17 c. 5", 0, 0, 1, "N6", 376, 1), +("Art.17,6 lett.a", 0, 0, 1, "N6", 377, 1), +("Art.74 ter c. 8", 0, 0, 1, "N3", 378, 1), +("Art.17,6 lett.b", 0, 0, 1, "N6", 379, 1), +("Art.17,6 lett.c", 0, 0, 1, "N6", 380, 1), +("Art.17,6 let.a3", 0, 0, 1, "N6", 381, 1), +("Art.17,6,lett.d", 0, 0, 1, "N6", 382, 1), +("Aliq. Iva 2%", 2, 0, 0, NULL, 2, 1), +("Aliq. Iva 4%", 4, 0, 0, NULL, 4, 1), +("Aliq. Iva 5%", 5, 0, 0, NULL, 5, 1), +("Aliq. Iva 7%", 7, 0, 0, NULL, 7, 1), +("Aliq. Iva 8%", 8, 0, 0, NULL, 8, 1), +("Aliq. Iva 10%", 10, 0, 0, NULL, 10, 1), +("Aliq. Iva 12,3%", 12.3, 0, 0, NULL, 13, 1), +("Aliq. Iva 20%", 20, 0, 0, NULL, 20, 1), +("Aliq. Iva 21%", 21, 0, 0, NULL, 21, 1), +("Aliq. Iva 22%", 22, 0, 0, NULL, 22, 1), +("Aliq. Iva 7,3%", 7.3, 0, 0, NULL, 73, 1), +("Aliq. Iva 7,5%", 7.5, 0, 0, NULL, 75, 1), +("Aliq. Iva 7,65%", 7.65, 0, 0, NULL, 76, 1), +("Aliq. Iva 7,7%", 7.7, 0, 0, NULL, 77, 1), +("Aliq. Iva 7,95%", 7.95, 0, 0, NULL, 79, 1), +("Aliq. Iva 8,3%", 8.3, 0, 0, NULL, 83, 1), +("Aliq. Iva 8,5%", 8.5, 0, 0, NULL, 85, 1), +("Aliq. Iva 8,8%", 8.8, 0, 0, NULL, 88, 1), +("Scorporo 2%", 2, 0, 0, NULL, 102, 1), +("Scorporo 4%", 4, 0, 0, NULL, 104, 1), +("Scorporo 5%", 5, 0, 0, NULL, 105, 1), +("Scorporo 7%", 7, 0, 0, NULL, 107, 1), +("Scorporo 8%", 8, 0, 0, NULL, 108, 1), +("Scorporo 10%", 10, 0, 0, NULL, 110, 1), +("Scorporo 12,3%", 12.3, 0, 0, NULL, 113, 1), +("Scorporo 20%", 20, 0, 0, NULL, 120, 1), +("Scorporo 21%", 21, 0, 0, NULL, 121, 1), +("Scorporo 22%", 22, 0, 0, NULL, 122, 1), +("Scorporo 7,3%", 7.3, 0, 0, NULL, 173, 1), +("Scorporo 7,5%", 7.5, 0, 0, NULL, 175, 1), +("Scorporo 7,65%", 7.65, 0, 0, NULL, 176, 1), +("Scorporo 7,7%", 7.7, 0, 0, NULL, 177, 1), +("Scorporo 7,95%", 7.95, 0, 0, NULL, 179, 1), +("Scorporo 8,3%", 8.3, 0, 0, NULL, 183, 1), +("Scorporo 8,5%", 8.5, 0, 0, NULL, 185, 1), +("Scorporo 8,8%", 8.8, 0, 0, NULL, 188, 1), +("Corr. Ventilati", 0, 0, 0, NULL, 200, 1), +("Iva Vent. 2%", 2, 0, 0, NULL, 202, 1), +("Iva Vent. 4%", 4, 0, 0, NULL, 204, 1), +("Iva Vent. 5%", 5, 0, 0, NULL, 205, 1), +("Iva Vent. 7%", 7, 0, 0, NULL, 207, 1), +("Iva Vent. 8%", 8, 0, 0, NULL, 208, 1), +("Iva Vent. 10%", 10, 0, 0, NULL, 210, 1), +("Iva Vent. 12,3%", 12.3, 0, 0, NULL, 213, 1), +("Iva Vent. 20%", 20, 0, 0, NULL, 220, 1), +("Iva Vent. 21%", 21, 0, 0, NULL, 221, 1), +("Iva Vent. 22%", 22, 0, 0, NULL, 222, 1), +("Iva Vent. 7,3%", 7.3, 0, 0, NULL, 273, 1), +("Iva Vent. 7,5%", 7.5, 0, 0, NULL, 275, 1), +("Iva Vent. 7,65%", 7.65, 0, 0, NULL, 276, 1), +("Iva Vent. 7,7%", 7.7, 0, 0, NULL, 277, 1), +("Iva Vent. 7,95%", 7.95, 0, 0, NULL, 279, 1), +("Iva Vent. 8,3%", 8.3, 0, 0, NULL, 283, 1), +("Iva Vent. 8,5%", 8.5, 0, 0, NULL, 285, 1), +("Iva Vent. 8,8%", 8.8, 0, 0, NULL, 288, 1), +("Iva Tot. Indetr 2%", 2, 100, 0, NULL, 602, 1), +("Iva Tot. Indetr 4%", 4, 100, 0, NULL, 604, 1), +("Iva Tot. Indetr 5%", 5, 100, 0, NULL, 605, 1), +("Iva Tot. Indetr 7%", 7, 100, 0, NULL, 607, 1), +("Iva Tot. Indetr 8%", 8, 100, 0, NULL, 608, 1), +("Iva Tot. Indetr 10%", 10, 100, 0, NULL, 610, 1), +("Iva Tot. Indetr 12,3%", 12.3, 100, 0, NULL, 613, 1), +("Iva Tot. Indetr 20%", 20, 100, 0, NULL, 620, 1), +("Iva Tot. Indetr 21%", 21, 100, 0, NULL, 621, 1), +("Iva Tot. Indetr 22%", 22, 100, 0, NULL, 622, 1), +("Iva Tot. Indetr 7,3%", 7.3, 100, 0, NULL, 673, 1), +("Iva Tot. Indetr 7,5%", 7.5, 100, 0, NULL, 675, 1), +("Iva Tot. Indetr 7,65%", 7.65, 100, 0, NULL, 676, 1), +("Iva Tot. Indetr 7,7%", 7.7, 100, 0, NULL, 677, 1), +("Iva Tot. Indetr 7,95%", 7.95, 100, 0, NULL, 679, 1), +("Iva Tot. Indetr 8,3%", 8.3, 100, 0, NULL, 683, 1), +("Iva Tot. Indetr 8,5%", 8.5, 100, 0, NULL, 685, 1), +("Iva Tot. Indetr 8,8%", 8.8, 100, 0, NULL, 688, 1), +("Iva Agric. 2%", 2, 0, 0, NULL, 802, 1), +("Iva Agric. 4%", 4, 0, 0, NULL, 804, 1), +("Iva Agric. 5%", 5, 0, 0, NULL, 805, 1), +("Iva Agric. 7%", 7, 0, 0, NULL, 807, 1), +("Iva Agric. 8%", 8, 0, 0, NULL, 808, 1), +("Iva Agric. 10%", 10, 0, 0, NULL, 810, 1), +("Iva Agric. 12,3", 12.3, 0, 0, NULL, 813, 1), +("Iva Agric. 20%", 20, 0, 0, NULL, 820, 1), +("Iva Agric. 21%", 21, 0, 0, NULL, 821, 1), +("Iva Agric. 22%", 22, 0, 0, NULL, 822, 1), +("Iva Agric. 7,3%", 7.3, 0, 0, NULL, 873, 1), +("Iva Agric. 7,5%", 7.5, 0, 0, NULL, 875, 1), +("Iva Agric. 7,65", 7.65, 0, 0, NULL, 876, 1), +("Iva Agric. 7,7%", 7.7, 0, 0, NULL, 877, 1), +("Iva Agric. 7,95", 7.95, 0, 0, NULL, 879, 1), +("Iva Agric. 8,3%", 8.3, 0, 0, NULL, 883, 1), +("Iva Agric. 8,5%", 8.5, 0, 0, NULL, 885, 1), +("Iva Agric. 8,8%", 8.8, 0, 0, NULL, 888, 1); CREATE TABLE IF NOT EXISTS `fe_causali_pagamento_ritenuta` ( `codice` varchar(4) NOT NULL,