diff --git a/ChangeLog b/ChangeLog
index 3f08224816dbef03b710639c5b687e6d6f48a34e..67017af52b85aaf4311cad93259a6239a0f85a62 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@ $Id$
 
 ***** ChangeLog for 3.1 compared to 3.0 *****
 For users:
+- New: Add status for third parties.
 - New: Can send interventions cards by email.
 - New: Add option MAIN_FIRST_TO_UPPER to force upper case of first 
        letters for names and firstname.
diff --git a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql
index 33725d3b0e24e0e43a3f5c65c37f3778b993e72d..5b888d9c8efa75f83c09bcc9f76799fa70fc9720 100755
--- a/htdocs/install/mysql/migration/3.0.0-3.1.0.sql
+++ b/htdocs/install/mysql/migration/3.0.0-3.1.0.sql
@@ -46,6 +46,8 @@ ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_excep
 
 ALTER TABLE llx_societe ADD COLUMN fk_currency integer DEFAULT 0 AFTER fk_forme_juridique;
 
+ALTER TABLE llx_societe ADD COLUMN status tinyint DEFAULT 1;
+
 ALTER TABLE llx_societe_remise MODIFY remise_client double(6,3) DEFAULT 0 NOT NULL;
 
 ALTER TABLE llx_menu ADD COLUMN fk_mainmenu   varchar(16) after fk_menu;
diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql
index f191049c310aa361536f0765a55b75591e5c9115..ae218e964b7367c24086bf9565b34387699aee8f 100644
--- a/htdocs/install/mysql/tables/llx_societe.sql
+++ b/htdocs/install/mysql/tables/llx_societe.sql
@@ -30,10 +30,12 @@ create table llx_societe
   datec	                   datetime,                            		-- creation date
   datea	                   datetime,                            		-- activation date
 
+  status            	   tinyint DEFAULT 1,					        -- cessation d'activité ( 1 -- en activité, 0 -- cessation d'activité)						
+
   nom                      varchar(60),                         		-- company reference name
   entity                   integer DEFAULT 1 NOT NULL,	        		-- multi company id
 
-  ref_ext                  varchar(60),                                 -- reference into an external system (not used by dolibarr)
+  ref_ext                  varchar(60),                                 	-- reference into an external system (not used by dolibarr)
 
   code_client              varchar(15),                         		-- code client
   code_fournisseur         varchar(15),                         		-- code founisseur
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 7505d97ca53f68b0c4d942e5e2b02e299ec2c044..20b9d691ccd152c00eed2986056825a75014095f 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -46,6 +46,8 @@ DictionnarySetup=Dictionary setup
 DisableJavascript=Disable JavaScript and Ajax functions
 ConfirmAjax=Use Ajax confirmation popups
 UseSearchToSelectCompany=Use autocompletion fields to choose third parties (instead of using a list box).<br><br>Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant SOCIETE_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string.
+ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it
+SearchFilter=Search filters options
 NumberOfKeyToSearch=Nbr of characters to trigger search: %s
 ViewFullDateActions=Show full dates actions in the third sheet
 NotAvailableWhenAjaxDisabled=Not available when Ajax disabled
diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang
index c16f59a3dd3eded79dbe4c2ad8c001178d0b8e38..e5e8019063fdfe7e1b9faa45f016db19a57cb0b6 100644
--- a/htdocs/langs/en_US/companies.lang
+++ b/htdocs/langs/en_US/companies.lang
@@ -307,6 +307,9 @@ ListCustomersShort=List of customers
 ThirdPartiesArea=Third parties area
 LastModifiedThirdParties=Last %s modified third parties
 UniqueThirdParties=Total of unique third parties
