diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php
index 92e63c6fa6740f500ed0510e5e059b99b98751d9..86b9964bd03f02eee89d6afc754ba3f4a0451dac 100644
--- a/htdocs/comm/propal.php
+++ b/htdocs/comm/propal.php
@@ -1180,37 +1180,6 @@ if ($action == 'create')
 
 	$object = new Propal($db);
 
-	$numpr='';
-	$obj = $conf->global->PROPALE_ADDON;
-	if ($obj)
-	{
-		if (! empty($conf->global->PROPALE_ADDON) && is_readable(DOL_DOCUMENT_ROOT ."/core/modules/propale/".$conf->global->PROPALE_ADDON.".php"))
-		{
-			require_once DOL_DOCUMENT_ROOT ."/core/modules/propale/".$conf->global->PROPALE_ADDON.'.php';
-			$modPropale = new $obj;
-			$numpr = $modPropale->getNextValue($soc,$object);
-		}
-	}
-
-	// Fix pour modele numerotation qui deconne
-	// Si numero deja pris (ne devrait pas arriver), on incremente par .num+1
-	$sql = "SELECT count(*) as nb";
-	$sql.= " FROM ".MAIN_DB_PREFIX."propal";
-	$sql.= " WHERE ref LIKE '".$numpr."%'";
-	$sql.= " AND entity = ".$conf->entity;
-
-	$resql=$db->query($sql);
-	if ($resql)
-	{
-		$obj=$db->fetch_object($resql);
-		$num = $obj->nb;
-		$db->free($resql);
-		if ($num > 0)
-		{
-			$numpr .= "." . ($num + 1);
-		}
-	}
-
 	print '<form name="addprop" action="'.$_SERVER["PHP_SELF"].'" method="POST">';
 	print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
 	print '<input type="hidden" name="action" value="add">';
@@ -1222,12 +1191,9 @@ if ($action == 'create')
 	}
 
 	print '<table class="border" width="100%">';
-
-	// Ref
-	print '<tr><td class="fieldrequired">'.$langs->trans("Ref").'</td>';
-	print '<td colspan="2">'.$numpr.'</td>';
-	print '<input type="hidden" name="ref" value="'.$numpr.'">';
-	print '</tr>';
+	
+	// Reference
+	print '<tr><td class="fieldrequired">'.$langs->trans('Ref').'</td><td colspan="2">'.$langs->trans("Draft").'</td></tr>';
 
 	// Ref customer
 	print '<tr><td>'.$langs->trans('RefCustomer').'</td><td colspan="2">';
@@ -1990,10 +1956,10 @@ else
 		if ($action != 'statut' && $action <> 'editline')
 		{
 			// Validate
-			if ($object->statut == 0 && $user->rights->propal->valider)
+			if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider)
 			{
 			    if (count($object->lines) > 0) print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate">'.$langs->trans('Validate').'</a>';
-			    else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
+			    //else print '<a class="butActionRefused" href="#">'.$langs->trans('Validate').'</a>';
 			}
 
 			// Edit
diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php
index c80007c894781f141597af647f61c18337f7f30b..4b3686db5118f00aaead53922870da06423d9f1b 100644
--- a/htdocs/comm/propal/class/propal.class.php
+++ b/htdocs/comm/propal/class/propal.class.php
@@ -6,7 +6,7 @@
  * Copyright (C) 2005-2013 Regis Houssin			<regis.houssin@capnetworks.com>
  * Copyright (C) 2006      Andre Cianfarani			<acianfa@free.fr>
  * Copyright (C) 2008      Raphael Bertrand			<raphael.bertrand@resultic.fr>
- * Copyright (C) 2010-2012 Juanjo Menent			<jmenent@2byte.es>
+ * Copyright (C) 2010-2013 Juanjo Menent			<jmenent@2byte.es>
  * Copyright (C) 2010-2011 Philippe Grand			<philippe.grand@atoo-net.com>
  * Copyright (C) 2012      Christophe Battarel  <christophe.battarel@altairis.fr>
  *
