diff --git a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
--- a/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
+++ b/web/org.openbravo.mobile.core/source/component/ob-keyboard.js
@@ -136,16 +136,14 @@
                             });
                           }
                           if (OB.UTIL.isDisableDiscount) {
-                            if (OB.UTIL.isDisableDiscount(receipt)) {
+                            if (!OB.MobileApp.model.hasPermission("OBPOS_order.discount", true) || OB.UTIL.isDisableDiscount(receipt)) {
                               this.waterfall('onDisableButton', {
                                 disabled: true
                               });
                             } else {
-                              if (OB.MobileApp.model.get('permissions')[this.permission] !== false) {
-                                this.waterfall('onDisableButton', {
-                                  disabled: false
-                                });
-                              }
+                              this.waterfall('onDisableButton', {
+                                disabled: false
+                              });
                             }
                           }
                         }, this);
@@ -820,11 +818,11 @@
         foundLabel = false,
         existsLabel = false;
 
-    enyo.forEach(this.$.keypadcontainer.getComponents(), function (pad) {      
+    enyo.forEach(this.$.keypadcontainer.getComponents(), function (pad) {
       if (!firstLabel) {
         firstLabel = pad.label;
       } else if (foundLabel) {
-        this.state.set('keypadNextLabel', this.state.get('keypadName')!=='basic' ? this.$.keypadcontainer.children[0].label : this.searchLabelPad(this.namedkeypads[this.status]));
+        this.state.set('keypadNextLabel', this.state.get('keypadName') !== 'basic' ? this.$.keypadcontainer.children[0].label : this.searchLabelPad(this.namedkeypads[this.status]));
         foundLabel = false;
       }
       if (pad.padName === keypadName) {
@@ -851,42 +849,42 @@
   },
 
   showNextKeypad: function () {
-    var i, max, current = this.state.get('keypadName');    
-    
-    if(current !== 'basic'){
-      this.showKeypad('basic');    
+    var i, max, current = this.state.get('keypadName');
+
+    if (current !== 'basic') {
+      this.showKeypad('basic');
     } else {
       for (i = 0, max = this.activekeypads.length; i < max; i++) {
         if (this.activekeypads[i] === current) {
-          if(this.namedkeypads[this.status] === this.activekeypads[1] && this.activekeypads.length > 2){
+          if (this.namedkeypads[this.status] === this.activekeypads[1] && this.activekeypads.length > 2) {
             this.showKeypad(i < this.activekeypads.length - 1 ? this.activekeypads[i + 2] : this.activekeypads[0]);
             break;
           } else {
             this.showKeypad(i < this.activekeypads.length - 1 ? this.activekeypads[i + 1] : this.activekeypads[0]);
             break;
           }
-         
-       }
+
+        }
       }
-     }
-   },
-   
-   searchLabelPad: function (status) {
-     var i;
-     if(!_.isUndefined(status)){
-       if(this.activekeypads.length > 2){
-         for (i = 0; i < this.activekeypads.length; i++) {
-           if (this.activekeypads[i] === status) {
-               return i < this.activekeypads.length - 1 ? this.$.keypadcontainer.children[i+1].label : this.$.keypadcontainer.children[1].label;
-           }
-         } 
-       } else {
-         return this.$.keypadcontainer.children[1].label;
-       }       
-     } else {
-       return this.$.keypadcontainer.children[1].label;
-     }
-   },
+    }
+  },
+
+  searchLabelPad: function (status) {
+    var i;
+    if (!_.isUndefined(status)) {
+      if (this.activekeypads.length > 2) {
+        for (i = 0; i < this.activekeypads.length; i++) {
+          if (this.activekeypads[i] === status) {
+            return i < this.activekeypads.length - 1 ? this.$.keypadcontainer.children[i + 1].label : this.$.keypadcontainer.children[1].label;
+          }
+        }
+      } else {
+        return this.$.keypadcontainer.children[1].label;
+      }
+    } else {
+      return this.$.keypadcontainer.children[1].label;
+    }
+  },
 
   showSidepad: function (sidepadname) {
     this.$.sideenabled.hide();
@@ -1031,4 +1029,4 @@
     // Finally show the dialog.
     this.show();
   }
-});
+});
\ No newline at end of file