+InActivity=In activity
+ActivityCeased=Activity ceased
+ActivityStateFilter=Activity status
 
 # Monkey
 MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0.
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index b42d17c2ec404953763495940d73afe3b2d6ba59..a97ed3ae8c7828886839b86d39ef2fa7db521114 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -47,6 +47,8 @@ Dictionnary= Dictionnaires
 DisableJavascript= Désactiver les fonctions Javascript et Ajax
 ConfirmAjax= Utiliser les popups de confirmation Ajax
 UseSearchToSelectCompany= Utiliser un champ avec autocomplétion pour choisir un tiers (plutôt qu'une liste déroulante).<br><br>Notez que si vous avez un nombre important de produits ou services (> 100 000), vous pouvez améliorer les performances en définissant la constante SOCIETE_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limitée au début de la chaine.
+ActivityStateToSelectCompany= Ajouter une option de filtrage lors des recherches pour afficher/masquer les tiers en exercice ou ayant cessés d'exercer
+SearchFilter=Options des filtres de recherche
 NumberOfKeyToSearch=Nb caractères déclenchant la recherche: %s
 ViewFullDateActions= Visualiser les dates des actions en entier dans la fiche tiers
 NotAvailableWhenAjaxDisabled= Non disponible quand Ajax désactivé
diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang
index e4df5e3f92b94e58a2154c308139e35e6c4e3d9f..8361ecf428a55af91c93ab76b752d38474a44c0d 100644
--- a/htdocs/langs/fr_FR/companies.lang
+++ b/htdocs/langs/fr_FR/companies.lang
@@ -314,6 +314,9 @@ ListCustomersShort=Liste clients
 ThirdPartiesArea=Espace Tiers
 LastModifiedThirdParties=Les %s derniers tiers modifiés
 UniqueThirdParties=Total de tiers uniques
+InActivity=En activité
+ActivityCeased=En cessation d'activité
+ActivityStateFilter=Statut d'activité
 
 # Monkey
 MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0.
diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php
index 4c97a0d509f24aa8db2ad6318f0be6145bb85d22..aaaf6c880b25045a2fd6463ced1a9fe615caa593 100644
--- a/htdocs/societe/class/societe.class.php
+++ b/htdocs/societe/class/societe.class.php
@@ -54,6 +54,7 @@ class Societe extends CommonObject
     var $adresse; // TODO obsolete
     var $cp;
     var $ville;
+    var $status; // 0=activity ceased, 1= in activity
 
     var $departement_id;
     var $departement_code;
@@ -155,6 +156,7 @@ class Societe extends CommonObject
         $this->prefixCustomerIsRequired = 0;
         $this->prefixSupplierIsRequired = 0;
         $this->tva_assuj = 1;
+        $this->status = 1;
 
         return 1;
     }
@@ -199,10 +201,11 @@ class Societe extends CommonObject
 
         if ($result >= 0)
         {
-            $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas)";
+            $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, datea, fk_user_creat, canvas, status)";
             $sql.= " VALUES ('".$this->db->escape($this->name)."', ".$conf->entity.", '".$this->db->idate($now)."', '".$this->db->idate($now)."'";
             $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null");
             $sql.= ", ".($this->canvas ? "'".$this->canvas."'":"null");
+            $sql.= ", ".$this->status;
             $sql.= ")";
 
             dol_syslog("Societe::create sql=".$sql);
@@ -396,6 +399,7 @@ class Societe extends CommonObject
 
         $this->tva_assuj=trim($this->tva_assuj);
         $this->tva_intra=dol_sanitizeFileName($this->tva_intra,'');
+        if (empty($this->status)) $this->status = 0;
 
         // Local taxes
         $this->localtax1_assuj=trim($this->localtax1_assuj);
@@ -456,6 +460,7 @@ class Societe extends CommonObject
 
             $sql .= ",tva_assuj = ".($this->tva_assuj!=''?"'".$this->tva_assuj."'":"null");
             $sql .= ",tva_intra = '" . $this->db->escape($this->tva_intra) ."'";
+            $sql .= ",status = " .$this->status;
 
             // Local taxes
             $sql .= ",localtax1_assuj = ".($this->localtax1_assuj!=''?"'".$this->localtax1_assuj."'":"null");
@@ -576,6 +581,7 @@ class Societe extends CommonObject
         $sql .= ', s.fk_departement, s.fk_pays, s.fk_stcomm, s.remise_client, s.mode_reglement, s.cond_reglement, s.tva_assuj';
         $sql .= ', s.localtax1_assuj, s.localtax2_assuj, s.fk_prospectlevel, s.default_lang';
         $sql .= ', s.import_key';
+        $sql .= ', s.status';
         $sql .= ', fj.libelle as forme_juridique';
         $sql .= ', e.libelle as effectif';
         $sql .= ', p.code as pays_code, p.libelle as pays';
@@ -674,6 +680,7 @@ class Societe extends CommonObject
 
                 $this->tva_assuj      = $obj->tva_assuj;
                 $this->tva_intra      = $obj->tva_intra;
+                $this->status = $obj->status;
 
                 // Local Taxes
                 $this->localtax1_assuj      = $obj->localtax1_assuj;
diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php
index 9b7a2f0f1cc7e63ef92c4f3b2962d46481fdeded..8f940d41cad9491d8fcd35b6371440872181d12d 100644
--- a/htdocs/societe/soc.php
+++ b/htdocs/societe/soc.php
@@ -162,14 +162,14 @@ else
 		$soc->capital               = $_POST["capital"];
 		$soc->gencod                = $_POST["gencod"];
 
