diff --git a/src-db/database/sourcedata/AD_MESSAGE.xml b/src-db/database/sourcedata/AD_MESSAGE.xml
index 1b67ca16bd779861f7bbc911e91a929857cdc096..5b29a1ac71d82e9d060bfa840b9a8082f4b26c34 100644
--- a/src-db/database/sourcedata/AD_MESSAGE.xml
+++ b/src-db/database/sourcedata/AD_MESSAGE.xml
@@ -120,6 +120,18 @@
 <!--2F2CEE804346445BBCF2F91D742EC71D-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
 <!--2F2CEE804346445BBCF2F91D742EC71D--></AD_MESSAGE>
 
+<!--2F3DD3F1D97944DBA71C3198796AF002--><AD_MESSAGE>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <AD_MESSAGE_ID><![CDATA[2F3DD3F1D97944DBA71C3198796AF002]]></AD_MESSAGE_ID>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <VALUE><![CDATA[OBPOSCS_RollbackWhenValidateExcelError]]></VALUE>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <MSGTEXT><![CDATA[Do a rollback when an excel record is not validated property not found]]></MSGTEXT>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <MSGTYPE><![CDATA[I]]></MSGTYPE>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <AD_MODULE_ID><![CDATA[D6F3168876FA480381D9CC1A3FD92D81]]></AD_MODULE_ID>
+<!--2F3DD3F1D97944DBA71C3198796AF002-->  <ISINCLUDEINI18N><![CDATA[N]]></ISINCLUDEINI18N>
+<!--2F3DD3F1D97944DBA71C3198796AF002--></AD_MESSAGE>
+
 <!--309B43BF49A641CB88C96EEC239F22A1--><AD_MESSAGE>
 <!--309B43BF49A641CB88C96EEC239F22A1-->  <AD_MESSAGE_ID><![CDATA[309B43BF49A641CB88C96EEC239F22A1]]></AD_MESSAGE_ID>
 <!--309B43BF49A641CB88C96EEC239F22A1-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_PREFERENCE.xml b/src-db/database/sourcedata/AD_PREFERENCE.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c015b3abdea20ef783b9f8ab5f01a554c5e4a790
--- /dev/null
+++ b/src-db/database/sourcedata/AD_PREFERENCE.xml
@@ -0,0 +1,14 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<data>
+<!--E3FDB648E83D4CF89138EF9BA348206B--><AD_PREFERENCE>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <AD_PREFERENCE_ID><![CDATA[E3FDB648E83D4CF89138EF9BA348206B]]></AD_PREFERENCE_ID>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <VALUE><![CDATA[N]]></VALUE>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <PROPERTY><![CDATA[OBPOSCS_RollbackWhenValidateExcel]]></PROPERTY>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <ISPROPERTYLIST><![CDATA[Y]]></ISPROPERTYLIST>
+<!--E3FDB648E83D4CF89138EF9BA348206B-->  <AD_MODULE_ID><![CDATA[D6F3168876FA480381D9CC1A3FD92D81]]></AD_MODULE_ID>
+<!--E3FDB648E83D4CF89138EF9BA348206B--></AD_PREFERENCE>
+
+</data>
diff --git a/src-db/database/sourcedata/AD_REF_LIST.xml b/src-db/database/sourcedata/AD_REF_LIST.xml
index 65accf6d2023c0954c40102f485f82a977520c03..58a184fa7e7b3544cee6ecde6b41f9e43c5f915e 100644
--- a/src-db/database/sourcedata/AD_REF_LIST.xml
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml
@@ -1,5 +1,16 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <data>
+<!--17F4947407964EA0B1D080C98FD1A596--><AD_REF_LIST>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <AD_REF_LIST_ID><![CDATA[17F4947407964EA0B1D080C98FD1A596]]></AD_REF_LIST_ID>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <VALUE><![CDATA[OBPOSCS_RollbackWhenValidateExcel]]></VALUE>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <NAME><![CDATA[Do a rollback when an excel record is not validated]]></NAME>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID>
+<!--17F4947407964EA0B1D080C98FD1A596-->  <AD_MODULE_ID><![CDATA[D6F3168876FA480381D9CC1A3FD92D81]]></AD_MODULE_ID>
+<!--17F4947407964EA0B1D080C98FD1A596--></AD_REF_LIST>
+
 <!--3A23CA38F9FA47F4B0113DBEE51D9B32--><AD_REF_LIST>
 <!--3A23CA38F9FA47F4B0113DBEE51D9B32-->  <AD_REF_LIST_ID><![CDATA[3A23CA38F9FA47F4B0113DBEE51D9B32]]></AD_REF_LIST_ID>
 <!--3A23CA38F9FA47F4B0113DBEE51D9B32-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/retail/copystore/process/TabHandler.java b/src/org/openbravo/retail/copystore/process/TabHandler.java
