Adeguamento IVA FE

This commit is contained in:
Thomas Zilio 2018-09-21 18:08:47 +02:00
parent 197cb22968
commit 511623ef10
18 changed files with 294 additions and 54 deletions

View File

@ -10,7 +10,7 @@ echo App::internalLoad('conti.php', $result, $options);
echo '
<div class="row">
<div class="col-md-4">
{[ "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" ]}
</div>';
// Quantità

View File

@ -180,7 +180,7 @@ if (!$cliente) {
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Iva predefinita'); ?>", "name": "idiva_acquisti", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_acquisti$", "extra": "<?php echo ($fornitore) ? '' : 'readonly'; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Iva predefinita'); ?>", "name": "idiva_acquisti", "ajax-source": "iva", "value": "$idiva_acquisti$", "extra": "<?php echo ($fornitore) ? '' : 'readonly'; ?>" ]}
</div>
<div class="col-md-6">
@ -212,7 +212,7 @@ if (!$cliente) {
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Iva predefinita'); ?>", "name": "idiva_vendite", "values": "query=SELECT id, descrizione FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_vendite$", "extra": "<?php echo ($cliente) ? '' : 'readonly'; ?>" ]}
{[ "type": "select", "label": "<?php echo tr('Iva predefinita'); ?>", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "<?php echo ($cliente) ? '' : 'readonly'; ?>" ]}
</div>
<div class="col-md-6">

View File

@ -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) {

View File

@ -164,7 +164,7 @@ if (!empty($record['immagine'])) {
</div>
<div class="col-md-6">
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "values": "query=SELECT * FROM co_iva ORDER BY descrizione ASC", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita" ]}
{[ "type": "select", "label": "<?php echo tr('Iva di vendita'); ?>", "name": "idiva_vendita", "ajax-source": "iva", "value": "$idiva_vendita$", "valore_predefinito": "Iva predefinita" ]}
</div>
</div>

View File

@ -55,7 +55,7 @@ $idiva = $idiva ?: setting('Iva predefinita');
echo '
<div class="row">
<div class="col-md-6">
{[ "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" ]}
</div>';
echo '

View File

@ -80,7 +80,7 @@ $idiva = $idiva ?: setting('Iva predefinita');
echo '
<div class="row">
<div class="col-md-6">
{[ "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" ]}
</div>';
echo '

View File

@ -64,7 +64,7 @@ $idiva = $idiva ?: setting('Iva predefinita');
echo '
<div class="row">
<div class="col-md-6">
{[ "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" ]}
</div>';
echo '

View File

@ -399,7 +399,6 @@ if (!empty($id_intervento)) {
}
// session_set('superselect,idzona', $(this).selectData().idzona, 0);
}
});
$('#idpreventivo').change( function(){

View File

@ -119,7 +119,7 @@ echo '
echo '
<div class="row">
<div class="col-md-4">
{[ "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" ]}
</div>';
// Prezzo di vendita

View File

@ -80,7 +80,7 @@ echo '
// Iva
echo '
<div class="col-md-4">
{[ "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" ]}
</div>
</div>';

View File

@ -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',

View File

@ -13,11 +13,15 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "number", "label": "<?php echo tr('Percentuale'); ?>", "name": "percentuale", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Esente'); ?>", "name": "esente", "id": "esente-add", "value": "$esente$" ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Percentuale'); ?>", "name": "percentuale", "id": "percentuale-add", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
</div>
<div class="col-md-6">
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Indetraibile'); ?>", "name": "indetraibile", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
</div>
</div>
@ -29,3 +33,17 @@ include_once __DIR__.'/../../core.php';
</div>
</div>
</form>
<script>
$(document).ready(function(){
$('#esente-add').change(function(){
var checkbox = $(this).parent().find('[type=hidden]');
if (checkbox.val() == 1) {
$("#percentuale-add").prop("disabled", true);
} else {
$("#percentuale-add").prop("disabled", false);
}
});
});
</script>

View File

@ -0,0 +1,22 @@
<?php
include_once __DIR__.'/../../../core.php';
switch ($resource) {
case 'iva':
$query = 'SELECT id, IF(codice IS NULL, descrizione, CONCAT(codice, " - ", descrizione)) AS descrizione FROM co_iva |where| ORDER BY descrizione ASC';
foreach ($elements as $element) {
$filter[] = 'id='.prepare($element);
}
if (!empty($search)) {
$search_fields[] = 'descrizione LIKE '.prepare('%'.$search.'%');
$search_fields[] = 'codice LIKE '.prepare('%'.$search.'%');
}
if (empty($filter)) {
$where[] = 'deleted_at IS NULL';
}
break;
}

View File

@ -20,12 +20,26 @@ include_once __DIR__.'/../../core.php';
</div>
<div class="row">
<div class="col-md-4">
{[ "type": "checkbox", "label": "<?php echo tr('Esente'); ?>", "name": "esente", "id": "esente-edit", "value": "$esente$"]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Percentuale'); ?>", "name": "percentuale", "id": "percentuale-edit", "value": "$percentuale$", "icon-after": "<i class=\"fa fa-percent\"></i>", "disabled": <?php echo intval($record['esente']); ?> ]}
</div>
<div class="col-md-4">
{[ "type": "number", "label": "<?php echo tr('Indetraibile'); ?>", "name": "indetraibile", "value": "$indetraibile$", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
</div>
</div>
<div class="row">
<div class="col-md-6">
{[ "type": "number", "label": "<?php echo tr('Percentuale'); ?>", "name": "percentuale", "value": "$percentuale$", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
{[ "type": "text", "label": "<?php echo tr('Codice'); ?>", "name": "codice", "value": "$codice$" ]}
</div>
<div class="col-md-6">
{[ "type": "number", "label": "<?php echo tr('Indetraibile'); ?>", "name": "indetraibile", "value": "$indetraibile$", "icon-after": "<i class=\"fa fa-percent\"></i>" ]}
{[ "type": "select", "label": "<?php echo tr('Codice Natura (Fatturazione Elettronica)'); ?>", "name": "codice_natura_fe", "value": "$codice_natura_fe$", "values": "query=SELECT codice as id, CONCAT(codice, ' - ', descrizione) AS descrizione FROM fe_natura" ]}
</div>
</div>
@ -42,3 +56,17 @@ include_once __DIR__.'/../../core.php';
<a class="btn btn-danger ask" data-backto="record-list">
<i class="fa fa-trash"></i> <?php echo tr('Elimina'); ?>
</a>
<script>
$(document).ready(function(){
$('#esente-edit').change(function(){
var checkbox = $(this).parent().find('[type=hidden]');
if (checkbox.val() == 1) {
$("#percentuale-edit").prop("disabled", true);
} else {
$("#percentuale-edit").prop("disabled", false);
}
});
});
</script>

View File

@ -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']));

View File

@ -125,7 +125,7 @@ echo '
echo '
<div class="row">
<div class="col-md-4">
{[ "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" ]}
</div>';
// Prezzo di vendita

View File

@ -72,7 +72,7 @@ echo '
// Iva
echo '
<div class="col-md-4">
{[ "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" ]}
</div>
</div>';

View File

@ -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,