diff --git a/bin/backend/controls/shippingRules/RuleWindow.js b/bin/backend/controls/shippingRules/RuleWindow.js
index 55ad69f8d54eb00c2055acf7dadb6618435d92a9..536ab85d93690e90d13a468fe3f98f948e962b55 100644
--- a/bin/backend/controls/shippingRules/RuleWindow.js
+++ b/bin/backend/controls/shippingRules/RuleWindow.js
@@ -83,6 +83,7 @@ define('package/quiqqer/shipping/bin/backend/controls/shippingRules/RuleWindow',
             this.$Rule.update().then(function () {
                 self.Loader.hide();
                 self.fireEvent('updateEnd', [self]);
+                self.close();
             });
         }
     });
diff --git a/src/QUI/ERP/Shipping/Methods/Standard/ShippingType.php b/src/QUI/ERP/Shipping/Methods/Standard/ShippingType.php
index a2784b9cdc720b2e7d472d95877f625f88df71f3..7a44b060c5ec362379d34512ea7b628c6cc6b441 100644
--- a/src/QUI/ERP/Shipping/Methods/Standard/ShippingType.php
+++ b/src/QUI/ERP/Shipping/Methods/Standard/ShippingType.php
@@ -40,17 +40,22 @@ public function getIcon()
 
     /**
      * @param QUI\ERP\Order\OrderInterface $Order
-     * @param QUI\ERP\Shipping\Api\ShippingInterface $ShippingEntry
+     * @param QUI\ERP\Shipping\Types\ShippingEntry $ShippingEntry
      * @return bool
      */
     public function canUsedInOrder(
         QUI\ERP\Order\OrderInterface $Order,
-        QUI\ERP\Shipping\Api\ShippingInterface $ShippingEntry
+        QUI\ERP\Shipping\Types\ShippingEntry $ShippingEntry
     ) {
         if ($ShippingEntry->isActive() === false) {
             return false;
         }
 
+        if (!$ShippingEntry->isValid()) {
+            return false;
+        }
+
+
         // assignment
         $articles   = $ShippingEntry->getAttribute('articles');
         $categories = $ShippingEntry->getAttribute('categories');
diff --git a/src/QUI/ERP/Shipping/Order/Shipping.php b/src/QUI/ERP/Shipping/Order/Shipping.php
index fe8660397cdbe5187ff7b17a91c3733ca77a5798..e176b4868a1eb0afa10443728d04efc25b41ff8e 100644
--- a/src/QUI/ERP/Shipping/Order/Shipping.php
+++ b/src/QUI/ERP/Shipping/Order/Shipping.php
@@ -66,7 +66,9 @@ public function getBody()
         foreach ($userShipping as $ShippingEntry) {
             $ShippingEntry->setOrder($Order);
 
-            if ($ShippingEntry->canUsedInOrder($Order) && $ShippingEntry->canUsedBy($User)) {
+            if ($ShippingEntry->isValid()
+                && $ShippingEntry->canUsedInOrder($Order)
+                && $ShippingEntry->canUsedBy($User)) {
                 $shippingList[] = $ShippingEntry;
             }
         }
diff --git a/src/QUI/ERP/Shipping/Rules/ShippingRule.php b/src/QUI/ERP/Shipping/Rules/ShippingRule.php
index 00f897c196895395e8afd83eda893c8717fc4544..b9c5311aa6ade0e4758e56829944c885b38fa2fd 100644
--- a/src/QUI/ERP/Shipping/Rules/ShippingRule.php
+++ b/src/QUI/ERP/Shipping/Rules/ShippingRule.php
@@ -89,20 +89,19 @@ public function __construct($id, Factory $Factory)
             }
 
             // purchase
-            if (empty($attributes['purchase_quantity_from'])) {
-                $attributes['purchase_quantity_from'] = null;
-            }
-
-            if (empty($attributes['purchase_quantity_to'])) {
-                $attributes['purchase_quantity_until'] = null;
-            }
-
-            if (empty($attributes['purchase_value_to'])) {
-                $attributes['purchase_value_until'] = null;
-            }
-
-            if (empty($attributes['purchase_value_to'])) {
-                $attributes['purchase_value_until'] = null;
+            $nullEmpty = [
+                'purchase_quantity_from',
+                'purchase_quantity_until',
+                'purchase_value_from',
+                'purchase_value_until',
+                'unit_value',
+                'unit'
+            ];
+
+            foreach ($nullEmpty as $k) {
+                if (empty($attributes[$k])) {
+                    $attributes[$k] = null;
+                }
             }
 
             // update for saving
diff --git a/src/QUI/ERP/Shipping/Types/ShippingEntry.php b/src/QUI/ERP/Shipping/Types/ShippingEntry.php
index 27d2bed70c28d5313838c17806742c2128d6c8b8..5183de1ca3bd82b41234830f11833aca1217fdba 100644
--- a/src/QUI/ERP/Shipping/Types/ShippingEntry.php
+++ b/src/QUI/ERP/Shipping/Types/ShippingEntry.php
@@ -594,6 +594,33 @@ public function getShippingRules()
         return $result;
     }
 
+    /**
+     * Can the shipping be used basically?
+     *
+     * @return bool
+     */
+    public function isValid()
+    {
+        if (!$this->isActive()) {
+            return false;
+        }
+
+        $shippingRules = $this->getAttribute('shipping_rules');
+        $shippingRules = \json_decode($shippingRules, true);
+
+        if (!\is_array($shippingRules)) {
+            return true;
+        }
+
+        $rules = $this->getShippingRules();
+
+        if (empty($rules)) {
+            return false;
+        }
+
+        return true;
+    }
+
     //endregion
 
     /**