index d6817ad0c9095a73397900a679c9536ff75b9369..6f01898e94110c17e4d41dcfe278c3b9b8ffbd14 100644
--- a/src/org/openbravo/retail/copystore/process/TabHandler.java
+++ b/src/org/openbravo/retail/copystore/process/TabHandler.java
@@ -24,10 +24,12 @@ import org.openbravo.base.exception.OBException;
 import org.openbravo.base.model.Entity;
 import org.openbravo.base.model.Property;
 import org.openbravo.base.structure.BaseOBObject;
+import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.dal.service.OBQuery;
 import org.openbravo.erpCommon.businessUtility.Preferences;
 import org.openbravo.erpCommon.utility.OBDateUtils;
+import org.openbravo.erpCommon.utility.OBMessageUtils;
 import org.openbravo.erpCommon.utility.PropertyException;
 import org.openbravo.model.common.enterprise.Organization;
 import org.openbravo.retail.copystore.exception.ColumnValidationException;
@@ -52,6 +54,7 @@ public abstract class TabHandler<T extends BaseOBObject> extends PriorityHandler
   private static final Logger log = LoggerFactory.getLogger(TabHandler.class);
   public static final String DEFAULT_ORGANIZATION = "0";
   public static final String TERMINALTYPE = "Terminal type";
+  private static final String ROLLBACKWHENVALIDATEEXCEL = "OBPOSCS_RollbackWhenValidateExcel";
   public T origObject;
   public T newObject;
   protected CopyStoreProcess copyStoreProcess;
@@ -318,14 +321,36 @@ public abstract class TabHandler<T extends BaseOBObject> extends PriorityHandler
           isValidRecord = false;
           break;
         }
-        copyStoreProcess.addLog(copyStoreProcess.updatingStore ? LogLevel.INFO : LogLevel.ERROR,
-            e.getMessage());
         isValidRecord = false;
+
+        if (isPreferenceDoRollbackWhenExcelRecordIsNotValidated()) {
+          copyStoreProcess.addLog(LogLevel.ERROR, e.getMessage());
+          throw new OBException(e.getMessage());
+        } else {
+          copyStoreProcess.addLog(copyStoreProcess.updatingStore ? LogLevel.INFO : LogLevel.ERROR,
+              e.getMessage());
+        }
       }
     }
     return isValidRecord;
   }
 
+  /**
+   * Get preference "Do a rollback when an excel record is not validated" value
+   */
+  private static boolean isPreferenceDoRollbackWhenExcelRecordIsNotValidated() {
+    boolean doRollback = false;
+    try {
+      doRollback = "Y".equals(Preferences.getPreferenceValue(ROLLBACKWHENVALIDATEEXCEL, true,
+          OBContext.getOBContext().getCurrentClient(),
+          OBContext.getOBContext().getCurrentOrganization(), OBContext.getOBContext().getUser(),
+          OBContext.getOBContext().getRole(), null));
+    } catch (PropertyException pe) {
+      throw new OBException(OBMessageUtils.messageBD("REAIN_SendBothAttachmentsNotValid"), pe);
+    }
+    return doRollback;
+  }
+
   /**
    * Validates a field
    * 
