--- a/modules/org.openbravo.retail.posterminal/src/org/openbravo/retail/posterminal/CustomerLoader.java	2018-05-09 10:22:57.000000000 +0200
+++ b/modules/org.openbravo.retail.posterminal/src/org/openbravo/retail/posterminal/CustomerLoader.java	2018-05-23 09:53:36.598475000 +0200
@@ -56,6 +56,10 @@
   @Any
   private Instance<CustomerAddrCreationHook> customerAddrCreations;
 
+  @Inject
+  @Any
+  private Instance<CustomerContactHook> customerContactCreations;
+
   protected String getImportQualifier() {
     return "BusinessPartner";
   }
@@ -88,7 +92,10 @@
       executeHooks(customerCreations, jsoncustomer, customer);
 
       editLocation(customer, jsoncustomer);
-      editBPartnerContact(customer, jsoncustomer);
+      user = editBPartnerContact(customer, jsoncustomer);
+
+      executeContactHooks(customerContactCreations, jsoncustomer, user);
+
       OBDal.getInstance().flush();
     } finally {
       OBContext.restorePreviousMode();
@@ -217,7 +224,7 @@
     return customer;
   }
 
-  private void editBPartnerContact(BusinessPartner customer, JSONObject jsonCustomer)
+  private User editBPartnerContact(BusinessPartner customer, JSONObject jsonCustomer)
       throws JSONException {
     Entity userEntity = ModelProvider.getInstance().getEntity(
         org.openbravo.model.ad.access.User.class);
@@ -234,6 +241,7 @@
 
       // Contact exist > modify it. The username is not modified
       OBDal.getInstance().save(user);
+      return user;
     } else {
       // Contact doesn't exists > create it - create user linked to BP
 
@@ -281,6 +289,7 @@
       usr.setBusinessPartner(customer);
       usr.setNewOBObject(true);
       OBDal.getInstance().save(usr);
+      return usr;
     }
   }
 
@@ -394,4 +403,12 @@
       proc.exec(jsonCustomer, customer, location);
     }
   }
+
+  private void executeContactHooks(Instance<CustomerContactHook> hooks, JSONObject jsonCustomer,
+      User user) throws Exception {
+    for (Iterator<CustomerContactHook> procIter = hooks.iterator(); procIter.hasNext();) {
+      CustomerContactHook proc = procIter.next();
+      proc.exec(jsonCustomer, user);
+    }
+  }
 }
\ No hay ningún carácter de nueva línea al final del archivo
