diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDataset.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDataset.class
new file mode 100644
index 0000000000000000000000000000000000000000..a6c286740d892c16c2ae163df34ece1c7f85b179
GIT binary patch
literal 11683
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

diff --git a/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDatasetData.class b/src-util/modulescript/build/classes/org/openbravo/modulescript/ApplyInitialSetupDatasetData.class
new file mode 100644
index 0000000000000000000000000000000000000000..b0696219b48afd5e916ed9b0b533f16b9edf6bd5
GIT binary patch
literal 9169
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
DmFx$C

diff --git a/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java
new file mode 100644
--- /dev/null
+++ b/src-util/modulescript/build/javasqlc/src/org/openbravo/modulescript/ApplyInitialSetupDatasetData.java
@@ -0,0 +1,225 @@
+//Sqlc generated V1.O00-1
+package org.openbravo.modulescript;
+
+import java.sql.*;
+
+import org.apache.log4j.Logger;
+
+import javax.servlet.ServletException;
+
+import org.openbravo.data.FieldProvider;
+import org.openbravo.database.ConnectionProvider;
+import org.openbravo.data.UtilSql;
+import java.util.*;
+
+class ApplyInitialSetupDatasetData implements FieldProvider {
+static Logger log4j = Logger.getLogger(ApplyInitialSetupDatasetData.class);
+  private String InitRecordNumber="0";
+  public String name;
+  public String adClientId;
+  public String versionapplied;
+  public String diffcreated;
+  public String id;
+
+  public String getInitRecordNumber() {
+    return InitRecordNumber;
+  }
+
+  public String getField(String fieldName) {
+    if (fieldName.equalsIgnoreCase("name"))
+      return name;
+    else if (fieldName.equalsIgnoreCase("ad_client_id") || fieldName.equals("adClientId"))
+      return adClientId;
+    else if (fieldName.equalsIgnoreCase("versionapplied"))
+      return versionapplied;
+    else if (fieldName.equalsIgnoreCase("diffcreated"))
+      return diffcreated;
+    else if (fieldName.equalsIgnoreCase("id"))
+      return id;
+   else {
+     log4j.debug("Field does not exist: " + fieldName);
+     return null;
+   }
+ }
+
+  public static ApplyInitialSetupDatasetData[] select(ConnectionProvider connectionProvider)    throws ServletException {
+    return select(connectionProvider, 0, 0);
+  }
+
+  public static ApplyInitialSetupDatasetData[] select(ConnectionProvider connectionProvider, int firstRegister, int numberRegisters)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "        select c.name, c.ad_client_id, coalesce(cm.version,om.version) as versionApplied," +
+      "               to_number((select coalesce(min(dt.created),now()) from c_doctype dt where dt.ad_client_id=c.ad_client_id) - c.created) as diffCreated," +
+      "               '' as id" +
+      "        from ad_client c" +
+      "             left join ad_clientmodule cm on c.ad_client_id=cm.ad_client_id and cm.ad_module_id='0'" +
+      "             left join ad_orgmodule om on c.ad_client_id=om.ad_client_id  and om.ad_module_id='0'" +
+      "        order by c.name";
+
+    ResultSet result;
+    Vector<java.lang.Object> vector = new Vector<java.lang.Object>(0);
+    PreparedStatement st = null;
+
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+
+      result = st.executeQuery();
+      long countRecord = 0;
+      long countRecordSkip = 1;
+      boolean continueResult = true;
+      while(countRecordSkip < firstRegister && continueResult) {
+        continueResult = result.next();
+        countRecordSkip++;
+      }
+      while(continueResult && result.next()) {
+        countRecord++;
+        ApplyInitialSetupDatasetData objectApplyInitialSetupDatasetData = new ApplyInitialSetupDatasetData();
+        objectApplyInitialSetupDatasetData.name = UtilSql.getValue(result, "name");
+        objectApplyInitialSetupDatasetData.adClientId = UtilSql.getValue(result, "ad_client_id");
+        objectApplyInitialSetupDatasetData.versionapplied = UtilSql.getValue(result, "versionapplied");
+        objectApplyInitialSetupDatasetData.diffcreated = UtilSql.getValue(result, "diffcreated");
+        objectApplyInitialSetupDatasetData.id = UtilSql.getValue(result, "id");
+        objectApplyInitialSetupDatasetData.InitRecordNumber = Integer.toString(firstRegister);
+        vector.addElement(objectApplyInitialSetupDatasetData);
+        if (countRecord >= numberRegisters && numberRegisters != 0) {
+          continueResult = false;
+        }
+      }
+      result.close();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    ApplyInitialSetupDatasetData objectApplyInitialSetupDatasetData[] = new ApplyInitialSetupDatasetData[vector.size()];
+    vector.copyInto(objectApplyInitialSetupDatasetData);
+    return(objectApplyInitialSetupDatasetData);
+  }
+
+  public static String existingId(ConnectionProvider connectionProvider, String tablename, String columnname, String value, String client)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "        SELECT ";
+    strSql = strSql + ((tablename==null || tablename.equals(""))?"":tablename);
+    strSql = strSql + 
+      "_ID as id" +
+      "        FROM ";
+    strSql = strSql + ((tablename==null || tablename.equals(""))?"":tablename);
+    strSql = strSql + 
+      "        WHERE ";
+    strSql = strSql + ((columnname==null || columnname.equals(""))?"":columnname);
+    strSql = strSql + 
+      " = ?" +
+      "          AND AD_CLIENT_ID = ?";
+
+    ResultSet result;
+    String strReturn = "";
+    PreparedStatement st = null;
+
+    int iParameter = 0;
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+      if (tablename != null && !(tablename.equals(""))) {
+        }
+      if (tablename != null && !(tablename.equals(""))) {
+        }
+      if (columnname != null && !(columnname.equals(""))) {
+        }
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, value);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, client);
+
+      result = st.executeQuery();
+      if(result.next()) {
+        strReturn = UtilSql.getValue(result, "id");
+      }
+      result.close();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    return(strReturn);
+  }
+
+  public static int insertRefDataLoaded(ConnectionProvider connectionProvider, String clientId, String genericId, String specificId, String tableId)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "      INSERT INTO AD_REF_DATA_LOADED (ad_ref_data_loaded_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, generic_id, specific_id, ad_table_id)" +
+      "      VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', ?, ?, ?)";
+
+    int updateCount = 0;
+    PreparedStatement st = null;
+
+    int iParameter = 0;
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, clientId);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, genericId);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, specificId);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, tableId);
+
+      updateCount = st.executeUpdate();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    return(updateCount);
+  }
+
+  public static int insertClientModule(ConnectionProvider connectionProvider, String clientId)    throws ServletException {
+    String strSql = "";
+    strSql = strSql + 
+      "      INSERT INTO AD_CLIENTMODULE (ad_clientmodule_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, version)" +
+      "      VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', (select version from ad_module where ad_module_id='0'))";
+
+    int updateCount = 0;
+    PreparedStatement st = null;
+
+    int iParameter = 0;
+    try {
+    st = connectionProvider.getPreparedStatement(strSql);
+      iParameter++; UtilSql.setValue(st, iParameter, 12, null, clientId);
+
+      updateCount = st.executeUpdate();
+    } catch(SQLException e){
+      log4j.error("SQL error in query: " + strSql + "Exception:"+ e);
+      throw new ServletException("@CODE=" + Integer.toString(e.getErrorCode()) + "@" + e.getMessage());
+    } catch(Exception ex){
+      log4j.error("Exception in query: " + strSql + "Exception:"+ ex);
+      throw new ServletException("@CODE=@" + ex.getMessage());
+    } finally {
+      try {
+        connectionProvider.releasePreparedStatement(st);
+      } catch(Exception ignore){
+        ignore.printStackTrace();
+      }
+    }
+    return(updateCount);
+  }
+}
diff --git a/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java
new file mode 100644
--- /dev/null
+++ b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset.java
@@ -0,0 +1,260 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.modulescript;
+
+import java.math.BigDecimal;
+import org.apache.log4j.Logger;
+import org.openbravo.database.ConnectionProvider;
+import org.openbravo.modulescript.ModuleScript;
+
+public class ApplyInitialSetupDataset extends ModuleScript {
+
+  private static final Logger log4j = Logger.getLogger(UpdateClientGLCategory.class);
+
+  public void execute() {
+    try {
+      ConnectionProvider cp = getConnectionProvider();
+
+      ApplyInitialSetupDatasetData data[] = ApplyInitialSetupDatasetData.select(cp);
+      for (int indClients = 0; indClients < data.length; indClients++) {
+        BigDecimal bdDiffCreated = BigDecimal.TEN;
+        if (data[indClients].diffcreated != null)
+          bdDiffCreated = new BigDecimal(data[indClients].diffcreated);
+        boolean boDocTypesCreatedWithClient = bdDiffCreated.compareTo(new BigDecimal("0.01")) <= 0;
+        boolean boModuleNotApplied = data[indClients].versionapplied == null
+            || "".equals(data[indClients].versionapplied);
+        if (boModuleNotApplied && boDocTypesCreatedWithClient) {
+          for (int indDBElements = 0; indDBElements < directElements.length; indDBElements++) {
+            String existingId = ApplyInitialSetupDatasetData.existingId(cp,
+                directElements[indDBElements].table, directElements[indDBElements].column,
+                directElements[indDBElements].value, data[indClients].adClientId);
+            if (existingId != null && !"".equals(existingId))
+              ApplyInitialSetupDatasetData.insertRefDataLoaded(cp, data[indClients].adClientId,
+                  directElements[indDBElements].id, existingId,
+                  directElements[indDBElements].tableId);
+          }
+          ApplyInitialSetupDatasetData.insertClientModule(cp, data[indClients].adClientId);
+        }
+      }
+    } catch (Exception e) {
+      handleError(e);
+    }
+  }
+
+  public class DBInsert {
+    public DBInsert(String table, String tableId, String id, String column, String value) {
+      this.table = table;
+      this.tableId = tableId;
+      this.id = id;
+      this.column = column;
+      this.value = value;
+    }
+
+    String table;
+    String tableId;
+    String id;
+    String column;
+    String value;
+  }
+
+  DBInsert[] directElements = {
+      new DBInsert("GL_Category", "218", "102C08DF5D4341D5B7FDF758632503D2", "Name", "AR Invoice"),
+      new DBInsert("GL_Category", "218", "160C37CC0D36480E8B91B015FAC747DC", "Name",
+          "Material Management"),
+      new DBInsert("GL_Category", "218", "3005499D637B41AF86222E4BDA29D415", "Name", "Movement"),
+      new DBInsert("GL_Category", "218", "37501231BC434F2DB0BF5F706CEBCC1F", "Name", "Production"),
+      new DBInsert("GL_Category", "218", "47D760C2B9C942EA86D47E6422C3BF9C", "Name", "Manual"),
+      new DBInsert("GL_Category", "218", "5106A21601924DA9996DC40C34954F8A", "Name", "Inventory"),
+      new DBInsert("GL_Category", "218", "745A2B441A2644DF934D1B1E462292E9", "Name", "None"),
+      new DBInsert("GL_Category", "218", "82B88F71CF71401584FC1DFEFD9EB33D", "Name", "MatchInv"),
+      new DBInsert("GL_Category", "218", "844F34E0FA4045C6A3D00B6D4D53107B", "Name", "Settlement"),
+      new DBInsert("GL_Category", "218", "A431AFE1356141728139523053B672C4", "Name", "AP Invoice"),
+      new DBInsert("GL_Category", "218", "AAB8DB8C913E4AA0A651A5C0DC061C1A", "Name",
+          "Bank Statement"),
+      new DBInsert("GL_Category", "218", "C79381E3F81140DBAAD73E6B0CD74901", "Name", "AP Payment"),
+      new DBInsert("GL_Category", "218", "D6A6F219061F4C34B87E1CC4DD6797F3", "Name", "Cash"),
+      new DBInsert("GL_Category", "218", "E8752D97421B434F8355331B680DC652", "Name", "AR Receipt"),
+      new DBInsert("GL_Category", "218", "FA9102F37B904275A3CCD9935D69ED51", "Name", "MatchPO"),
+      new DBInsert("GL_Category", "218", "FC670B83E59C4E7CBD6B999D3F28B251", "Name", "Standard"),
+      new DBInsert("AD_Sequence", "115", "01A4350CC9044517BA7B1B05EEF065FF", "Name",
+          "MM Shipment Indirect"),
+      new DBInsert("AD_Sequence", "115", "0FBF9530BC584A6E9415F7AD01A23201", "Name",
+          "Standard Order"),
+      new DBInsert("AD_Sequence", "115", "267B166C6F4B49E893CF6276EE396E7D", "Name", "Production"),
+      new DBInsert("AD_Sequence", "115", "2D47C580583242259DF1FFEA4D914A94", "Name", "MM Shipment"),
+      new DBInsert("AD_Sequence", "115", "31A0AE4B070A49EAA5D755D33D7B9C8C", "Name",
+          "Reversed Sales Invoice"),
+      new DBInsert("AD_Sequence", "115", "4D72691638A24A0194882A302FCF9494", "Name", "AP Payment"),
+      new DBInsert("AD_Sequence", "115", "6D3C7477332F47CD8A0F6A5C4805EBD4", "Name", "Prepay Order"),
+      new DBInsert("AD_Sequence", "115", "74C3CC2BCDDA45F5BBFE8DF603728749", "Name",
+          "Purchase Requisition"),
+      new DBInsert("AD_Sequence", "115", "7C2F74C43970423E890C8892C43673E9", "Name", "Settlement"),
+      new DBInsert("AD_Sequence", "115", "81EEB6FAFE5D4E6B9389CAAC6297495B", "Name",
+          "Physical Inventory"),
+      new DBInsert("AD_Sequence", "115", "81F0991C4D884F82AF34E6CD72C0BFEC", "Name", "Quotation"),
+      new DBInsert("AD_Sequence", "115", "8547DE01C56D4C67A28F37AA5E72046D", "Name", "Proposal"),
+      new DBInsert("AD_Sequence", "115", "8CA21B8285CC4C4E8DCAD896DB03213E", "Name", "Cash Journal"),
+      new DBInsert("AD_Sequence", "115", "949C664EE54A4AA5B23CE288E1677916", "Name",
+          "Bank Statement"),
+      new DBInsert("AD_Sequence", "115", "A55E308B07EF453B87ED12516E3C9F7D", "Name",
+          "Matched Invoices"),
+      new DBInsert("AD_Sequence", "115", "A6A631F13B004AB8AD39573E95EE992E", "Name",
+          "Return Material"),
+      new DBInsert("AD_Sequence", "115", "A7C5B67A2BB244A19F475160A5AFCE5E", "Name",
+          "Inventory Move"),
+      new DBInsert("AD_Sequence", "115", "AE79ADF07A5E4E6E9C5367505C1C3463", "Name",
+          "Purchase Order"),
+      new DBInsert("AD_Sequence", "115", "B277787F93854F888B32177DCF14C43D", "Name",
+          "Reversed Purchase Invoice"),
+      new DBInsert("AD_Sequence", "115", "B380E35582BD4D1A930146F1BA72C03F", "Name", "GL Journal"),
+      new DBInsert("AD_Sequence", "115", "B74E4F916A4B4A67BA572CAE835B4049", "Name",
+          "AR Credit Memo"),
+      new DBInsert("AD_Sequence", "115", "BCF68C60AFAE45358B7D78FCAB3EB783", "Name",
+          "Matched Purchase Orders"),
+      new DBInsert("AD_Sequence", "115", "C114BA11CB23468B86887B3619AA52CC", "Name", "Depreciation"),
+      new DBInsert("AD_Sequence", "115", "CF53CE0FBB6B4FBB89C4939E191AFFD4", "Name",
+          "Manual Settlement"),
+      new DBInsert("AD_Sequence", "115", "EC5B218F09F44618B98FA0D233E3DC70", "Name", "AR Invoice"),
+      new DBInsert("AD_Sequence", "115", "F3659AAEFC2741F788BB474159616023", "Name", "AR Receipt"),
+      new DBInsert("AD_Sequence", "115", "F4F629F131124F198601A47F5FEDF53A", "Name", "Credit Order"),
+      new DBInsert("AD_Sequence", "115", "F6907986413D46C4BE3E27174895CC48", "Name",
+          "Warehouse Order"),
+      new DBInsert("AD_Sequence", "115", "FE1DFB9999224BE7B1B84B9E5D4CDA0B", "Name",
+          "Debt Payment Management"),
+      new DBInsert("AD_Sequence", "115", "FFB42B38D6A34634B534AB499B13644C", "Name", "POS Order"),
+      new DBInsert("C_DocType", "217", "0A1D4A2DB7144D81A821E31A9B332ACB", "Name", "Quotation"),
+      new DBInsert("C_DocType", "217", "0CD50184705A42CCBECA4EC967646440", "Name", "MM Shipment"),
+      new DBInsert("C_DocType", "217", "15C8DCE82DA841968ABCD614FED68576", "Name", "Proposal"),
+      new DBInsert("C_DocType", "217", "15F495A6290040F194A9AA4622FE0C01", "Name", "Prepay Order"),
+      new DBInsert("C_DocType", "217", "2030AD7DD4284E2B936E261662EF735A", "Name", "MM Receipt"),
+      new DBInsert("C_DocType", "217", "2D7C15F0F44E4F289A729415EFD700C1", "Name",
+          "Return Material"),
+      new DBInsert("C_DocType", "217", "3DDDC41E36534A79B7CC1B725472882D", "Name", "Inventory Move"),
+      new DBInsert("C_DocType", "217", "40EE9B1CD3B345FABEFDA62B407B407F", "Name", "AR Invoice"),
+      new DBInsert("C_DocType", "217", "42B7DE94BC324C3F9CC0934375E90FFF", "Name", "AP CreditMemo"),
+      new DBInsert("C_DocType", "217", "51005B2C07EB41C5A2E7C25A4640ACD7", "Name", "GL Journal"),
+      new DBInsert("C_DocType", "217", "511A9371A0F74195AA3F6D66C722729D", "Name", "POS Order"),
+      new DBInsert("C_DocType", "217", "5C6E02993E9B4FCA81C07955EF676C62", "Name", "AP Invoice"),
+      new DBInsert("C_DocType", "217", "5EA6556D24034412B5F26F6BA7245318", "Name",
+          "Matched Invoices"),
+      new DBInsert("C_DocType", "217", "6543EB94DC664371BAF61B8E8AC121F3", "Name", "Bank Statement"),
+      new DBInsert("C_DocType", "217", "67C3266D11A04078B7A14AC21E91C711", "Name",
+          "Reversed Sales Invoice"),
+      new DBInsert("C_DocType", "217", "6B13D02AD3C44C4CB0CFBD1288E0CB10", "Name",
+          "Physical Inventory"),
+      new DBInsert("C_DocType", "217", "6F3BBCA488F6474A806C59FD1137CBF5", "Name",
+          "Purchase Requisition"),
+      new DBInsert("C_DocType", "217", "76E7C671FCE34556908E563F825C2937", "Name",
+          "Warehouse Order"),
+      new DBInsert("C_DocType", "217", "808F8818F724497D94282AC83493F394", "Name", "Purchase Order"),
+      new DBInsert("C_DocType", "217", "857F464FDEE34F6DB5AEC50981419FBF", "Name", "Settlement"),
+      new DBInsert("C_DocType", "217", "8F343D831EA6434D9720FECAF5FB957E", "Name",
+          "Debt Payment Management"),
+      new DBInsert("C_DocType", "217", "9883CB89E41E496D987D8838C3CE0DC7", "Name",
+          "Matched Purchase Orders"),
+      new DBInsert("C_DocType", "217", "A0C72093D5614867906A6E878F96FBBD", "Name", "Depreciation"),
+      new DBInsert("C_DocType", "217", "A58B8296E0ED42E386468D4527DE8F30", "Name", "Cash Journal"),
+      new DBInsert("C_DocType", "217", "AFFD4594FB734E9682D5769669A9D471", "Name",
+          "Reversed Purchase Invoice"),
+      new DBInsert("C_DocType", "217", "B476CFAE109047DEB5BC9AC80A03297A", "Name", "AR Credit Memo"),
+      new DBInsert("C_DocType", "217", "B968C737ED3E4C808E425A72CC445DFE", "Name",
+          "Manual Settlement"),
+      new DBInsert("C_DocType", "217", "CB6EEA256BBC41109911215C5A14D39B", "Name", "Standard Order"),
+      new DBInsert("C_DocType", "217", "D132517AE775435B8EB2832CC61FCAB1", "Name", "AR Receipt"),
+      new DBInsert("C_DocType", "217", "E7F4802D902A42A59143DCCBEDE4DE85", "Name", "Credit Order"),
+      new DBInsert("C_DocType", "217", "EC0B46C525A0417DA286823864620991", "Name", "Production"),
+      new DBInsert("C_DocType", "217", "ED1E059C9CF54062BA43B79F3EB89C77", "Name", "AP Payment"),
+      new DBInsert("C_DocType", "217", "F8CC92C7234644DEAD9F63174F45B2BF", "Name",
+          "MM Shipment Indirect"),
+      new DBInsert("AD_Preference", "195", "AAEF5567618F49FE8BA729E550614AA0", "Attribute",
+          "C_DocTypeTarget_ID"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "02376C41DA824413A9BE649443924C03",
+          "Name", "Purchase Order Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "11DD7B13EAC94215B6F8F735BBED4D55",
+          "Name", "Quotation Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "4F23CD7CD64D468EA4753C0C7B09FD53",
+          "Name", "Return Material Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "70AEA0C77DB743A4A89058BFE091FEEA",
+          "Name", "Standard order report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "8E2539C66CFB43F79613217E35CC5D14",
+          "Name", "AR Receipt Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "9FB97CCA66EA49F29A0EF5080E2AFF29",
+          "Name", "AR Credit Memo Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "A16BD46A069F4502BDDFD9A555AEAA48",
+          "Name", "AR Invoice Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "A76CE6794C2E467394C21675524DBA9C",
+          "Name", "Proposal Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "AF10A903167240F883C7EE7A3325981D",
+          "Name", "POS Order Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "B1DF02E45C4946C7BB1D45C065C49577",
+          "Name", "AP Credit Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "B94A012B25FB4C319804BED013BD584B",
+          "Name", "Prepay Order Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "BC7220FEA2F44F9C9FB6619FC58B6944",
+          "Name", "MM Receipt Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "C6A6AF1CA3C94B3899CAEC27EE427402",
+          "Name", "MM Shipment Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "C76E1DE89DA04BF6B6FAEDDA0216EE7A",
+          "Name", "Warehouse Order Memo Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "D9BB431F120746C8A84266CA42D02029",
+          "Name", "On Credit Order Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "E5901A1122F641089417A08A7317764C",
+          "Name", "AP Invoice Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "E87E9B580A024383B2E79BD768288899",
+          "Name", "MM Shipment Indirect Report template"),
+      new DBInsert("C_POC_DOCTYPE_TEMPLATE", "1000500001", "FA45DFAC61A542658CC02B64E476F4C0",
+          "Name", "AP Payment Report template") };
+  DBInsert[] indirectElements = {
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "0680791915544EDAA32727AD21542EE3", null,
+          "AR Receipt Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A238C7BE040007F010129BA", null,
+          "AR Invoice Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A298C7BE040007F010129BA", null,
+          "AR Credit Memo Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A2E8C7BE040007F010129BA", null,
+          "MM Shipment Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A318C7BE040007F010129BA", null,
+          "MM Shipment Indirect Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A348C7BE040007F010129BA", null,
+          "MM Receipt Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A378C7BE040007F010129BA", null,
+          "AP Invoice Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A3A8C7BE040007F010129BA", null,
+          "AP Credit Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A3F8C7BE040007F010129BA", null,
+          "Purchase Order Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A5A8C7BE040007F010129BA", null,
+          "Quotation Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A5D8C7BE040007F010129BA", null,
+          "Proposal Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A608C7BE040007F010129BA", null,
+          "Prepay Order Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A638C7BE040007F010129BA", null,
+          "Return Material Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A668C7BE040007F010129BA", null,
+          "Standard order report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A698C7BE040007F010129BA", null,
+          "On Credit Order Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A6C8C7BE040007F010129BA", null,
+          "Warehouse Order Memo Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "878ECF0D5A6F8C7BE040007F010129BA", null,
+          "POS Order Report template"),
+      new DBInsert("C_POC_EMAILDEFINITION", "1000500004", "E8CBFC5AD3784396BC2D14CD1A104316", null,
+          "AP Payment Report template") };
+}
\ No newline at end of file
diff --git a/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql
new file mode 100644
--- /dev/null
+++ b/src-util/modulescript/src/org/openbravo/modulescript/ApplyInitialSetupDataset_data.xsql
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2011 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+<SqlClass name="ApplyInitialSetupDatasetData" package="org.openbravo.modulescript">
+  <SqlMethod name="select" type="preparedStatement" return="multiple">
+    <Sql><![CDATA[
+        select c.name, c.ad_client_id, coalesce(cm.version,om.version) as versionApplied,
+               to_number((select coalesce(min(dt.created),now()) from c_doctype dt where dt.ad_client_id=c.ad_client_id) - c.created) as diffCreated,
+               '' as id
+        from ad_client c
+             left join ad_clientmodule cm on c.ad_client_id=cm.ad_client_id and cm.ad_module_id='0'
+             left join ad_orgmodule om on c.ad_client_id=om.ad_client_id  and om.ad_module_id='0'
+        order by c.name
+        ]]>
+      </Sql>
+  </SqlMethod>
+  <SqlMethod name="existingId" type="preparedStatement" return="String" default="">
+    <Sql><![CDATA[
+        SELECT C_DOCTYPE_ID as id
+        FROM C_DOCTYPE 
+        WHERE NAME = ?
+          AND AD_CLIENT_ID = ?
+        ]]>
+      </Sql>
+    <Parameter name="tablename" optional="true" type="replace" after="SELECT " text="C_DOCTYPE"/>
+    <Parameter name="tablename" optional="true" type="replace" after="FROM " text="C_DOCTYPE "/>
+    <Parameter name="columnname" optional="true" type="replace" after="WHERE " text="NAME"/>
+    <Parameter name="value"/>
+    <Parameter name="client"/>
+  </SqlMethod>
+  <SqlMethod name="insertRefDataLoaded" type="preparedStatement" return="rowCount">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+      INSERT INTO AD_REF_DATA_LOADED (ad_ref_data_loaded_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, generic_id, specific_id, ad_table_id)
+      VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', ?, ?, ?)
+    </Sql>
+    <Parameter name="clientId"/>
+    <Parameter name="genericId"/>
+    <Parameter name="specificId"/>
+    <Parameter name="tableId"/>
+  </SqlMethod>
+  <SqlMethod name="insertClientModule" type="preparedStatement" return="rowCount">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+      INSERT INTO AD_CLIENTMODULE (ad_clientmodule_id, ad_client_id, ad_org_id, isactive, created, createdby, updated, updatedby, ad_module_id, version)
+      VALUES(get_uuid(), ?, '0', 'Y', now(), '100', now(), '100', '0', (select version from ad_module where ad_module_id='0'))
+    </Sql>
+    <Parameter name="clientId"/>
+  </SqlMethod>
+</SqlClass>
\ No newline at end of file

