Index: /controller/wpsg_ProduktController.class.php
===================================================================
--- /controller/wpsg_ProduktController.class.php	(revision 8420)
+++ /controller/wpsg_ProduktController.class.php	(revision 8421)
@@ -1267,4 +1267,5 @@
 				wpsg_checkRequest('partikel', [WPSG_SANITIZE_INT, ['allowEmpty' => true]], __('Zugeordneter Wordpress Artikel', 'wpsg'), $data);
 
+				wpsg_checkRequest('basket_multiple', [WPSG_SANITIZE_VALUES, [wpsg_product::MULTIPLE_ONE_MULTI, wpsg_product::MULTIPLE_MULTI_MULTI, wpsg_product::MULTIPLE_MULTI_ONE, wpsg_product::MULTIPLE_ONE_ONE]], __('Produkt unterliegt den EU-Leistungsortregeln', 'wpsg'), $data);
 				wpsg_checkRequest('rating', [WPSG_SANITIZE_VALUES, ['-1', '0', '1', '2', '3', '4', '5']], __('Bewertungspunkte', 'wpsg'), $data);
 	 
@@ -1306,5 +1307,5 @@
 				
 				if (wpsg_getInt($edit_id) > 0) {
-
+ 
 					$this->db->UpdateQuery(WPSG_TBL_PRODUCTS, $data, "`id` = '".wpsg_q($edit_id)."'");
 					
Index: /mods/wpsg_mod_productvariants.class.php
===================================================================
--- /mods/wpsg_mod_productvariants.class.php	(revision 8420)
+++ /mods/wpsg_mod_productvariants.class.php	(revision 8421)
@@ -135,6 +135,5 @@
 		} // public function settings_edit_afterform()
 
