Fix importi riepilogo FE
This commit is contained in:
parent
2b4fa03747
commit
da28516e67
|
@ -326,10 +326,10 @@ switch (post('op')) {
|
|||
$riga->id_iva = post('idiva');
|
||||
$riga->idconto = post('idconto');
|
||||
|
||||
$articolo->calcolo_ritenuta_acconto = post('calcolo_ritenuta_acconto') ?: null;
|
||||
$articolo->id_ritenuta_acconto = post('id_ritenuta_acconto') ?: null;
|
||||
$riga->calcolo_ritenuta_acconto = post('calcolo_ritenuta_acconto') ?: null;
|
||||
$riga->id_ritenuta_acconto = post('id_ritenuta_acconto') ?: null;
|
||||
|
||||
$articolo->id_rivalsa_inps = post('id_rivalsa_inps') ?: null;
|
||||
$riga->id_rivalsa_inps = post('id_rivalsa_inps') ?: null;
|
||||
|
||||
if (post('prezzo_acquisto')) {
|
||||
$riga->prezzo_unitario_acquisto = post('prezzo_acquisto');
|
||||
|
|
|
@ -1015,17 +1015,27 @@ class FatturaElettronica
|
|||
}
|
||||
|
||||
// Riepiloghi per IVA per 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`.`esigibilita`, `co_iva`.`percentuale`, `co_iva`.`dicitura` 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 AND sconto_globale=0 GROUP BY `co_iva`.`percentuale`');
|
||||
$righe = $documento->getRighe();
|
||||
|
||||
$riepiloghi_percentuale = $righe->filter(function ($item, $key) {
|
||||
return $item->aliquota->codice_natura_fe == null;
|
||||
})->groupBy(function ($item, $key) {
|
||||
return $item->aliquota->percentuale;
|
||||
});
|
||||
foreach ($riepiloghi_percentuale as $riepilogo) {
|
||||
$totale = round($riepilogo->sum('imponibile') + $riepilogo->sum('rivalsa_inps'), 2);
|
||||
$imposta = round($riepilogo->sum('iva') + $riepilogo->sum('iva_rivalsa_inps'), 2);
|
||||
|
||||
$dati = $riepilogo->first()->aliquota;
|
||||
|
||||
$iva = [
|
||||
'AliquotaIVA' => $riepilogo['percentuale'],
|
||||
'ImponibileImporto' => abs($riepilogo['totale']),
|
||||
'Imposta' => abs($riepilogo['iva']),
|
||||
'EsigibilitaIVA' => $riepilogo['esigibilita'],
|
||||
'AliquotaIVA' => $dati['percentuale'],
|
||||
'ImponibileImporto' => abs($totale),
|
||||
'Imposta' => abs($imposta),
|
||||
'EsigibilitaIVA' => $dati['esigibilita'],
|
||||
];
|
||||
|
||||
//Con split payment EsigibilitaIVA sempre a S
|
||||
// Con split payment EsigibilitaIVA sempre a S
|
||||
if ($documento['split_payment']) {
|
||||
$iva['EsigibilitaIVA'] = 'S';
|
||||
}
|
||||
|
@ -1036,30 +1046,38 @@ class FatturaElettronica
|
|||
// $iva['RiferimentoNormativo'] = $riepilogo['dicitura'];
|
||||
}
|
||||
|
||||
//2.2.2
|
||||
// 2.2.2
|
||||
$result[] = [
|
||||
'DatiRiepilogo' => $iva,
|
||||
];
|
||||
}
|
||||
|
||||
// Riepiloghi per IVA per natura
|
||||
$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`.`esigibilita`, `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`');
|
||||
$riepiloghi_natura = $righe->filter(function ($item, $key) {
|
||||
return $item->aliquota->codice_natura_fe != null;
|
||||
})->groupBy(function ($item, $key) {
|
||||
return $item->aliquota->codice_natura_fe;
|
||||
});
|
||||
foreach ($riepiloghi_natura as $riepilogo) {
|
||||
$totale = round($riepilogo->sum('imponibile') + $riepilogo->sum('rivalsa_inps'), 2);
|
||||
$imposta = round($riepilogo->sum('iva') + $riepilogo->sum('iva_rivalsa_inps'), 2);
|
||||
|
||||
$dati = $riepilogo->first()->aliquota;
|
||||
|
||||
$iva = [
|
||||
'AliquotaIVA' => 0,
|
||||
'Natura' => $riepilogo['codice_natura_fe'],
|
||||
'ImponibileImporto' => abs($riepilogo['totale']),
|
||||
'Imposta' => abs($riepilogo['iva']),
|
||||
'EsigibilitaIVA' => $riepilogo['esigibilita'],
|
||||
'Natura' => $dati['codice_natura_fe'],
|
||||
'ImponibileImporto' => abs($totale),
|
||||
'Imposta' => abs($imposta),
|
||||
'EsigibilitaIVA' => $dati['esigibilita'],
|
||||
];
|
||||
|
||||
//Con split payment EsigibilitaIVA sempre a S
|
||||
// Con split payment EsigibilitaIVA sempre a S
|
||||
if ($documento['split_payment']) {
|
||||
$iva['EsigibilitaIVA'] = 'S';
|
||||
}
|
||||
|
||||
//2.2.2
|
||||
// 2.2.2
|
||||
$result[] = [
|
||||
'DatiRiepilogo' => $iva,
|
||||
];
|
||||
|
|
|
@ -12,7 +12,7 @@ ALTER TABLE `co_statipreventivi` ADD `fatturabile` BOOLEAN NOT NULL DEFAULT FALS
|
|||
UPDATE `co_statipreventivi` SET `fatturabile` = 1 WHERE `descrizione` IN('Parzialmente fatturato', 'Concluso', 'Pagato', 'In lavorazione', 'Accettato', 'In attesa di conferma');
|
||||
|
||||
-- Inserisco due nuovi stati contratti
|
||||
UPDATE `co_statipreventivi` SET `descrizione` = 'Fatturato', `pianificabile` = 0, `annullato` = 0, `icona` = 'fa fa-file-text-o text-success' WHERE `descrizione` = 'In attesa di pagamento';
|
||||
UPDATE `co_staticontratti` SET `descrizione` = 'Fatturato', `pianificabile` = 0, `annullato` = 0, `icona` = 'fa fa-file-text-o text-success' WHERE `descrizione` = 'In attesa di pagamento';
|
||||
INSERT INTO `co_staticontratti` (`id`, `descrizione`, `pianificabile`, `fatturabile`, `icona`) VALUES
|
||||
(NULL, 'Parzialmente fatturato', 0, 1, 'fa fa-file-text-o text-warning');
|
||||
|
||||
|
|
Loading…
Reference in New Issue