diff --git a/include/common/conti.php b/include/common/conti.php
index 049f988b7..bc84f3940 100644
--- a/include/common/conti.php
+++ b/include/common/conti.php
@@ -66,7 +66,7 @@ if ($module['name'] == 'Fatture di acquisto' || $module['name'] == 'Fatture di v
}
$idrivalsainps = setting('Percentuale rivalsa INPS');
- $idritenutaacconto = setting("Percentuale ritenuta d'acconto");
+ $idritenutaacconto = $result['id_ritenuta_acconto'] ?: setting("Percentuale ritenuta d'acconto");
$calcolo_ritenutaacconto = setting("Metodologia calcolo ritenuta d'acconto predefinito");
}
// Caso particolare per aggiunta articolo in fatture di vendita
diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php
index 2ec1b7ed8..bc747244e 100644
--- a/modules/anagrafiche/actions.php
+++ b/modules/anagrafiche/actions.php
@@ -52,6 +52,8 @@ switch (post('op')) {
$anagrafica->foro_competenza = post('foro_competenza');
$anagrafica->colore = post('colore');
$anagrafica->idtipointervento_default = post('idtipointervento_default');
+ $anagrafica->id_ritenuta_acconto_acquisti = post('id_ritenuta_acconto_acquisti');
+ $anagrafica->id_ritenuta_acconto_vendite = post('id_ritenuta_acconto_vendite');
$anagrafica->updateTipologie((array) post('idtipoanagrafica'));
diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php
index 225a8719e..d37437137 100644
--- a/modules/anagrafiche/edit.php
+++ b/modules/anagrafiche/edit.php
@@ -225,6 +225,10 @@ if (!empty($google)) {
{[ "type": "select", "label": "", "name": "idiva_acquisti", "ajax-source": "iva", "value": "$idiva_acquisti$", "extra": "" ]}
+
+ {[ "type": "select", "label": "", "name": "id_ritenuta_acconto_acquisti", "values": "query=SELECT id, descrizione FROM co_ritenutaacconto ORDER BY descrizione ASC", "value": "$id_ritenuta_acconto_acquisti$", "extra": "" ]}
+
+
{[ "type": "select", "label": "", "name": "idlistino_acquisti", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_acquisti$", "extra": "" ]}
@@ -254,9 +258,13 @@ if (!empty($google)) {
- {[ "type": "select", "label": "", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "" ]}
+ {[ "type": "select", "label": "", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "" ]}
+
+ {[ "type": "select", "label": "", "name": "id_ritenuta_acconto_vendite", "values": "query=SELECT id, descrizione FROM co_ritenutaacconto ORDER BY descrizione ASC", "value": "$id_ritenuta_acconto_vendite$", "extra": "" ]}
+
+
{[ "type": "select", "label": "", "name": "idlistino_vendite", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_vendite$", "extra": "" ]}
diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php
index 9920e9287..51eabf898 100644
--- a/modules/fatture/row-add.php
+++ b/modules/fatture/row-add.php
@@ -46,6 +46,10 @@ $result = [
$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita');
+// Leggo la ritenuta d'acconto predefinita per l'anagrafica e se non c'รจ leggo quella predefinita generica
+$ritenuta_acconto = $dbo->fetchArray('SELECT id_ritenuta_acconto_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS id_ritenuta_acconto FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
+$result['id_ritenuta_acconto'] = $ritenuta_acconto[0]['id_ritenuta_acconto'] ?: setting("Percentuale ritenuta d'acconto");
+
// Sconto unitario
$rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')');
if (!empty($rss)) {
diff --git a/update/2_4_2.sql b/update/2_4_2.sql
index ad86deeea..376718d11 100644
--- a/update/2_4_2.sql
+++ b/update/2_4_2.sql
@@ -480,6 +480,10 @@ INSERT INTO `zz_email_print` (`id`, `id_email`, `id_print`) VALUES
UPDATE `zz_emails` SET `main` = 1 WHERE `name` = 'Rapportino intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi');
UPDATE `in_statiintervento` SET `id_email` = (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'));
+-- Ritenuta d'acconto predefinita per anagrafica
+ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_vendite` INT(11) NULL DEFAULT NULL AFTER `idiva_acquisti`;
+ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_acquisti` INT(11) NULL DEFAULT NULL AFTER `id_ritenuta_acconto_vendite`;
+
-- Correzione partite ive e codici fiscali
UPDATE `an_anagrafiche` SET `piva` = REPLACE(`piva`, ' ', ''), `codice_fiscale` = REPLACE(`codice_fiscale`, ' ', '');