diff --git a/modules/SalesOrder/models/DetailView.php b/modules/SalesOrder/models/DetailView.php
index 5e3950251f229a0fe2e815508be217fef1de329f..0f06754c5498803d3a2dcae4036e34b5c4e5e7fd 100644
--- a/modules/SalesOrder/models/DetailView.php
+++ b/modules/SalesOrder/models/DetailView.php
@@ -32,6 +32,17 @@ class SalesOrder_DetailView_Model extends Inventory_DetailView_Model {
 			);
 			$linkModelList['DETAILVIEW'][] = Vtiger_Link_Model::getInstanceFromValues($basicActionLink);
 		}
+                
+                $purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
+		if($currentUserModel->hasModuleActionPermission($purchaseOrderModuleModel->getId(), 'EditView')) {
+		    $basicActionLink = array(
+		            'linktype' => 'DETAILVIEW',
+		            'linklabel' => vtranslate('LBL_CREATE').' '.vtranslate($purchaseOrderModuleModel->getSingularLabelKey(), 'PurchaseOrder'),
+		            'linkurl' => $recordModel->getCreatePurchaseOrderUrl(),
+		            'linkicon' => ''
+		    );
+		    $linkModelList['DETAILVIEW'][] = Vtiger_Link_Model::getInstanceFromValues($basicActionLink);
+		}
 		
 		return $linkModelList;
 	}
diff --git a/modules/SalesOrder/models/Record.php b/modules/SalesOrder/models/Record.php
index 10b807b4316badcb8e19c0835bd022d3660c8361..ed554b25d94f25b3282d0c450c6a01ece5e18fdb 100644
--- a/modules/SalesOrder/models/Record.php
+++ b/modules/SalesOrder/models/Record.php
@@ -18,5 +18,10 @@ class SalesOrder_Record_Model extends Inventory_Record_Model {
 
 		return "index.php?module=".$invoiceModuleModel->getName()."&view=".$invoiceModuleModel->getEditViewName()."&salesorder_id=".$this->getId();
 	}
+        
+        function getCreatePurchaseOrderUrl() {
+	    $purchaseOrderModuleModel = Vtiger_Module_Model::getInstance('PurchaseOrder');
+	    return "index.php?module=".$purchaseOrderModuleModel->getName()."&view=".$purchaseOrderModuleModel->getEditViewName()."&salesorder_id=".$this->getId();
+	}
 
 }
\ No newline at end of file