diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php
index d0bc74e77c38d31c5ff82e05ad46dd33e95df735..5ca0389455f31daab64e2d06771c6f8ec6b9bb73 100644
--- a/htdocs/core/lib/product.lib.php
+++ b/htdocs/core/lib/product.lib.php
@@ -135,6 +135,12 @@ function product_prepare_head($object)
 
     complete_head_from_modules($conf,$langs,$object,$head,$h,'product', 'remove');
 
+    // Log
+    $head[$h][0] = DOL_URL_ROOT.'/product/info.php?id='.$object->id;
+    $head[$h][1] = $langs->trans("Info");
+    $head[$h][2] = 'info';
+    $h++;
+
 	return $head;
 }
 
diff --git a/htdocs/product/card.php b/htdocs/product/card.php
index 4c30691318f8f7fbd7c85390e4849c50461e6aea..4f029ad672736167f4cc14a9ba32f2858857b49b 100644
--- a/htdocs/product/card.php
+++ b/htdocs/product/card.php
@@ -1305,7 +1305,7 @@ else
             $picto=($object->type== Product::TYPE_SERVICE?'service':'product');
             dol_fiche_head($head, 'card', $titre, 0, $picto);
 
-            dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
+            dol_banner_tab($object, 'id', '', ($user->societe_id?0:1), 'ref');
             
             
             print '<div class="fichecenter">';
diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php
index c0a1895a5230637becb8346bf9647ff238a325a4..aaf5aaf1baa3788e8c086b49a55b9b5183957593 100644
--- a/htdocs/product/class/product.class.php
+++ b/htdocs/product/class/product.class.php
@@ -726,6 +726,7 @@ class Product extends CommonObject
 	        $sql.= ", fk_unit= " . (!$this->fk_unit ? 'NULL' : $this->fk_unit);
 	        $sql.= ", price_autogen = " . (!$this->price_autogen ? 0 : 1);
 			$sql.= ", fk_price_expression = ".($this->fk_price_expression != 0 ? $this->fk_price_expression : 'NULL');
+			$sql.= ", fk_user_modif = ".($user->id > 0 ? $user->id : 'NULL');
 			$sql.= " WHERE rowid = " . $id;
 
 			dol_syslog(get_class($this)."::update", LOG_DEBUG);
@@ -4123,4 +4124,52 @@ class Product extends CommonObject
 			return $user->rights->service;
 		}
 	}
+	
+    /**
+     *  Load information for tab info
+     *
+     *  @param  int		$id     Id of thirdparty to load
+     *  @return	void
+     */
+    function info($id)
+    {
+        $sql = "SELECT p.rowid, p.ref, p.datec as date_creation, p.tms as date_modification,";
+        $sql.= " p.fk_user_author, p.fk_user_modif";
+        $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as p";
+        $sql.= " WHERE p.rowid = ".$id;
+
+        $result=$this->db->query($sql);
+        if ($result)
+        {
+            if ($this->db->num_rows($result))
+            {
+                $obj = $this->db->fetch_object($result);
+
+                $this->id = $obj->rowid;
+
+                if ($obj->fk_user_author) {
+                    $cuser = new User($this->db);
+                    $cuser->fetch($obj->fk_user_author);
+                    $this->user_creation     = $cuser;
+                }
+
+                if ($obj->fk_user_modif) {
+                    $muser = new User($this->db);
+                    $muser->fetch($obj->fk_user_modif);
+                    $this->user_modification = $muser;
+                }
+
+                $this->ref			     = $obj->ref;
+                $this->date_creation     = $this->db->jdate($obj->date_creation);
+                $this->date_modification = $this->db->jdate($obj->date_modification);
+            }
+
+            $this->db->free($result);
+
+        }
+        else
+		{
+            dol_print_error($this->db);
+        }
+    }
 }
diff --git a/htdocs/product/info.php b/htdocs/product/info.php
new file mode 100644
index 0000000000000000000000000000000000000000..3ca96a2847d32cb75c8077ef15d747f748f3f83c
--- /dev/null
+++ b/htdocs/product/info.php
@@ -0,0 +1,108 @@
+<?php
+/* Copyright (C) 2015		Maxime Kohlhaas		<maxime@atm-consulting.fr>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ *      \file       htdocs/product/info.php
+ *      \ingroup    product
+ *      \brief      Information page for product
+ */
+
+require '../main.inc.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php';
+require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php';
+
+$langs->load("product");
+$langs->load("other");
+if (! empty($conf->notification->enabled)) $langs->load("mails");
+
+// Security check
+$id = GETPOST('id','int');
+$ref = GETPOST('ref','alpha');
+
+$result=restrictedArea($user,'produit|service',$id,'product&product');
+
+// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
+$hookmanager->initHooks(array('infoproduct'));
+
+$object = new Product($db);
+
+
+/*
+ *	Actions
+ */
+
+$parameters=array('id'=>$id);
+$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action);    // Note that $action and $object may have been modified by some hooks
+if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
+
+
+
+/*
+ *	View
+ */
+
+$form=new Form($b);
+
+$title=$langs->trans("Product");
+$helpurl='';
+if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:M&oacute;dulo_Productos';
+if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:M&oacute;dulo_Servicios';
+llxHeader('',$title,$help_url);
+
+if ($id > 0 || $ref)
+{
+	$result = $object->fetch($id,$ref);
+	if (! $result)
+	{
+		$langs->load("errors");
+		print $langs->trans("ErrorRecordNotFound");
+
+		llxFooter();
+		$db->close();
+
+		exit;
+	}
+	
+	$head=product_prepare_head($object);
+    $titre=$langs->trans("CardProduct".$object->type);
+    $picto=($object->type== Product::TYPE_SERVICE?'service':'product');
+    dol_fiche_head($head, 'info', $titre, 0, $picto);
+
+	$linkback = '<a href="'.DOL_URL_ROOT.'/product/list.php">'.$langs->trans("BackToList").'</a>';
+
+	dol_banner_tab($object, 'ref', '', ($user->societe_id?0:1), 'ref');
+	
+	$object->info($object->id);
+
+	print '<div class="fichecenter">';
+
+	print '<div class="underbanner clearboth"></div>';
+
+	print '<br>';
+	
+	dol_print_object_info($object);
+
+	print '</div>';
+	
+	dol_fiche_end();
+}
+
+
+llxFooter();
+
+$db->close();
diff --git a/htdocs/societe/info.php b/htdocs/societe/info.php
index a415ae57b1c1f719055202bcd06552cbda2c58cd..3a2ecea930591a6902e6694231b2ce1b5da3f197 100644
--- a/htdocs/societe/info.php
+++ b/htdocs/societe/info.php
@@ -78,15 +78,13 @@ if ($socid > 0)
 		exit;
 	}
 
-	$object->info($socid);
-
 	$head = societe_prepare_head($object);
 
 	dol_fiche_head($head, 'info', $langs->trans("ThirdParty"), 0, 'company');
 
-	$linkback = '<a href="'.DOL_URL_ROOT.'/contact/list.php">'.$langs->trans("BackToList").'</a>';
-
-	dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', '');
+	dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom');
+	
+	$object->info($socid);
 
 
 	print '<div class="fichecenter">';