@@ -720,7 +720,7 @@ class Propal extends CommonObject
 
             if ($this->id)
             {
-                if (empty($this->ref)) $this->ref='(PROV'.$this->id.')';
+                $this->ref='(PROV'.$this->id.')';
                 $sql = 'UPDATE '.MAIN_DB_PREFIX."propal SET ref='".$this->ref."' WHERE rowid=".$this->id;
 
                 dol_syslog(get_class($this)."::create sql=".$sql);
@@ -1178,11 +1178,29 @@ class Propal extends CommonObject
         $now=dol_now();
 
         if ($user->rights->propale->valider)
-        {
+        {	
             $this->db->begin();
+            
+            // Numbering module definition
+            $soc = new Societe($this->db);
+            $soc->fetch($this->socid);
+            
+            // Class of company linked to propal
+            $result=$soc->set_as_client();
+            
+            // Define new ref
+            if (! $error && (preg_match('/^[\(]?PROV/i', $this->ref)))
+            {
+            	$num = $this->getNextNumRef($soc);
+            }
+            else
+          {
+            	$num = $this->ref;
+            }
 
             $sql = "UPDATE ".MAIN_DB_PREFIX."propal";
-            $sql.= " SET fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id;
+            $sql.= " SET ref = '".$num."',";
+            $sql.= " fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id;
             $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0";
 
             dol_syslog(get_class($this).'::valid sql='.$sql);
diff --git a/htdocs/langs/ca_ES/propal.lang b/htdocs/langs/ca_ES/propal.lang
index 0d862ce19a9e944c8f176bb2f3427fb83fb8b1c2..6da060d91f80ce8f517508de14f813195dd56ea8 100644
--- a/htdocs/langs/ca_ES/propal.lang
+++ b/htdocs/langs/ca_ES/propal.lang
@@ -19,7 +19,7 @@ DeleteProp=Eliminar pressupost
 ValidateProp=Validar pressupost
 AddProp=Crear pressupost
 ConfirmDeleteProp=Esteu segur de voler eliminar aquest pressupost?
-ConfirmValidateProp=Esteu segur de voler validar aquest pressupost?
+ConfirmValidateProp=Esteu segur de voler validar aquest pressupost sota la referència <b>%s</b>?
 LastPropals=Els %s darrers pressupostos
 LastClosedProposals=Els %s darrers pressupostos tancats
 LastModifiedProposals=Els %s darrers pressupostos modificats
diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang
index 3f76ca5ecda2ff355b4c2e89e90d28828f2c8d9d..197a9f52146498ede5da800ab189fee3fdefa9bf 100644
--- a/htdocs/langs/en_US/propal.lang
+++ b/htdocs/langs/en_US/propal.lang
@@ -19,7 +19,7 @@ DeleteProp=Delete commercial proposal
 ValidateProp=Validate commercial proposal
 AddProp=Add proposal
 ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ?
-ConfirmValidateProp=Are you sure you want to validate this commercial proposal ?
+ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name <b>%s</b> ?
 LastPropals=Last %s proposals
 LastClosedProposals=Last %s closed proposals
 LastModifiedProposals=Last %s modified proposals
diff --git a/htdocs/langs/es_ES/propal.lang b/htdocs/langs/es_ES/propal.lang
index c342baac8f4407f4aabaf3b80bfc4bc8b276b4ef..03f7a7a9e6456381c1d53f37ba2b591720a45cbb 100644
--- a/htdocs/langs/es_ES/propal.lang
+++ b/htdocs/langs/es_ES/propal.lang
@@ -20,7 +20,7 @@ DeleteProp=Eliminar presupuesto
 ValidateProp=Validar presupuesto
 AddProp=Crear presupuesto
 ConfirmDeleteProp=¿Está seguro de querer eliminar este presupuesto?
-ConfirmValidateProp=¿Está seguro de querer validar este presupuesto?
+ConfirmValidateProp=¿Está seguro de querer validar este presupuesto bajo la referencia <b>%s</b> ?
 LastPropals=Los %s últimos presupuestos
 LastClosedProposals=Los %s últimos presupuestos cerrados
 LastModifiedProposals=Los %s últimos presupuestos modificados
diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang
index 124910b907e36df35c39a8c6aecb886edc74b809..5a4c05f0d6d17427af8cddfb430f068a92e1cb2c 100644
--- a/htdocs/langs/fr_FR/propal.lang
+++ b/htdocs/langs/fr_FR/propal.lang
@@ -19,7 +19,7 @@ DeleteProp=Supprimer proposition
 ValidateProp=Valider proposition
 AddProp=Créer proposition
 ConfirmDeleteProp=Êtes-vous sûr de vouloir effacer cette proposition commerciale ?
-ConfirmValidateProp=Êtes-vous sûr de vouloir valider cette proposition commerciale ?
+ConfirmValidateProp=Êtes-vous sûr de vouloir valider cette proposition commerciale sous la référence <b>%s</b> ?
 LastPropals=Les %s dernières propales
 LastClosedProposals=Les %s dernières propositions commerciales fermées
 LastModifiedProposals=Les %s dernières propositions commerciales modifiées