diff --git a/templates/liquidazione_iva/init.php b/templates/liquidazione_iva/init.php index 5e3749b30..402b5a530 100644 --- a/templates/liquidazione_iva/init.php +++ b/templates/liquidazione_iva/init.php @@ -35,23 +35,464 @@ if ($periodo['valore'] == 'Mensile') { $periodo_precedente_end = (new Carbon($date_end))->subMonths(3)->format('Y-m-d'); } +$vendita_banco = $dbo->fetchNum("SELECT * FROM zz_modules WHERE name='Vendita al banco'"); $maggiorazione = 0; -$iva_vendite_esigibile = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE co_documenti.split_payment=0 AND is_descrizione = 0 AND dir="entrata" AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); -$iva_vendite_nonesigibile = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE co_documenti.split_payment=1 AND is_descrizione = 0 AND dir="entrata" AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +// calcolo IVA su fatture + vendite al banco +if (!empty($vendita_banco)){ -$iva_vendite = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="entrata" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite_esigibile = $dbo->fetchArray(' + SELECT + cod_iva, + aliquota, + descrizione, + SUM(iva) AS iva, + SUM(subtotale) AS subtotale + FROM + ( + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM( + (iva + iva_rivalsainps) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS iva, + SUM( + (subtotale - sconto) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN( + SELECT + id + FROM + co_statidocumento + WHERE + descrizione = "Bozza" OR descrizione = "Annullata" + ) AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY cod_iva, aliquota, descrizione + UNION + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(vb_righe_venditabanco.iva) AS iva, + SUM( + vb_righe_venditabanco.subtotale - vb_righe_venditabanco.sconto + ) AS subtotale + FROM + co_iva + INNER JOIN vb_righe_venditabanco ON vb_righe_venditabanco.idiva = co_iva.id + INNER JOIN vb_venditabanco ON vb_venditabanco.id = vb_righe_venditabanco.idvendita + INNER JOIN vb_stati_vendita ON vb_venditabanco.idstato = vb_stati_vendita.id + WHERE + vb_venditabanco.data >= '.prepare($date_start).' AND vb_venditabanco.data <= '.prepare($date_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" + GROUP BY + cod_iva, aliquota, descrizione + ) AS tabella + GROUP BY + cod_iva, + aliquota, + descrizione;'); + -$iva_vendite_anno_precedente = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="entrata" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite = $dbo->fetchArray(' + SELECT + cod_iva, + aliquota, + descrizione, + SUM(iva) AS iva, + SUM(subtotale) AS subtotale + FROM + ( + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM( + (iva + iva_rivalsainps) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS iva, + SUM( + (subtotale - sconto) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN( + SELECT + id + FROM + co_statidocumento + WHERE + descrizione = "Bozza" OR descrizione = "Annullata" + ) AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY cod_iva, aliquota, descrizione + UNION + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(vb_righe_venditabanco.iva) AS iva, + SUM( + vb_righe_venditabanco.subtotale - vb_righe_venditabanco.sconto + ) AS subtotale + FROM + co_iva + INNER JOIN vb_righe_venditabanco ON vb_righe_venditabanco.idiva = co_iva.id + INNER JOIN vb_venditabanco ON vb_venditabanco.id = vb_righe_venditabanco.idvendita + INNER JOIN vb_stati_vendita ON vb_venditabanco.idstato = vb_stati_vendita.id + WHERE + vb_venditabanco.data >= '.prepare($date_start).' AND vb_venditabanco.data <= '.prepare($date_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" + GROUP BY + cod_iva, aliquota, descrizione + ) AS tabella + GROUP BY + cod_iva, + aliquota, + descrizione;'); + +$iva_vendite_anno_precedente = $dbo->fetchArray(' + SELECT + cod_iva, + aliquota, + descrizione, + SUM(iva) AS iva, + SUM(subtotale) AS subtotale + FROM + ( + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM( + (iva + iva_rivalsainps) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS iva, + SUM( + (subtotale - sconto) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN( + SELECT + id + FROM + co_statidocumento + WHERE + descrizione = "Bozza" OR descrizione = "Annullata" + ) AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' + GROUP BY cod_iva, aliquota, descrizione + UNION + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(vb_righe_venditabanco.iva) AS iva, + SUM( + vb_righe_venditabanco.subtotale - vb_righe_venditabanco.sconto + ) AS subtotale + FROM + co_iva + INNER JOIN vb_righe_venditabanco ON vb_righe_venditabanco.idiva = co_iva.id + INNER JOIN vb_venditabanco ON vb_venditabanco.id = vb_righe_venditabanco.idvendita + INNER JOIN vb_stati_vendita ON vb_venditabanco.idstato = vb_stati_vendita.id + WHERE + vb_venditabanco.data >= '.prepare($anno_precedente_start).' AND vb_venditabanco.data <= '.prepare($anno_precedente_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" + GROUP BY + cod_iva, aliquota, descrizione + ) AS tabella + GROUP BY + cod_iva, + aliquota, + descrizione;'); + +$iva_vendite_periodo_precedente = $dbo->fetchArray(' + SELECT + cod_iva, + aliquota, + descrizione, + SUM(iva) AS iva, + SUM(subtotale) AS subtotale + FROM + ( + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM( + (iva + iva_rivalsainps) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS iva, + SUM( + (subtotale - sconto) *( + IF( + co_tipidocumento.reversed = 0, + 1, + -1 + ) + ) + ) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN( + SELECT + id + FROM + co_statidocumento + WHERE + descrizione = "Bozza" OR descrizione = "Annullata" + ) AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' + GROUP BY cod_iva, aliquota, descrizione + UNION + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(vb_righe_venditabanco.iva) AS iva, + SUM( + vb_righe_venditabanco.subtotale - vb_righe_venditabanco.sconto + ) AS subtotale + FROM + co_iva + INNER JOIN vb_righe_venditabanco ON vb_righe_venditabanco.idiva = co_iva.id + INNER JOIN vb_venditabanco ON vb_venditabanco.id = vb_righe_venditabanco.idvendita + INNER JOIN vb_stati_vendita ON vb_venditabanco.idstato = vb_stati_vendita.id + WHERE + vb_venditabanco.data >= '.prepare($periodo_precedente_start).' AND vb_venditabanco.data <= '.prepare($periodo_precedente_end).' AND vb_righe_venditabanco.is_descrizione = 0 AND vb_stati_vendita.descrizione = "Pagato" + GROUP BY + cod_iva, aliquota, descrizione + ) AS tabella + GROUP BY + cod_iva, + aliquota, + descrizione;'); -$iva_vendite_periodo_precedente = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="entrata" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +} -$iva_acquisti_detraibile = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM(((iva*(100-indetraibile)/100)+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE co_documenti.split_payment=0 AND dir="uscita" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND co_iva.indetraibile != 100 AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +// calcolo IVA solo su fatture +else { +$iva_vendite_esigibile = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY + co_iva.id;'); -$iva_acquisti_nondetraibile = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota, co_iva.descrizione AS descrizione, SUM(((iva*indetraibile/100)+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="uscita" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND co_iva.indetraibile != 0 AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY + co_iva.id;'); -$iva_acquisti = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva, SUM((subtotale-sconto)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS subtotale FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="uscita" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite_anno_precedente = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' + GROUP BY + co_iva.id;'); -$iva_acquisti_anno_precedente = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="uscita" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite_periodo_precedente = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' + GROUP BY + co_iva.id;'); +} -$iva_acquisti_periodo_precedente = $dbo->fetchArray('SELECT co_iva.codice_natura_fe AS cod_iva, co_iva.percentuale AS aliquota,co_iva.descrizione AS descrizione, SUM((iva+iva_rivalsainps)*(IF(co_tipidocumento.reversed=0, 1, -1))) AS iva FROM co_tipidocumento INNER JOIN co_documenti ON co_tipidocumento.id=co_documenti.idtipodocumento INNER JOIN co_righe_documenti ON co_documenti.id=co_righe_documenti.iddocumento INNER JOIN co_iva ON co_righe_documenti.idiva=co_iva.id WHERE dir="uscita" AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") GROUP BY idiva'); +$iva_vendite_nonesigibile = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1)) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "entrata" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 1 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY + co_iva.id;'); + +$iva_acquisti_detraibile = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(((co_righe_documenti.iva*(100-indetraibile)/100) + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND co_documenti.split_payment = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND co_iva.indetraibile != 100 + GROUP BY + co_iva.id;'); + +$iva_acquisti_nondetraibile = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM(((co_righe_documenti.iva*indetraibile/100) + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= ' . prepare($date_start) . ' AND co_documenti.data_competenza <= ' . prepare($date_end) . ' AND co_iva.indetraibile != 0 + GROUP BY + co_iva.id;'); + +$iva_acquisti = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' + GROUP BY + co_iva.id;'); + + $iva_acquisti_anno_precedente = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($anno_precedente_start).' AND co_documenti.data_competenza <= '.prepare($anno_precedente_end).' + GROUP BY + co_iva.id;'); + + $iva_acquisti_periodo_precedente = $dbo->fetchArray(' + SELECT + co_iva.codice_natura_fe AS cod_iva, + co_iva.percentuale AS aliquota, + co_iva.descrizione AS descrizione, + SUM((co_righe_documenti.iva + iva_rivalsainps) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS iva, + SUM((co_righe_documenti.subtotale - co_righe_documenti.sconto) *(IF(co_tipidocumento.reversed = 0,1,-1))) AS subtotale + FROM + co_iva + INNER JOIN co_righe_documenti ON co_righe_documenti.idiva = co_iva.id + INNER JOIN co_documenti ON co_documenti.id = co_righe_documenti.iddocumento + INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento + WHERE + co_tipidocumento.dir = "uscita" AND co_righe_documenti.is_descrizione = 0 AND idstatodocumento NOT IN(SELECT id FROM co_statidocumento WHERE descrizione = "Bozza" OR descrizione = "Annullata") AND co_documenti.data_competenza >= '.prepare($periodo_precedente_start).' AND co_documenti.data_competenza <= '.prepare($periodo_precedente_end).' + GROUP BY + co_iva.id;'); \ No newline at end of file