diff --git a/ChangeLog b/ChangeLog
index c071f0e36282ba7e7e1ec661a8fd49aa25da6efb..e048f09a8976a60fbd74049d36123248c9147488 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,11 +26,12 @@ For users:
 - New: Suggest a method to generate a backup file for user with no access
   to mysqldump binary.
 - New: Can correct stock of a warehouse from warehouse card.
+- New: task #185 : Can input amount when correcting stock to recalculate PMP.
 - New: [ task #454 ] Add "No category" into filters on category.
 - New: Update language files (de, tr, pt).
 - New: Auto check box on page to edit interface options of user.
 - New: Add great britain provinces.
-- New: Update libs/tools for DoliWamp.
+- New: Update libs/tools/logo for DoliWamp.
 - Fix: No images into product description lines as PDF generation does
   not work with this.
 
diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
index 67f93a6d6f58fd62174602c6bce5ca995867df7c..1ab1f99dbbcf7f644aed7155e678b67b41ba3dc3 100755
--- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
+++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php
@@ -262,11 +262,16 @@ class pdf_crabe extends ModelePDFFactures
 				{
 					$curY = $nexY;
 
+					$pageposbefore=$pdf->getPage();
+						
 					// Description of product line
 					$pdf->SetFont('','', $default_font_size - 1);   // Into loop to work with multipage
 					$curX = $this->posxdesc-1;
 					pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxtva-$curX,3,$curX,$curY,$hideref,$hidedesc,0,$hookmanager);
 
+					$pageposafter=$pdf->getPage();
+					$pdf->setPage($pageposbefore);
+					
 					$pdf->SetFont('','', $default_font_size - 1);   // On repositionne la police par defaut
 					$nexY = $pdf->GetY();
 
@@ -324,6 +329,21 @@ class pdf_crabe extends ModelePDFFactures
 
 					$nexY+=2;    // Passe espace entre les lignes
 
+					// Detect if some page were added automatically and output _tableau for past pages
+					while ($pagenb < $pageposafter)
+					{
+					    if ($pagenb == 1)
+						{
+							$this->_tableau($pdf, $tab_top, $tab_height + 40, 0, $outputlangs);
+						}
+						else
+						{
+							$this->_tableau($pdf, $tab_top_newpage, $tab_height_newpage, 0, $outputlangs);
+						}
+						$pagenb++;
+						$pdf->setPage($pagenb);
+					}
+					
 					// Cherche nombre de lignes a venir pour savoir si place suffisante
 					if ($i < ($nblignes - 1) && empty($hidedesc))	// If it's not last line
 					{
diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php
index 3cc34986d2f174bae3fd03bb2570bac97624ea3f..47aa0792f55df21ab6f86ad331f20a3df6830714 100644
--- a/htdocs/product/stock/product.php
+++ b/htdocs/product/stock/product.php
@@ -74,8 +74,9 @@ if ($action == 'setstocklimit')
 // Correct stock
 if ($action == "correct_stock" && ! $_POST["cancel"])
 {
-	if ($_POST["price"] == '') $_POST["price"] = 0;
-	if (is_numeric($_POST["nbpiece"]) && $id && is_numeric($_POST["price"]))
+	//if ($_POST["price"] == '') $_POST["price"] = 0;
+	if (isset($_POST["price"])) $priceunit=price2num($_POST["price"]);
+	if (is_numeric($_POST["nbpiece"]) && $id)
 	{
 		$product = new Product($db);
 		$result=$product->fetch($id);
@@ -86,7 +87,7 @@ if ($action == "correct_stock" && ! $_POST["cancel"])
     		$_POST["nbpiece"],
     		$_POST["mouvement"],
     		$_POST["label"],
-    		$_POST["price"]
+    		$priceunit
 		);		// We do not change value of stock for a correction
 
 		if ($result > 0)
@@ -336,7 +337,7 @@ if ($_GET["id"] || $_GET["ref"])
 
 		// Warehouse
 		print '<tr>';
-		print '<td width="20%">'.$langs->trans("Warehouse").'</td>';
+		print '<td width="20%" class="fieldrequired">'.$langs->trans("Warehouse").'</td>';
 		print '<td width="20%">';
 		print $formproduct->selectWarehouses($_GET["dwid"],'id_entrepot','',1);
 		print '</td>';
@@ -345,7 +346,7 @@ if ($_GET["id"] || $_GET["ref"])
 		print '<option value="0">'.$langs->trans("Add").'</option>';
 		print '<option value="1">'.$langs->trans("Delete").'</option>';
 		print '</select></td>';
-		print '<td width="20%">'.$langs->trans("NumberOfUnit").'</td><td width="20%"><input class="flat" name="nbpiece" size="10" value=""></td>';
+		print '<td width="20%" class="fieldrequired">'.$langs->trans("NumberOfUnit").'</td><td width="20%"><input class="flat" name="nbpiece" size="10" value=""></td>';
 		print '</tr>';
 
 		// Label
@@ -376,13 +377,13 @@ if ($_GET["id"] || $_GET["ref"])
 		print '<table class="border" width="100%">';
 
 		print '<tr>';
-		print '<td width="20%">'.$langs->trans("WarehouseSource").'</td><td width="20%">';
+		print '<td width="20%" class="fieldrequired">'.$langs->trans("WarehouseSource").'</td><td width="20%">';
 		print $formproduct->selectWarehouses($_GET["dwid"],'id_entrepot_source','',1);
 		print '</td>';
-		print '<td width="20%">'.$langs->trans("WarehouseTarget").'</td><td width="20%">';
+		print '<td width="20%" class="fieldrequired">'.$langs->trans("WarehouseTarget").'</td><td width="20%">';
 		print $formproduct->selectWarehouses('','id_entrepot_destination','',1);
 		print '</td>';
-		print '<td width="20%">'.$langs->trans("NumberOfUnit").'</td><td width="20%"><input name="nbpiece" size="10" value=""></td>';
+		print '<td width="20%" class="fieldrequired">'.$langs->trans("NumberOfUnit").'</td><td width="20%"><input name="nbpiece" size="10" value=""></td>';
 		print '</tr>';
 
 		// Label