diff --git a/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js b/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js
index 81f1c17e0df12e1aa28446f49716e8d5146d42f0..b75651e088389286cc81cf3555aebc981b35ad13 100644
--- a/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js
+++ b/web/org.openbravo.retail.posterminal/js/closecash/view/closecash.js
@@ -601,10 +601,28 @@ enyo.kind({
       OB.I18N.getLabel(nextButtonI18NLabel)
     );
   },
+  doCashKeepStep: function() {
+    return this.model.get('paymentList').find(payment => {
+      return payment.get('counted') && payment.get('counted') !== 0;
+    });
+  },
   changeStep: function(inSender, inEvent) {
     const direction = inEvent.originator.stepCount;
-
     if (direction > 0) {
+      // Skip cash to keep step if counted is zero
+      const currentstep = this.model.get('step') - 1;
+      if (currentstep === this.model.stepIndex('OB.CloseCash.PaymentMethods')) {
+        if (!this.doCashKeepStep()) {
+          this.model.stepsDefinition[
+            this.model.stepIndex('OB.CloseCash.CashToKeep')
+          ].active = false;
+        } else {
+          this.model.stepsDefinition[
+            this.model.stepIndex('OB.CloseCash.CashToKeep')
+          ].active = true;
+        }
+      }
+
       // Check with the step if can go next.
       this.model.verifyStep(
         this.$.closeCashMultiColumn.$.leftPanel.$.closeCashLeftPanel.$,