-		public function settings_save()
-		{
+		public function settings_save() {
 
 		    $this->shop->update_option('wpsg_mod_productvariants_price', $_REQUEST['wpsg_mod_productvariants_price'], false, false, WPSG_SANITIZE_CHECKBOX);
@@ -142,4 +141,5 @@
 			$this->shop->update_option('wpsg_vp_replaceanr', wpsg_xss($_REQUEST['wpsg_vp_replaceanr']));
 			$this->shop->update_option('wpsg_vp_product_stock_nocalc', intval($_REQUEST['wpsg_vp_product_stock_nocalc']));
+			$this->shop->update_option('wpsg_vp_product_stock_varinotchange', intval($_REQUEST['wpsg_vp_product_stock_varinotchange']));
  
 		} // public function settings_save()
@@ -2024,50 +2024,50 @@
 		 * Reduziert den Bestand der Variationen in dem Array
 		 */
-		public function reduceStock($produkt_key, $menge, $reduce = true)
-		{
-
-			//$produkt_id = preg_replace('/(^pv_)|(\|(.*)$)/', '', $produkt_key);
-			//$vari_teil = preg_replace('/(.*)\//', '', $produkt_key);
-			//$arVarianten = explode('|', $vari_teil);
-			$arVar = $this->explodeProductKey($produkt_key);
-
-			//$vari_data = $this->loadVarianten($produkt_id, true, true);
-
-			// Tabellen sperren
-			if ($this->shop->get_option('wpsg_lockOrderTables') != '1')
-			{
-
-				$arLockTables[WPSG_TBL_PRODUCTS_VARIATION] = "WRITE";
-				$strQuery = "LOCK TABLES ";
-				foreach ($arLockTables as $table_name => $locktype) $strQuery .= " `".$table_name."` ".$locktype.",";
-				$this->db->Query(substr($strQuery, 0, -1));
-			}
-
-			foreach ($arVar['arVari'] as $v => $vv)
-			{
-
-				$pid = $arVar['product_id'];
-				if ($reduce === true)
+		public function reduceStock($produkt_key, $menge, $reduce = true) {
+ 
+			if ($this->shop->get_option('wpsg_vp_product_stock_varinotchange') !== '1') {
+				
+				$arVar = $this->explodeProductKey($produkt_key);
+	
+				//$vari_data = $this->loadVarianten($produkt_id, true, true);
+	
+				// Tabellen sperren
+				if ($this->shop->get_option('wpsg_lockOrderTables') != '1')
 				{
-
-					//$vari_data[$variante_id]['vari'][$vari_id]['stock'] -= $menge;
-					$this->db->Query("
-							UPDATE ".WPSG_TBL_PRODUCTS_VARIATION." SET `stock` = `stock` - ".wpsg_q($menge)." WHERE `variation_id` = '".wpsg_q($vv)."'
-							AND `product_id` = '".wpsg_q($pid)."'");
-
-				}
-				else
+	
+					$arLockTables[WPSG_TBL_PRODUCTS_VARIATION] = "WRITE";
+					$strQuery = "LOCK TABLES ";
+					foreach ($arLockTables as $table_name => $locktype) $strQuery .= " `".$table_name."` ".$locktype.",";
+					$this->db->Query(substr($strQuery, 0, -1));
+				}
+	
+				foreach ($arVar['arVari'] as $v => $vv)
 				{
-
-					//$vari_data[$variante_id]['vari'][$vari_id]['stock'] += $menge;
-					$this->db->Query("
-							UPDATE ".WPSG_TBL_PRODUCTS_VARIATION." SET `stock` = `stock` + ".wpsg_q($menge)." WHERE `variation_id` = '".wpsg_q($vv)."'
-							AND `product_id` = '".wpsg_q($pid)."'");
-
-				}
-
-			}
-			
-			$this->db->unlockTables();
+	
+					$pid = $arVar['product_id'];
+					if ($reduce === true)
+					{
+	
+						//$vari_data[$variante_id]['vari'][$vari_id]['stock'] -= $menge;
+						$this->db->Query("
+								UPDATE ".WPSG_TBL_PRODUCTS_VARIATION." SET `stock` = `stock` - ".wpsg_q($menge)." WHERE `variation_id` = '".wpsg_q($vv)."'
+								AND `product_id` = '".wpsg_q($pid)."'");
+	
+					}
+					else
+					{
+	
+						//$vari_data[$variante_id]['vari'][$vari_id]['stock'] += $menge;
+						$this->db->Query("
+								UPDATE ".WPSG_TBL_PRODUCTS_VARIATION." SET `stock` = `stock` + ".wpsg_q($menge)." WHERE `variation_id` = '".wpsg_q($vv)."'
+								AND `product_id` = '".wpsg_q($pid)."'");
+	
+					}
+	
+				}
+				
+				$this->db->unlockTables();
+				
+			}
 
 			if ($this->shop->get_option('wpsg_vp_product_stock_nocalc') === '1') {
Index: /mods/wpsg_mod_stock.class.php
===================================================================
--- /mods/wpsg_mod_stock.class.php	(revision 8420)
+++ /mods/wpsg_mod_stock.class.php	(revision 8421)
@@ -312,14 +312,35 @@
 			$product_key = $_SESSION['wpsg']['basket'][$product_index]['id'];
 
-			if (!$this->checkBestand($product_key, $stock))
-			{
+			if (!$this->checkBestand($product_key, $stock)) {
 
 				/* Nicht mehr ausreichend im Lager */
-				if ($this->shop->get_option('wpsg_mod_stock_allow') === '1')
-				{
+				if ($this->shop->get_option('wpsg_mod_stock_allow') === '1') {
 
 					/* Bestellungen mit negativem Lagerbestand verhindern ist aktiv */
 					$stock = $this->getBestand($product_key);
 
+					if ($this->shop->get_option('wpsg_vp_product_stock_varinotchange')) {
+					
+						if ($this->shop->hasMod('wpsg_mod_productvariants')) {
+							
+							if ($this->shop->callMod('wpsg_mod_productvariants', 'isVariantsProductKey', [$product_key])) {
+								
+								// Das Produkt kann in verschiedenen Varianten im Warenkorb liegen
+								foreach ($_SESSION['wpsg']['basket'] as $_product_index => $basket_data) {
+									
+									if ($this->shop->getProduktID($basket_data['id']) === $this->shop->getProduktID($product_key) && $product_index !== $_product_index) {
+										
+										$stock -= $basket_data['menge'];
+										
+									}
+									
+								}
+								
+							}
+							
+						}
+						
+					}
+					
 					$this->shop->addFrontendError(__('Menge wurde korrigiert, da sie den Warenbestand ÃŒberschreitet!', 'wpsg'));
 
@@ -358,4 +379,27 @@
 					$amount_stock = $this->getBestand($product_key);
 
+					if ($this->shop->get_option('wpsg_vp_product_stock_varinotchange')) {
+					
+						if ($this->shop->hasMod('wpsg_mod_productvariants')) {
+							
+							if ($this->shop->callMod('wpsg_mod_productvariants', 'isVariantsProductKey', [$product_key])) {
+								
+								// Das Produkt kann in verschiedenen Varianten im Warenkorb liegen
+								foreach ($_SESSION['wpsg']['basket'] as $_product_index => $basket_data) {
+									
+									if ($this->shop->getProduktID($basket_data['id']) === $this->shop->getProduktID($product_key) && $product_index !== $_product_index) {
+										
+										$amount_stock -= $basket_data['menge'];
+										
+									}
+									
+								}
+								
+							}
+							
+						}
+						
+					}
+					
 					$amount_set = $amount_stock - $ses_amount;
 
@@ -593,5 +637,28 @@
 
 			$product_stock = $this->getBestand($produkt_key);
-
+ 
+			if ($this->shop->get_option('wpsg_vp_product_stock_varinotchange')) {
+			
+				if ($this->shop->hasMod('wpsg_mod_productvariants')) {
+					
+					if ($this->shop->callMod('wpsg_mod_productvariants', 'isVariantsProductKey', [$produkt_key])) {
+						
+						// Das Produkt kann in verschiedenen Varianten im Warenkorb liegen
+						foreach ($_SESSION['wpsg']['basket'] as $basket_data) {
+							
+							if ($this->shop->getProduktID($basket_data['id']) === $this->shop->getProduktID($produkt_key) && $produkt_key !== $basket_data['id']) {
+							 
+								$menge += $basket_data['menge'];
+								
+							}
+							
+						}
+						
+					}
+					
+				}
+				
+			}
+			
 			if ($menge > $product_stock) {
 
Index: /views/mods/mod_productvariants/settings_edit.phtml
===================================================================
--- /views/mods/mod_productvariants/settings_edit.phtml	(revision 8420)
+++ /views/mods/mod_productvariants/settings_edit.phtml	(revision 8421)
@@ -27,4 +27,8 @@
 			]); ?>
 			
+			<?php echo wpsg_drawForm_Checkbox('wpsg_vp_product_stock_varinotchange', __('Produktbestand in Varianten nicht verringern', 'wpsg'), $this->get_option('wpsg_vp_product_stock_varinotchange'), [
+				'hint' => __('Ist diese Option aktiv, so wird bei Kauf der Bestand in den Varianten nicht verringert.', 'wpsg'), 'help' => 'wpsg_vp_product_stock_varinotchange'
+			]); ?>
+			
 		</div>
 </div>
