diff --git a/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js b/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js
index 30cb980..ef7c73c 100644
--- a/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js
+++ b/web/org.openbravo.retail.sessions/js/countcash/countcash-model.js
@@ -727,8 +727,45 @@ OB.OBPOSSession.CountCash.Model.CashUp = OB.Model.TerminalWindowModel.extend({
             prepareCashManagementsToSend(payment, index + 1, callback);
           }
         };
-        OB.UTIL.showLoading(true);
-        prepareCashManagementsToSend(me.get('initialCountPayments'), 0);
+        const initialCountPayments = {};
+        me.get('initialCountPayments').forEach(payment => {
+          initialCountPayments[payment] = {
+            currency: me.get(payment).get('currency'),
+            totalCounted: me.get(payment).get('totalCounted'),
+            totalDifference: me.get(payment).get('totalDifference'),
+            totalExpected: me.get(payment).get('totalExpected'),
+            coins: me
+              .get(payment)
+              .get('coins')
+              .filter(coin => coin.get('numberOfCoins'))
+              .map(coin => {
+                return {
+                  amount: coin.get('amount') || coin.get('coinValue'),
+                  numberOfCoins: coin.get('numberOfCoins'),
+                  totalAmount: coin.get('totalAmount'),
+                  coinValue: coin.get('coinValue')
+                };
+              })
+              .sort((a, b) => {
+                return b.coinValue - a.coinValue;
+              })
+          };
+        });
+        OB.UTIL.HookManager.executeHooks(
+          'POSS_PreInitialCount',
+          {
+            initialCountPayments
+          },
+          function(args) {
+            if (args && args.cancellation) {
+              OB.UTIL.showLoggingOut(true);
+              OB.MobileApp.model.logout();
+              return;
+            }
+            OB.UTIL.showLoading(true);
+            prepareCashManagementsToSend(me.get('initialCountPayments'), 0);
+          }
+        );
       }
     );
   },
diff --git a/web/org.openbravo.retail.sessions/js/countcash/countcash.js b/web/org.openbravo.retail.sessions/js/countcash/countcash.js
index 3b0b7cd..7de41b3 100644
--- a/web/org.openbravo.retail.sessions/js/countcash/countcash.js
+++ b/web/org.openbravo.retail.sessions/js/countcash/countcash.js
@@ -332,10 +332,12 @@ enyo.kind({
                   OB.UTIL.HookManager.executeHooks(
                     'POSS_PostInitialCount',
                     {
-                      terminal: OB.POS.modelterminal.get('terminal')
+                      terminal: OB.MobileApp.model.get('terminal')
                     },
                     function(args) {
                       if (args && args.cancellation) {
+                        OB.UTIL.showLoggingOut(true);
+                        OB.MobileApp.model.logout();
                         return;
                       }
                       OB.POS.navigate('retail.pointofsale');
