diff --git a/web/org.openbravo.retail.posterminal/js/actions/changequantity.js b/web/org.openbravo.retail.posterminal/js/actions/changequantity.js
index d46d1efd3854e6a213ea8db2d99a0921b68a4172..ef48df091226288bc3afd230099b3b7025245ce0 100644
--- a/web/org.openbravo.retail.posterminal/js/actions/changequantity.js
+++ b/web/org.openbravo.retail.posterminal/js/actions/changequantity.js
@@ -168,6 +168,10 @@
         return;
       }
 
+      if (receipt.validateAvoidBlindAndReturnLines(false)) {
+        return;
+      }
+
       validateQuantity()
         .then(
           function() {
diff --git a/web/org.openbravo.retail.posterminal/js/actions/returnline.js b/web/org.openbravo.retail.posterminal/js/actions/returnline.js
index 99ad74cc19cb2be3cb0900db8c90c6ac7975970f..4ae867d764916b2f58f721068532b8cee4c4a4dd 100644
--- a/web/org.openbravo.retail.posterminal/js/actions/returnline.js
+++ b/web/org.openbravo.retail.posterminal/js/actions/returnline.js
@@ -103,6 +103,10 @@
               view.waterfall('onRearrangedEditButtonBar');
               return;
             }
+            if (!receipt.validateAvoidBlindAndReturnLines(false)) {
+              view.waterfall('onRearrangedEditButtonBar');
+              return;
+            }
             receipt.set('undo', null);
             receipt.set('multipleUndo', true);
             receipt.set('preventServicesUpdate', true);
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
index c3ab043636cc12fe188971333854e22f22a74a8a..fb43752ae728665cc244323a9dfc27c1e849178f 100644
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -3417,7 +3417,10 @@
               }
               attrs.cancelOperation = true;
             }
-            return null;
+            if (callback) {
+              callback(false);
+            }
+            return;
           }
           OB.UTIL.HookManager.executeHooks(
             'OBPOS_PostAddProductToOrder',
@@ -4829,6 +4832,15 @@
         ) {
           return;
         }
+
+        if (
+          !me.validateAvoidBlindAndReturnLines(
+            options.isVerifiedReturn || false
+          )
+        ) {
+          return;
+        }
+
         // Get prices from BP pricelist
         var newline = new OrderLine({
           id: OB.UTIL.get_UUID(),
@@ -5473,6 +5485,57 @@
       }
     },
 
+    validateAvoidBlindAndReturnLines: function(isVerifiedReturnLine) {
+      if (
+        !OB.MobileApp.model.hasPermission(
+          'OBPOS_AvoidBlindAndVerifiedReturnInSameTicket',
+          true
+        )
+      ) {
+        return true;
+      }
+
+      const totalLines = this.get('lines').length;
+      const negativeLines = _.filter(this.get('lines').models, function(line) {
+        return line.get('qty') < 0;
+      }).length;
+
+      if (negativeLines === 0 || negativeLines !== totalLines) {
+        return true;
+      }
+
+      const blindReturnLines = this.get('lines').models.filter(line => {
+        return !line.get('isVerifiedReturn');
+      });
+      const verifiedReturnLines = this.get('lines').models.filter(line => {
+        return line.get('isVerifiedReturn');
+      });
+
+      if (isVerifiedReturnLine) {
+        if (
+          blindReturnLines.length === 0 &&
+          verifiedReturnLines.length === totalLines
+        ) {
+          return true;
+        } else {
+          OB.UTIL.showWarning(
+            OB.I18N.getLabel('OBPOS_CannotAddVerifiedReturn')
+          );
+          return false;
+        }
+      } else {
+        if (
+          verifiedReturnLines.length === 0 &&
+          blindReturnLines.length === totalLines
+        ) {
+          return true;
+        } else {
+          OB.UTIL.showWarning(OB.I18N.getLabel('OBPOS_CannotAddBlindReturn'));
+          return false;
+        }
+      }
+    },
+
     validateAllowSalesWithReturn: function(qty, skipValidaton, selectedModels) {
       if (
         OB.MobileApp.model.hasPermission(
