diff --git a/include/src/Components/Row.php b/include/src/Components/Row.php
index ebc09d70c..b0d6faede 100755
--- a/include/src/Components/Row.php
+++ b/include/src/Components/Row.php
@@ -66,6 +66,16 @@ abstract class Row extends Description
return ($this->prezzo_unitario_ivato - $this->sconto_unitario_ivato) * $this->qta;
}
+ /**
+ * Restituisce l'importo (unitario oppure unitario ivato a seconda dell'impostazione 'Utilizza prezzi di vendita con IVA incorporata') per la riga.
+ *
+ * @return float
+ */
+ public function getImportoAttribute()
+ {
+ return $this->incorporaIVA() ? $this->totale : $this->totale_imponibile;
+ }
+
/**
* Restituisce la spesa (costo_unitario * qta) relativa all'elemento.
*
diff --git a/modules/contratti/row-list.php b/modules/contratti/row-list.php
index fe0f24a34..53063afba 100755
--- a/modules/contratti/row-list.php
+++ b/modules/contratti/row-list.php
@@ -7,11 +7,10 @@ echo '
@@ -28,6 +27,7 @@ foreach ($righe as $riga) {
if ($riga->isArticolo()) {
$descrizione = Modules::link('Articoli', $riga->idarticolo, $riga->articolo->codice.' - '.$descrizione);
}
+
echo '
'.tr('Descrizione').'
- '.tr('Q.tà').'
- '.tr('U.m.').'
- '.tr('Costo unitario').'
- '.tr('Iva').'
- '.tr('Imponibile').'
+ '.tr('Q.tà').'
+ '.tr('Prezzo unitario').'
+ '.tr('Iva unitaria').'
+ '.tr('Importo').'
'.tr('Descrizione').' | -'.tr('Q.tà').' | -'.tr('U.m.').' | -'.tr('Costo unitario').' | -'.tr('Iva').' | -'.tr('Imponibile').' | -- | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'.tr('Descrizione').' | +'.tr('Q.tà').' | +'.tr('Prezzo unitario').' | +'.tr('Iva unitaria').' | +'.tr('Importo').' | ++ | '; - if (empty($r['is_descrizione'])) { + if ($riga->isDescrizione()) { echo ' - '.Translator::numberToLocale($r['qta'] - $r['qta_evasa'], 'qta').' / '.Translator::numberToLocale($r['qta'], 'qta').''; - } - echo ' + | + | + | + | '; + } else { + // Quantità e unità di misura + echo ' + | + '.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].' | '; - // Unità di misura - echo ' -'; - if (empty($r['is_descrizione'])) { + // Prezzi unitari echo ' - '.$r['um']; - } - echo ' - | '; ++ '.moneyFormat($riga->prezzo_unitario_corrente); - // Costo unitario - echo ' - | ';
- if (empty($r['is_descrizione'])) {
- echo '
- '.moneyFormat($r['subtotale'] / $r['qta']);
+ if ($dir == 'entrata' && $riga->costo_unitario != 0) {
+ echo '
+ + '.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).' + '; + } - if (abs($r['sconto_unitario']) > 0) { - $text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_'); + if (abs($riga->sconto_unitario) > 0) { + $text = discountInfo($riga); echo ' - '.replace($text, [ - '_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])), - '_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()), - ]).''; + '.$text.''; } - } - echo ' + + echo ' | ';
- // Iva
- echo '
- ';
- if (empty($r['is_descrizione'])) {
+ // Iva
echo '
- '.moneyFormat($r['iva']).'
- '.$r['desc_iva'].''; - } - echo ' + |
+ '.moneyFormat($riga->iva_unitaria).'
+ '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' | ';
- // Imponibile
- echo '
- '; - if (empty($r['is_descrizione'])) { + // Importo echo ' - '.moneyFormat($r['subtotale'] - $r['sconto']); - } - echo ' + | + '.moneyFormat($riga->importo).' | '; + } // Possibilità di rimuovere una riga solo se il ddt non è evaso echo ' @@ -187,7 +177,7 @@ $totale = abs($ddt->totale); // IMPONIBILE echo '||||||||||||||||
+ | '.tr('Imponibile', [], ['upper' => true]).': | @@ -202,7 +192,7 @@ echo ' if (!empty($sconto)) { echo '|||||||||||||||||||||||||||||||||
+ | '.tr('Sconto/maggiorazione', [], ['upper' => true]).': | @@ -216,7 +206,7 @@ if (!empty($sconto)) { // TOTALE IMPONIBILE echo '|||||||||||||||||||||||||||||||||
+ | '.tr('Totale imponibile', [], ['upper' => true]).': | @@ -231,7 +221,7 @@ if (!empty($sconto)) { // IVA echo '|||||||||||||||||||||||||||||||||
+ | '.tr('IVA', [], ['upper' => true]).': | @@ -245,7 +235,7 @@ echo ' // TOTALE echo '|||||||||||||||||||||||||||||||||
+ | '.tr('Totale', [], ['upper' => true]).': | diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index 641f219ca..6ca652920 100755 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -7,11 +7,10 @@ echo '|||||||||||||||||||||||||||||||||
'.tr('Descrizione').' | -'.tr('Q.tà').' | -'.tr('U.m.').' | -'.tr('Prezzo unitario').' | -'.tr('Iva').' | -'.tr('Importo').' | +'.tr('Q.tà').' | +'.tr('Prezzo unitario').' | +'.tr('Iva unitaria').' | +'.tr('Importo').' | '; - - if (!$riga->isDescrizione()) { + if ($riga->isDescrizione()) { echo ' - '.Translator::numberToLocale($r['qta'], 'qta'); - } - - echo ' + | + | + | + | '; + } else { + // Quantità e unità di misura + echo ' + | + '.numberFormat($riga->qta, 'qta').' '.$r['um'].' | '; - // Unità di misura - echo ' -'; - - if (!$riga->isDescrizione()) { + // Prezzi unitari echo ' - '.$r['um']; - } - - echo ' - | '; - - // Prezzi unitari - echo ' -'; - - if (!$riga->isDescrizione()) { - echo ' - '.moneyFormat($riga->prezzo_unitario); + |
+ '.moneyFormat($riga->prezzo_unitario_corrente);
if ($dir == 'entrata' && $riga->costo_unitario != 0) {
echo '
@@ -196,34 +182,24 @@ foreach ($righe as $riga) {
echo '
'.$text.''; } - } - echo ' - | ';
-
- // Iva
- echo '
- ';
-
- if (!$riga->isDescrizione()) {
echo '
- '.moneyFormat($r['iva']).'
- '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).''; - } - - echo ' | ';
- // Importo
- echo '
- '; - if (!$riga->isDescrizione()) { + // Iva echo ' - '.moneyFormat($r['totale_imponibile']); - } - echo ' + |
+ '.moneyFormat($riga->iva_unitaria).'
+ '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' | ';
+ // Importo
+ echo '
+ + '.moneyFormat($riga->importo).' + | '; + } + // Possibilità di rimuovere una riga solo se la fattura non è pagata echo ''; @@ -289,7 +265,7 @@ $netto_a_pagare = abs($fattura->netto); // IMPONIBILE echo ' | |||||||||||
+ | '.tr('Imponibile', [], ['upper' => true]).': | @@ -302,7 +278,7 @@ echo ' if (!empty($sconto)) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Sconto/maggiorazione', [], ['upper' => true]).': | @@ -314,7 +290,7 @@ if (!empty($sconto)) { // TOTALE IMPONIBILE echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Totale imponibile', [], ['upper' => true]).': | @@ -328,7 +304,7 @@ if (!empty($sconto)) { if (!empty($fattura->rivalsa_inps)) { echo ' | ||||||||||||||||||||||||||||||||
'; + | '; if ($dir == 'entrata') { echo ' @@ -349,7 +325,7 @@ if (!empty($fattura->rivalsa_inps)) { if (!empty($iva)) { echo ' | |||||||||||||||||||||||||||||||||
'; + | '; if ($records[0]['split_payment']) { echo ''.tr('Iva a carico del destinatario', [], ['upper' => true]).':'; @@ -368,7 +344,7 @@ if (!empty($iva)) { // TOTALE echo ' | |||||||||||||||||||||||||||||||||
+ | '.tr('Totale', [], ['upper' => true]).': | @@ -381,7 +357,7 @@ echo ' if (!empty($fattura->ritenuta_acconto)) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr("Ritenuta d'acconto", [], ['upper' => true]).': | @@ -395,7 +371,7 @@ if (!empty($fattura->ritenuta_acconto)) { if (!empty($fattura->totale_ritenuta_contributi)) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Ritenuta contributi', [], ['upper' => true]).': | @@ -409,7 +385,7 @@ if (!empty($fattura->totale_ritenuta_contributi)) { if ($totale != $netto_a_pagare) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Netto a pagare', [], ['upper' => true]).': |
diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php
index 9aebaf9e7..02a02f63f 100755
--- a/modules/ordini/row-list.php
+++ b/modules/ordini/row-list.php
@@ -7,11 +7,10 @@ echo '
'.tr('Descrizione').' |
- '.tr('Q.tà').' |
- '.tr('U.m.').' |
- '.tr('Costo unitario').' |
- '.tr('Iva').' |
- '.tr('Imponibile').' |
+ '.tr('Q.tà').' |
+ '.tr('Prezzo unitario').' |
+ '.tr('Iva unitaria').' |
+ '.tr('Importo').' |
| | ';
- echo '
- '; - if (empty($r['is_descrizione'])) { + if ($riga->isDescrizione()) { echo ' - '.Translator::numberToLocale($r['qta'] - $r['qta_evasa'], 'qta').' / '.Translator::numberToLocale($r['qta'], 'qta').''; - } - echo ' + | + | + | + | '; + } else { + // Quantità e unità di misura + echo ' + | + '.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].' | '; - // Unità di misura - echo ' -'; - if (empty($r['is_descrizione'])) { + // Prezzi unitari echo ' - '.$r['um']; - } - echo ' - | '; ++ '.moneyFormat($riga->prezzo_unitario_corrente); - // Costo unitario - echo ' - | ';
- if (empty($r['is_descrizione'])) {
- echo '
- '.moneyFormat($r['subtotale'] / $r['qta']);
+ if ($dir == 'entrata' && $riga->costo_unitario != 0) {
+ echo '
+ + '.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).' + '; + } - if (abs($r['sconto_unitario']) > 0) { - $text = $r['sconto_unitario'] > 0 ? tr('sconto _TOT_ _TYPE_') : tr('maggiorazione _TOT_ _TYPE_'); + if (abs($riga->sconto_unitario) > 0) { + $text = discountInfo($riga); echo ' - '.replace($text, [ - '_TOT_' => Translator::numberToLocale(abs($r['sconto_unitario'])), - '_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()), - ]).''; + '.$text.''; } - } - echo ' + + echo ' | ';
- // Iva
- echo '
- ';
- if (empty($r['is_descrizione'])) {
+ // Iva
echo '
- '.moneyFormat($r['iva']).'
- '.$r['desc_iva'].''; - } - echo ' + |
+ '.moneyFormat($riga->iva_unitaria).'
+ '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' | ';
- // Imponibile
- echo '
- '; - if (empty($r['is_descrizione'])) { + // Importo echo ' - '.moneyFormat($r['subtotale'] - $r['sconto']); - } - echo ' + | + '.moneyFormat($riga->importo).' | '; + } // Possibilità di rimuovere una riga solo se l'ordine non è evaso echo ' @@ -188,7 +176,7 @@ $totale = abs($ordine->totale); // IMPONIBILE echo '||||||||
+ | '.tr('Imponibile', [], ['upper' => true]).': | @@ -201,7 +189,7 @@ echo ' if (!empty($sconto)) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Sconto/maggiorazione', [], ['upper' => true]).': | @@ -213,7 +201,7 @@ if (!empty($sconto)) { // TOTALE IMPONIBILE echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Totale imponibile', [], ['upper' => true]).': | @@ -226,7 +214,7 @@ if (!empty($sconto)) { // IVA echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Iva', [], ['upper' => true]).': | @@ -238,7 +226,7 @@ echo ' // TOTALE echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Totale', [], ['upper' => true]).': |
diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php
index 73f6d6cc7..627b2bb3a 100755
--- a/modules/preventivi/row-list.php
+++ b/modules/preventivi/row-list.php
@@ -7,11 +7,10 @@ echo '
'.tr('Descrizione').' |
- '.tr('Q.tà').' |
- '.tr('U.m.').' |
- '.tr('Costo unitario').' |
- '.tr('Iva').' |
- '.tr('Imponibile').' |
+ '.tr('Q.tà').' |
+ '.tr('Prezzo unitario').' |
+ '.tr('Iva unitaria').' |
+ '.tr('Importo').' |
| | - | '; } else { - // Q.tà + // Quantità e unità di misura echo ' - | - '.Translator::numberToLocale($riga->qta_rimanente, 'qta').' / '.Translator::numberToLocale($riga->qta, 'qta').' - | '; ++ '.numberFormat($riga->qta_rimanente, 'qta').' / '.numberFormat($riga->qta, 'qta').' '.$r['um'].' + | '; - // Unità di misura + // Prezzi unitari echo ' -- '.$riga->um.' - | '; ++ '.moneyFormat($riga->prezzo_unitario_corrente); - // Costo unitario - echo ' - |
- '.moneyFormat($riga->prezzo_unitario);
+ if ($dir == 'entrata' && $riga->costo_unitario != 0) {
+ echo '
+ + '.tr('Acquisto').': '.moneyFormat($riga->costo_unitario).' + '; + } if (abs($riga->sconto_unitario) > 0) { $text = discountInfo($riga); echo ' - '.$text.''; + '.$text.''; } - echo' - | ';
-
- // IVA
echo '
-
- '.moneyFormat($riga->iva).' - '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' - | ';
+ ';
- // Imponibile
+ // Iva
echo '
- - '.moneyFormat($riga->totale_imponibile).' - | '; +
+ '.moneyFormat($riga->iva_unitaria).'
+ '.$riga->aliquota->descrizione.(($riga->aliquota->esente) ? ' ('.$riga->aliquota->codice_natura_fe.')' : null).' + | ';
+
+ // Importo
+ echo '
+ + '.moneyFormat($riga->importo).' + | '; } // Possibilità di rimuovere una riga solo se il preventivo non è stato pagato @@ -140,7 +139,7 @@ $totale = abs($preventivo->totale); // Totale imponibile scontato echo '||||||||||
+ | '.tr('Imponibile', [], ['upper' => true]).': | @@ -153,7 +152,7 @@ echo ' if (!empty($sconto)) { echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Sconto/maggiorazione', [], ['upper' => true]).': | @@ -165,7 +164,7 @@ if (!empty($sconto)) { // Totale imponibile scontato echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Totale imponibile', [], ['upper' => true]).': | @@ -178,7 +177,7 @@ if (!empty($sconto)) { // Totale iva echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Iva', [], ['upper' => true]).': | @@ -190,7 +189,7 @@ echo ' // Totale echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Totale', [], ['upper' => true]).': | @@ -205,7 +204,7 @@ $margine_style = ($margine <= 0 and $preventivo->totale > 0) ? 'background-color echo ' | ||||||||||||||||||||||||||||||||
+ | '.tr('Margine (_PRC_%)', [ '_PRC_' => numberFormat($preventivo->margine_percentuale), ]).': |