+        $soc->tva_intra             = $_POST["tva_intra"];
 		$soc->tva_assuj             = $_POST["assujtva_value"];
+        $soc->status        = $_POST["status"];
 
 		// Local Taxes
 		$soc->localtax1_assuj       = $_POST["localtax1assuj_value"];
 		$soc->localtax2_assuj       = $_POST["localtax2assuj_value"];
 
-		$soc->tva_intra             = $_POST["tva_intra"];
-
 		$soc->forme_juridique_code  = $_POST["forme_juridique_code"];
 		$soc->effectif_id           = $_POST["effectif_id"];
 		if ($_REQUEST["private"] == 1)
@@ -509,6 +509,7 @@ else
 		$soc->effectif_id=$_POST["effectif_id"];
 
 		$soc->tva_assuj = $_POST["assujtva_value"];
+        $soc->status= $_POST["status"];
 
 		//Local Taxes
 		$soc->localtax1_assuj       = $_POST["localtax1assuj_value"];
@@ -684,7 +685,12 @@ else
     		}
 		}
 
-		// Barcode
+        // Status
+        print '<tr><td>'.$langs->trans('Status').'</td><td colspan="3">';
+        print $form->selectarray('status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),1);
+        print '</td></tr>';
+
+        // Barcode
 		if ($conf->global->MAIN_MODULE_BARCODE)
 		{
 			print '<tr><td>'.$langs->trans('Gencod').'</td><td colspan="3"><input type="text" name="gencod">';
@@ -965,6 +971,7 @@ else
 
 				$soc->tva_assuj = $_POST["assujtva_value"];
 				$soc->tva_intra=$_POST["tva_intra"];
+                $soc->status=$_POST["status"];
 
 				//Local Taxes
 				$soc->localtax1_assuj       = $_POST["localtax1assuj_value"];
@@ -1111,6 +1118,12 @@ else
     			}
 			}
 
+			// Status
+            print '<tr><td>'.$langs->trans("Status").'</td><td>';
+            print $form->selectarray('status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$soc->status);
+            print '</td></tr>';
+
+            // Barcode
 			if ($conf->global->MAIN_MODULE_BARCODE)
 			{
 				print '<tr><td valign="top">'.$langs->trans('Gencod').'</td><td colspan="3"><input type="text" name="gencod" value="'.$soc->gencod.'">';
@@ -1362,6 +1375,13 @@ else
 			print '</td></tr>';
 		}
 
+		// Status
+	    print '<tr><td>'.$langs->trans("Status").'</td>';
+        $activity_status = $soc->status == 1 ? $langs->trans('InActivity') : $langs->trans('ActivityCeased');   // nouvelle entrée statut activité
+        print '<td colspan="3">'.$activity_status;
+        print '</td></tr>';
+
+		// Barcode
 		if ($conf->global->MAIN_MODULE_BARCODE)
 		{
 			print '<tr><td>'.$langs->trans('Gencod').'</td><td colspan="3">'.$soc->gencod.'</td></tr>';
diff --git a/htdocs/societe/societe.php b/htdocs/societe/societe.php
index 2add956895e77ca2cd213203947447f1c0016bfb..fb2eacec609e3ed1a3db280c69c6766095402edf 100644
--- a/htdocs/societe/societe.php
+++ b/htdocs/societe/societe.php
@@ -105,7 +105,6 @@ if ($mode == 'search')
     {
         $sql .= " AND cs.fk_categorie = ".$search_categ;
     }
-
 	$result=$db->query($sql);
 	if ($result)
 	{
@@ -333,7 +332,7 @@ if ($resql)
 	print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"),$textprofid[2],1,0),$_SERVER["PHP_SELF"],"s.siret","",$params,'nowrap="nowrap"',$sortfield,$sortorder);
 	print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"),$textprofid[3],1,0),$_SERVER["PHP_SELF"],"s.ape","",$params,'nowrap="nowrap"',$sortfield,$sortorder);
 	print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$params,'nowrap="nowrap"',$sortfield,$sortorder);
-	print '<td class="liste_titre" colspan="2" align="center">&nbsp;</td>';
+	print '<td></td>';
 	print "</tr>\n";
 
 	// Lignes des champs de filtre
@@ -388,7 +387,7 @@ if ($resql)
 		print "<td>".$obj->idprof2."</td>\n";
 		print "<td>".$obj->idprof3."</td>\n";
 		print "<td>".$obj->idprof4."</td>\n";
-		print '<td align="center">';
+		print '<td colspan="2" align="center">';
 		$s='';
 		if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
 		{