diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php
index 76fd9297e2b..d466f1fe9a7 100644
--- a/htdocs/societe/admin/societe.php
+++ b/htdocs/societe/admin/societe.php
@@ -181,6 +181,20 @@ if ($action == "setaccountancycodecustomerinvoicemandatory") {
}
}
+//Activate Set vat id unique
+if ($action == "setvatintraunique") {
+ $setvatintraunique = GETPOST('value', 'int');
+ $res = dolibarr_set_const($db, "SOCIETE_VAT_INTRA_UNIQUE", $setvatintraunique, 'yesno', 0, '', $conf->entity);
+ if (!($res > 0)) {
+ $error++;
+ }
+ if (!$error) {
+ setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
+ } else {
+ setEventMessages($langs->trans("Error"), null, 'errors');
+ }
+}
+
//Activate Set ref in list
if ($action == "setaddrefinlist") {
$setaddrefinlist = GETPOST('value', 'int');
@@ -731,6 +745,22 @@ if (isModEnabled('accounting')) {
print "\n";
}
+// VAT ID
+print '
';
+print '| '.$langs->trans('VATIntra')." | \n";
+
+if (!empty($conf->global->SOCIETE_VAT_INTRA_UNIQUE)) {
+ print '';
+ print img_picto($langs->trans("Activated"), 'switch_on');
+ print ' | ';
+} else {
+ print '';
+ print img_picto($langs->trans("Disabled"), 'switch_off');
+ print ' | ';
+}
+print ' | ';
+print "
\n";
+
print "\n";
print '';
diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php
index 8ffe95731de..8c7cfda2e87 100644
--- a/htdocs/societe/class/societe.class.php
+++ b/htdocs/societe/class/societe.class.php
@@ -1171,7 +1171,7 @@ class Societe extends CommonObject
}
// Check for duplicate or mandatory fields defined into setup
- $array_to_check = array('IDPROF1', 'IDPROF2', 'IDPROF3', 'IDPROF4', 'IDPROF5', 'IDPROF6', 'EMAIL');
+ $array_to_check = array('IDPROF1', 'IDPROF2', 'IDPROF3', 'IDPROF4', 'IDPROF5', 'IDPROF6', 'EMAIL', 'TVA_INTRA');
foreach ($array_to_check as $key) {
$keymin = strtolower($key);
$i = (int) preg_replace('/[^0-9]/', '', $key);
@@ -1216,6 +1216,14 @@ class Societe extends CommonObject
$error++; $this->errors[] = $langs->trans('Email')." ".$langs->trans("ErrorProdIdAlreadyExist", $vallabel).' ('.$langs->trans("ForbiddenBySetupRules").')';
}
}
+ } elseif ($key == 'TVA_INTRA') {
+ // Check for unicity
+ if ($vallabel && !empty($conf->global->SOCIETE_VAT_INTRA_UNIQUE)) {
+ if ($this->id_prof_exists($keymin, $vallabel, ($this->id > 0 ? $this->id : 0))) {
+ $langs->load("errors");
+ $error++; $this->errors[] = $langs->trans('VATIntra')." ".$langs->trans("ErrorProdIdAlreadyExist", $vallabel).' ('.$langs->trans("ForbiddenBySetupRules").')';
+ }
+ }
}
}
}