diff --git a/include/utils/EditViewUtils.php b/include/utils/EditViewUtils.php
index ea1c68d57f181c0339bb0622fad72e8d3ded7c12..be21fb0c6a3fb895e8689209f5fe435c2c5dc8a0 100755
--- a/include/utils/EditViewUtils.php
+++ b/include/utils/EditViewUtils.php
@@ -236,7 +236,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
 			$product_Detail[$i]['delRow'.$i]="Del";
 		}
 
-		if (in_array($module, $lineItemSupportedModules) || $module === 'Vendors' || (!$focus->mode && $seid)) {
+		if (in_array($module, $lineItemSupportedModules) || $module === 'Vendors' || isset($focus->mode) && (!$focus->mode && $seid)) {
 			$subProductsQuery = 'SELECT vtiger_seproductsrel.crmid AS prod_id, quantity FROM vtiger_seproductsrel
 								 INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_seproductsrel.crmid
 								 INNER JOIN vtiger_products ON vtiger_products.productid = vtiger_seproductsrel.crmid
@@ -249,6 +249,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
 			array_push($subParams, 'Products');
 		} else {
 			$subProductsQuery = 'SELECT productid AS prod_id, quantity FROM vtiger_inventorysubproductrel WHERE id=? AND sequence_no=?';
+			$focus->id = isset($focus->id) ? $focus->id : "";
 			$subParams = array($focus->id, $i);
 		}
 		$subProductsResult = $adb->pquery($subProductsQuery, $subParams);
@@ -405,12 +406,12 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
 	$finalDiscount = 0;
 	$product_Detail[1]['final_details']['discount_type_final'] = 'zero';
 
-	$subTotal = ($focus->column_fields['hdnSubTotal'] != '')?$focus->column_fields['hdnSubTotal']:0;
+	$subTotal = (isset($focus->column_fields['hdnSubTotal']) && $focus->column_fields['hdnSubTotal'] != '') ? $focus->column_fields['hdnSubTotal'] : 0;
 	$subTotal = number_format($subTotal, $no_of_decimal_places,'.','');
 
 	$product_Detail[1]['final_details']['hdnSubTotal'] = $subTotal;
-	$discountPercent = ($focus->column_fields['hdnDiscountPercent'] != '')?$focus->column_fields['hdnDiscountPercent']:0;
-	$discountAmount = ($focus->column_fields['hdnDiscountAmount'] != '')?$focus->column_fields['hdnDiscountAmount']:0;
+	$discountPercent = (isset($focus->column_fields['hdnDiscountPercent']) &&  $focus->column_fields['hdnDiscountPercent'] != '') ? $focus->column_fields['hdnDiscountPercent'] : 0;
+	$discountAmount = (isset($focus->column_fields['hdnDiscountAmount']) && $focus->column_fields['hdnDiscountAmount'] != '') ? $focus->column_fields['hdnDiscountAmount'] : 0;
     if($discountPercent != '0'){
         $discountAmount = ($product_Detail[1]['final_details']['hdnSubTotal'] * $discountPercent / 100);
     }
@@ -421,8 +422,8 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
     $product_Detail[1]['final_details']['discount_percentage_final'] = 0;
 	$product_Detail[1]['final_details']['discount_amount_final'] = $discount_amount_final;
 
-	$hdnDiscountPercent = (float) $focus->column_fields['hdnDiscountPercent'];
-	$hdnDiscountAmount	= (float) $focus->column_fields['hdnDiscountAmount'];
+		$hdnDiscountPercent = isset($focus->column_fields['hdnDiscountPercent']) ? (float) $focus->column_fields['hdnDiscountPercent'] : 0.0;
+		$hdnDiscountAmount	= isset($focus->column_fields['hdnDiscountAmount']) ? (float) $focus->column_fields['hdnDiscountAmount'] : 0.0;
 
 	if(!empty($hdnDiscountPercent)) {
 		$finalDiscount = ($subTotal*$discountPercent/100);
@@ -524,7 +525,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
 	$product_Detail[1]['final_details']['tax_totalamount'] = number_format($taxTotal, $no_of_decimal_places, '.', '');
 
 	//To set the Shipping & Handling charge
-	$shCharge = ($focus->column_fields['hdnS_H_Amount'] != '')?$focus->column_fields['hdnS_H_Amount']:0;
+	$shCharge = (isset($focus->column_fields['hdnS_H_Amount']) && $focus->column_fields['hdnS_H_Amount'] != '') ? $focus->column_fields['hdnS_H_Amount'] : 0;
 	$shCharge = number_format($shCharge, $no_of_decimal_places,'.','');
 	$product_Detail[1]['final_details']['shipping_handling_charge'] = $shCharge;
 
@@ -560,7 +561,7 @@ function getAssociatedProducts($module, $focus, $seid = '', $refModuleName = fal
 	$product_Detail[1]['final_details']['shtax_totalamount'] = $shtaxtotal;
 
 	//To set the Adjustment value
-	$adjustment = ($focus->column_fields['txtAdjustment'] != '')?$focus->column_fields['txtAdjustment']:0;
+	$adjustment = (isset($focus->column_fields['txtAdjustment']) && $focus->column_fields['txtAdjustment'] != '') ? $focus->column_fields['txtAdjustment'] : 0;
 	$adjustment = number_format($adjustment, $no_of_decimal_places,'.','');
 	$product_Detail[1]['final_details']['adjustment'] = $adjustment;
 
diff --git a/modules/Products/models/Record.php b/modules/Products/models/Record.php
index 198bb8afcf23630040486c5ff23a70f1c0b092f1..8a3d5d12802729e7b88c5b801497da1352d66212 100644
--- a/modules/Products/models/Record.php
+++ b/modules/Products/models/Record.php
@@ -178,14 +178,13 @@ class Products_Record_Model extends Vtiger_Record_Model {
 			}
 		}
 
-		$productTaxes = $productDetails[1]['taxes'];
+		$productTaxes = isset($productDetails[1]['taxes']) ? $productDetails[1]['taxes'] : array();
 		if (!empty ($productDetails)) {
 			$taxCount = php7_count($productTaxes);
 			$taxTotal = 0;
 
 			for($i=0; $i<$taxCount; $i++) {
-				$taxValue = $productTaxes[$i]['percentage'];
-
+				$taxValue = isset($productTaxes[$i]['percentage']) && is_numeric($productTaxes[$i]['percentage']) ? $productTaxes[$i]['percentage'] : 0;
 				$taxAmount = $totalAfterDiscount * $taxValue / 100;
 				$taxTotal = $taxTotal + $taxAmount;
 
diff --git a/pkg/vtiger/modules/Services/modules/Services/Services.php b/pkg/vtiger/modules/Services/modules/Services/Services.php
index de5465ecf651ded31304d95114f31f10faca8359..d028958307878d7351cecaeba14ab100306fa517 100644
--- a/pkg/vtiger/modules/Services/modules/Services/Services.php
+++ b/pkg/vtiger/modules/Services/modules/Services/Services.php
@@ -14,6 +14,7 @@ class Services extends CRMEntity {
 	var $table_name = 'vtiger_service';
 	var $table_index= 'serviceid';
 	var $column_fields = Array();
+	protected $isWorkFlowFieldUpdate = false;
 
 	/** Indicator if this is a custom module or standard module */
 	var $IsCustomModule = true;
@@ -117,12 +118,12 @@ class Services extends CRMEntity {
 		{
 			$this->insertTaxInformation('vtiger_producttaxrel', 'Services');
 
-			if ($_REQUEST['action'] != 'MassEditSave' ) {
+			if (isset($_REQUEST['action']) && $_REQUEST['action'] != 'MassEditSave' ) {
 				$this->insertPriceInformation('vtiger_productcurrencyrel', 'Services');
 			}
 		}
 
-		if($_REQUEST['action'] == 'SaveAjax' && isset($_REQUEST['base_currency']) && isset($_REQUEST['unit_price'])){
+		if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'SaveAjax' && isset($_REQUEST['base_currency']) && isset($_REQUEST['unit_price'])){
 			$this->insertPriceInformation('vtiger_productcurrencyrel', 'Services');
 		}
 		// Update unit price value in vtiger_productcurrencyrel
@@ -139,7 +140,6 @@ class Services extends CRMEntity {
 		global $adb, $log;
 		$log->debug("Entering into insertTaxInformation($tablename, $module) method ...");
 		$tax_details = getAllTaxes();
-
 		$tax_per = '';
 		//Save the Product - tax relationship if corresponding tax check box is enabled
 		//Delete the existing tax if any
@@ -162,7 +162,7 @@ class Services extends CRMEntity {
 				$taxid = getTaxId($tax_name);
 				$tax_per = $_REQUEST[$tax_name];
 
-				$taxRegions = $_REQUEST[$tax_name.'_regions'];
+				$taxRegions = isset($_REQUEST[$tax_name.'_regions']) ? $_REQUEST[$tax_name.'_regions'] : "";
 				if ($taxRegions) {
 					$tax_per = $_REQUEST[$tax_name.'_defaultPercentage'];
 				} else {
@@ -177,7 +177,7 @@ class Services extends CRMEntity {
 
 				$log->debug("Going to save the Product - $tax_name tax relationship");
 
-				if ($_REQUEST['action'] === 'MassEditSave') {
+				if (isset($_REQUEST['action']) && $_REQUEST['action'] === 'MassEditSave') {
 					$adb->pquery('DELETE FROM vtiger_producttaxrel WHERE productid=? AND taxid=?', array($this->id, $taxid));
 				}
 
@@ -228,7 +228,7 @@ class Services extends CRMEntity {
 			$requestPrice = CurrencyField::convertToDBFormat($_REQUEST['unit_price'], null, true);
 			$actualPrice = CurrencyField::convertToDBFormat($_REQUEST[$cur_valuename], null, true);
 			$isQuickCreate = false;
-			if($_REQUEST['action']=='SaveAjax' && isset($_REQUEST['base_currency']) && $_REQUEST['base_currency'] == $cur_valuename){
+			if(isset($_REQUEST['action']) && $_REQUEST['action']=='SaveAjax' && isset($_REQUEST['base_currency']) && $_REQUEST['base_currency'] == $cur_valuename){
 				$actualPrice = $requestPrice;
 				$isQuickCreate = true;
 			}