diff --git a/src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java b/src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java
--- a/src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java
+++ b/src/org/openbravo/retail/posterminal/importprocess/POSImportEntryProcessor.java
@@ -13,6 +13,7 @@
 
 import javax.enterprise.event.Observes;
 
+import org.codehaus.jettison.json.JSONArray;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 import org.openbravo.base.exception.OBException;
@@ -23,6 +24,7 @@
 import org.openbravo.client.kernel.event.EntityPersistenceEventObserver;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.mobile.core.servercontroller.SynchronizedServerProcessCaller;
+import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.retail.posterminal.OBPOSApplications;
 import org.openbravo.service.importprocess.ImportEntry;
 import org.openbravo.service.importprocess.ImportProcessUtils;
@@ -67,7 +69,7 @@
           posTerminalId = ImportProcessUtils.getJSONProperty(jsonObject, "pos");
         }
         if (posTerminalId != null) {
-          OBPOSApplications posTerminal = OBDal.getInstance().get(OBPOSApplications.class,
+          OBPOSApplications posTerminal = OBDal.getInstance().getProxy(OBPOSApplications.class,
               posTerminalId);
           final Entity importEntryEntity = ModelProvider.getInstance().getEntity(
               ImportEntry.ENTITY_NAME);
@@ -76,9 +78,30 @@
               .getProperty(ImportEntry.PROPERTY_OBPOSPOSTERMINAL);
           event.setCurrentState(posTerminalProperty, posTerminal);
 
+          // determine the organization without reading the pos terminal
+          // at the moment only specific structured json is supported
+          Organization organization = null;
+          final JSONObject content = new JSONObject(importEntry.getJsonInfo());
+          if (content.has("organization") && content.get("organization") instanceof String) {
+            organization = OBDal.getInstance().getProxy(Organization.class,
+                content.getString("organization"));
+          } else if (content.has("data") && content.get("data") instanceof JSONArray) {
+            final JSONArray data = content.getJSONArray("data");
+            if (data.length() > 0 && data.get(0) instanceof JSONObject) {
+              final JSONObject json = data.getJSONObject(0);
+              if (json.has("organization") && json.get("organization") instanceof String) {
+                organization = OBDal.getInstance().getProxy(Organization.class,
+                    json.getString("organization"));
+              }
+            }
+          }
+          // not found read it from the posterminal which will get loaded
+          if (organization == null) {
+            organization = posTerminal.getOrganization();
+          }
           final Property orgProperty = importEntryEntity
               .getProperty(ImportEntry.PROPERTY_ORGANIZATION);
-          event.setCurrentState(orgProperty, posTerminal.getOrganization());
+          event.setCurrentState(orgProperty, organization);
         }
       }
     } catch (JSONException e) {
