Fix IVA FE

This commit is contained in:
Thomas Zilio 2018-09-28 10:15:05 +02:00
parent ad6d87f9d2
commit c46a0ac90d
2 changed files with 20 additions and 9 deletions

View File

@ -26,8 +26,8 @@ $loader = require_once __DIR__.'/vendor/autoload.php';
$namespaces = require_once __DIR__.'/config/namespaces.php';
foreach ($namespaces as $path => $namespace) {
$loader->addPsr4($namespace.'\\', $path.'/custom/src');
$loader->addPsr4($namespace.'\\', $path.'/src');
$loader->addPsr4($namespace.'\\', __DIR__.'/'.$path.'/custom/src');
$loader->addPsr4($namespace.'\\', __DIR__.'/'.$path.'/src');
}
// Individuazione dei percorsi di base

View File

@ -476,15 +476,26 @@ class FatturaElettronica
// Riepiloghi per IVA
// TODO: risolvere di conseguenza alla Natura IVA
// Domanda: come si interpreta la descrizione ufficiale?
$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']));
$percentuale = $iva[0]['percentuale'];
$riepiloghi_percentuale = $database->fetchArray('SELECT SUM(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`) as totale, SUM(`co_righe_documenti`.`iva`) as iva, `co_iva`.`percentuale` FROM `co_righe_documenti` INNER JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND
`co_iva`.`codice_natura_fe` IS NULL GROUP BY `co_iva`.`percentuale`');
foreach ($riepiloghi_percentuale as $riepilogo) {
$result[] = [
'DatiRiepilogo' => [
'AliquotaIVA' => $percentuale,
'AliquotaIVA' => $riepilogo['percentuale'],
'ImponibileImporto' => $riepilogo['totale'],
'Imposta' => $riepilogo['iva'],
'EsigibilitaIVA' => 'I',
],
];
}
$riepiloghi_natura = $database->fetchArray('SELECT SUM(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`) as totale, SUM(`co_righe_documenti`.`iva`) as iva, `co_iva`.`codice_natura_fe` FROM `co_righe_documenti` INNER JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` WHERE `co_righe_documenti`.`iddocumento` = '.prepare($documento['id']).' AND
`co_iva`.`codice_natura_fe` IS NOT NULL GROUP BY `co_iva`.`codice_natura_fe`');
foreach ($riepiloghi_natura as $riepilogo) {
$result[] = [
'DatiRiepilogo' => [
'AliquotaIVA' => 0,
'Natura' => $riepilogo['codice_natura_fe'],
'ImponibileImporto' => $riepilogo['totale'],
'Imposta' => $riepilogo['iva'],
'EsigibilitaIVA' => 'I',