diff --git a/web/org.openbravo.retail.posterminal/js/components/modalreceiptproperties.js b/web/org.openbravo.retail.posterminal/js/components/modalreceiptproperties.js
--- a/web/org.openbravo.retail.posterminal/js/components/modalreceiptproperties.js
+++ b/web/org.openbravo.retail.posterminal/js/components/modalreceiptproperties.js
@@ -49,10 +49,11 @@
     },
 
     // override to not load things upfront when not needed
-    loadValue: function () {
+    loadValue: function (inSender, inEvent) {
       if (this.doLoadValueNeeded) {
         // call the super implementation in the prototype directly
-        OB.UI.renderComboProperty.prototype.loadValue.apply(this, arguments);
+        this.$.renderCombo.setCollection(this.collection);
+        this.fetchDataFunction(inEvent);
       }
     },
 
@@ -65,6 +66,10 @@
           return;
         }
         if (data.length > 0) {
+          data.unshift({
+            id: null,
+            _identifier: null
+          });
           me.dataReadyFunction(data, args);
         } else {
           actualUser = new OB.Model.SalesRepresentative();
diff --git a/web/org.openbravo.retail.posterminal/js/model/order.js b/web/org.openbravo.retail.posterminal/js/model/order.js
--- a/web/org.openbravo.retail.posterminal/js/model/order.js
+++ b/web/org.openbravo.retail.posterminal/js/model/order.js
@@ -1695,7 +1695,11 @@
       this.set('generateInvoice', OB.MobileApp.model.get('terminal').terminalType.generateInvoice);
       this.set('documentType', OB.MobileApp.model.get('terminal').terminalType.documentType);
       this.set('createdBy', OB.MobileApp.model.get('orgUserId'));
-      this.set('salesRepresentative', OB.MobileApp.model.get('context').user.id);
+      if (OB.MobileApp.model.get('context').isSalesRepresentative) {
+        this.set('salesRepresentative', OB.MobileApp.model.get('context').user.id);
+      } else {
+        this.set('salesRepresentative', null);
+      }
       this.set('hasbeenpaid', 'N');
       this.set('isPaid', false);
       this.set('isEditable', true);
@@ -2467,8 +2471,13 @@
       order.set('currency', OB.MobileApp.model.get('terminal').currency);
       order.set('currency' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER, OB.MobileApp.model.get('terminal')['currency' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER]);
       order.set('warehouse', OB.MobileApp.model.get('terminal').warehouse);
-      order.set('salesRepresentative', OB.MobileApp.model.get('context').user.id);
-      order.set('salesRepresentative' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER, OB.MobileApp.model.get('context').user._identifier);
+      if (OB.MobileApp.model.get('context').isSalesRepresentative) {
+        order.set('salesRepresentative', OB.MobileApp.model.get('context').user.id);
+        order.set('salesRepresentative' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER, OB.MobileApp.model.get('context').user._identifier);
+      } else {
+        order.set('salesRepresentative', null);
+        order.set('salesRepresentative' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER, null);
+      }
       order.set('posTerminal', OB.MobileApp.model.get('terminal').id);
       order.set('posTerminal' + OB.Constants.FIELDSEPARATOR + OB.Constants.IDENTIFIER, OB.MobileApp.model.get('terminal')._identifier);
       order.set('orderDate', new Date());
