diff --git a/web/org.openbravo.retail.posterminal/js/utils/ob-utilitiesuipos.js b/web/org.openbravo.retail.posterminal/js/utils/ob-utilitiesuipos.js
--- a/web/org.openbravo.retail.posterminal/js/utils/ob-utilitiesuipos.js
+++ b/web/org.openbravo.retail.posterminal/js/utils/ob-utilitiesuipos.js
@@ -428,7 +428,8 @@
             _.each(users.models, function (user) {
               if (username === user.get('name') && user.get('password') === OB.MobileApp.model.generate_sha1(password + user.get('created'))) {
                 _.each(approvalType, function (perm) {
-                  if (JSON.parse(user.get('terminalinfo')).permissions[perm]) {
+                  var approvalToCheck = (typeof (perm) === 'object' ? perm.approval : perm);
+                  if (JSON.parse(user.get('terminalinfo')).permissions[approvalToCheck]) {
                     countApprovals += 1;
                     supervisor = user;
                   }
@@ -446,7 +447,8 @@
           supervisor = users.models[0];
           if (supervisor.get('password') === OB.MobileApp.model.generate_sha1(password + supervisor.get('created'))) {
             _.each(approvalType, function (perm) {
-              if (_.contains(JSON.parse(supervisor.get('permissions')), perm)) {
+              var approvalToCheck = (typeof (perm) === 'object' ? perm.approval : perm);
+              if (_.contains(JSON.parse(supervisor.get('permissions')), approvalToCheck)) {
                 countApprovals += 1;
               }
             }, this);
@@ -459,7 +461,8 @@
                 _.each(users.models, function (user) {
                   if (username === user.get('name') && user.get('password') === OB.MobileApp.model.generate_sha1(password + user.get('created'))) {
                     _.each(approvalType, function (perm) {
-                      if (JSON.parse(user.get('terminalinfo')).permissions[perm]) {
+                      var approvalToCheck = (typeof (perm) === 'object' ? perm.approval : perm);
+                      if (JSON.parse(user.get('terminalinfo')).permissions[approvalToCheck]) {
                         countApprovals += 1;
                         supervisor = user;
                       }

