--- a/modules/org.openbravo.erputil.carrierintegration.seurspain/src/org/openbravo/erputil/carrierintegration/seurspain/SeurIntegration.java
+++ b/modules/org.openbravo.erputil.carrierintegration.seurspain/src/org/openbravo/erputil/carrierintegration/seurspain/SeurIntegration.java
@@ -44,6 +44,7 @@
 import org.openbravo.model.common.businesspartner.BusinessPartner;
 import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.model.common.geography.Location;
+import org.openbravo.model.materialmgmt.transaction.ShipmentInOut;
 import org.openbravo.utils.FormatUtilities;
 import org.openbravo.warehouse.packing.Packing;
 import org.openbravo.warehouse.packing.PackingBox;
@@ -58,8 +59,11 @@
 
   public void init(Packing _pack) {
     super.init(_pack);
-    seurConf = pack.getOBEUCIFreight().getCarrier().getOBEUCICarrierIntegration()
-        .getOBEUSESSeurConfList().get(0);
+    seurConf = pack.getOBEUCIFreight()
+        .getCarrier()
+        .getOBEUCICarrierIntegration()
+        .getOBEUSESSeurConfList()
+        .get(0);
 
   }
 
@@ -230,13 +234,18 @@
       }
       // Customer information
       BusinessPartner customer = pack.getBusinessPartner();
-      boxDef.put("nombre_consignatario", customer.getName());
+      String customerName = customer.getName();
+      User contact = getContact(customer, true);
+      if (contact != null) {
+        customerName = contact.getName();
+      }
+      boxDef.put("nombre_consignatario", customerName);
 
       Location delLocation = pack.getPartnerAddress().getLocationAddress();
-      String line1 = delLocation.getAddressLine1() == null ? "" : delLocation.getAddressLine1()
-          .trim() + " ";
-      String line2 = delLocation.getAddressLine2() == null ? "" : delLocation.getAddressLine2()
-          .trim();
+      String line1 = delLocation.getAddressLine1() == null ? ""
+          : delLocation.getAddressLine1().trim() + " ";
+      String line2 = delLocation.getAddressLine2() == null ? ""
+          : delLocation.getAddressLine2().trim();
       String strAddress = line1 + line2;
       if (strAddress.trim().length() > 70) {
         strAddress = strAddress.trim().substring(0, 70);
@@ -250,9 +259,10 @@
       boxDef.put("pais_consignatario", delLocation.getCountry().getISOCountryCode());
 
       // Customer contact
-      if (!OBDao.getActiveOBObjectList(customer, BusinessPartner.PROPERTY_ADUSERLIST).isEmpty()) {
-        User contact = (User) OBDao.getActiveOBObjectList(customer,
-            BusinessPartner.PROPERTY_ADUSERLIST).get(0);
+      if (contact == null) {
+        contact = getContact(customer, false);
+      }
+      if (contact != null) {
         boxDef.put("email_consignatario", contact.getEmail());
         boxDef.put("sms_consignatario", contact.getPhone());
         boxDef.put("telefono_consignatario", contact.getPhone());
@@ -291,9 +301,30 @@
     }
   }
 
+  private User getContact(BusinessPartner customer, Boolean onlyOrderContact) {
+    User contact = null;
+    for (ShipmentInOut shipment : pack.getMaterialMgmtShipmentInOutEMObwpackPackinghIDList()) {
+      if (contact == null && shipment.getUserContact() != null) {
+        contact = shipment.getUserContact();
+      }
+    }
+
+    if (onlyOrderContact) {
+      return contact;
+    }
+
+    if (contact == null) {
+      if (!OBDao.getActiveOBObjectList(customer, BusinessPartner.PROPERTY_ADUSERLIST).isEmpty()) {
+        contact = (User) OBDao.getActiveOBObjectList(customer, BusinessPartner.PROPERTY_ADUSERLIST)
+            .get(0);
+      }
+    }
+    return contact;
+  }
+
   private String getNIF() {
-    OrganizationStructureProvider osp = OBContext.getOBContext().getOrganizationStructureProvider(
-        pack.getClient().getId());
+    OrganizationStructureProvider osp = OBContext.getOBContext()
+        .getOrganizationStructureProvider(pack.getClient().getId());
     Organization le = osp.getLegalEntity(pack.getOrganization());
     String strNIF = le.getOrganizationInformationList().get(0).getTaxID();
     Check.notEmpty(strNIF, "@OBEUSES_NIF_NotFound@");
