diff --git a/src-db/database/model/tables/OBMOBC_SERVER_DEFINITION.xml b/src-db/database/model/tables/OBMOBC_SERVER_DEFINITION.xml
--- a/src-db/database/model/tables/OBMOBC_SERVER_DEFINITION.xml
+++ b/src-db/database/model/tables/OBMOBC_SERVER_DEFINITION.xml
@@ -97,6 +97,14 @@
         <default><![CDATA[N]]></default>
         <onCreateDefault/>
       </column>
+      <column name="DELTA_AGE" primaryKey="false" required="false" type="TIMESTAMP" size="7" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="EXPIRED_DELTA_AGE" primaryKey="false" required="false" type="CHAR" size="1" autoIncrement="false">
+        <default><![CDATA[N]]></default>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="OBMOBC_SERV_DEF_AD_CLNT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -980,7 +980,7 @@
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
-<!--4FFE3405421B4551BE5C663AF9B52457-->  <POSITION><![CDATA[32]]></POSITION>
+<!--4FFE3405421B4551BE5C663AF9B52457-->  <POSITION><![CDATA[24]]></POSITION>
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
 <!--4FFE3405421B4551BE5C663AF9B52457-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -1333,6 +1333,43 @@
 <!--5DD40286DCBD40C7823CC0AD3C016882-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
 <!--5DD40286DCBD40C7823CC0AD3C016882--></AD_COLUMN>
 
+<!--603F88BC1EAB4CB5A2582018C393A680--><AD_COLUMN>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_COLUMN_ID><![CDATA[603F88BC1EAB4CB5A2582018C393A680]]></AD_COLUMN_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <NAME><![CDATA[Expired_Delta_Age]]></NAME>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <COLUMNNAME><![CDATA[Expired_Delta_Age]]></COLUMNNAME>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_TABLE_ID><![CDATA[9A030632C0FC4C4AA8A58EC59BE2D116]]></AD_TABLE_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <DEFAULTVALUE><![CDATA[N]]></DEFAULTVALUE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <SEQNO><![CDATA[340]]></SEQNO>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_ELEMENT_ID><![CDATA[09B5F260704147DFA5A9140708982C52]]></AD_ELEMENT_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <POSITION><![CDATA[34]]></POSITION>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--603F88BC1EAB4CB5A2582018C393A680-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--603F88BC1EAB4CB5A2582018C393A680--></AD_COLUMN>
+
 <!--6EEBA8A387AF4B6FA22AF4A6EFB78137--><AD_COLUMN>
 <!--6EEBA8A387AF4B6FA22AF4A6EFB78137-->  <AD_COLUMN_ID><![CDATA[6EEBA8A387AF4B6FA22AF4A6EFB78137]]></AD_COLUMN_ID>
 <!--6EEBA8A387AF4B6FA22AF4A6EFB78137-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3204,6 +3241,42 @@
 <!--F53CD2CB9AD84C1BA0D28698E197AD8F-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
 <!--F53CD2CB9AD84C1BA0D28698E197AD8F--></AD_COLUMN>
 
+<!--FB2FCBC01E4D4346B54B6B0399074F4D--><AD_COLUMN>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_COLUMN_ID><![CDATA[FB2FCBC01E4D4346B54B6B0399074F4D]]></AD_COLUMN_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <NAME><![CDATA[Delta_Age]]></NAME>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <COLUMNNAME><![CDATA[Delta_Age]]></COLUMNNAME>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_TABLE_ID><![CDATA[9A030632C0FC4C4AA8A58EC59BE2D116]]></AD_TABLE_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_REFERENCE_ID><![CDATA[16]]></AD_REFERENCE_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <FIELDLENGTH><![CDATA[19]]></FIELDLENGTH>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <SEQNO><![CDATA[330]]></SEQNO>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_ELEMENT_ID><![CDATA[FA3C973C815A468BA0328AF2686880B3]]></AD_ELEMENT_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <POSITION><![CDATA[33]]></POSITION>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--FB2FCBC01E4D4346B54B6B0399074F4D--></AD_COLUMN>
+
 <!--FD3212084901442C99A26D22516704C7--><AD_COLUMN>
 <!--FD3212084901442C99A26D22516704C7-->  <AD_COLUMN_ID><![CDATA[FD3212084901442C99A26D22516704C7]]></AD_COLUMN_ID>
 <!--FD3212084901442C99A26D22516704C7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_ELEMENT.xml b/src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml
@@ -1,5 +1,17 @@
 <?xml version='1.0' encoding='UTF-8'?>
 <data>
+<!--09B5F260704147DFA5A9140708982C52--><AD_ELEMENT>
+<!--09B5F260704147DFA5A9140708982C52-->  <AD_ELEMENT_ID><![CDATA[09B5F260704147DFA5A9140708982C52]]></AD_ELEMENT_ID>
+<!--09B5F260704147DFA5A9140708982C52-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--09B5F260704147DFA5A9140708982C52-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--09B5F260704147DFA5A9140708982C52-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--09B5F260704147DFA5A9140708982C52-->  <COLUMNNAME><![CDATA[Expired_Delta_Age]]></COLUMNNAME>
+<!--09B5F260704147DFA5A9140708982C52-->  <NAME><![CDATA[Expired Delta Age]]></NAME>
+<!--09B5F260704147DFA5A9140708982C52-->  <PRINTNAME><![CDATA[Expired Delta Age]]></PRINTNAME>
+<!--09B5F260704147DFA5A9140708982C52-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
+<!--09B5F260704147DFA5A9140708982C52-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--09B5F260704147DFA5A9140708982C52--></AD_ELEMENT>
+
 <!--0B7E54F58AC441C1B7D876005F10620E--><AD_ELEMENT>
 <!--0B7E54F58AC441C1B7D876005F10620E-->  <AD_ELEMENT_ID><![CDATA[0B7E54F58AC441C1B7D876005F10620E]]></AD_ELEMENT_ID>
 <!--0B7E54F58AC441C1B7D876005F10620E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -379,6 +391,18 @@
 <!--F9C329FB3757490DA8B62412E7429B0C-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--F9C329FB3757490DA8B62412E7429B0C--></AD_ELEMENT>
 
+<!--FA3C973C815A468BA0328AF2686880B3--><AD_ELEMENT>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <AD_ELEMENT_ID><![CDATA[FA3C973C815A468BA0328AF2686880B3]]></AD_ELEMENT_ID>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <COLUMNNAME><![CDATA[Delta_Age]]></COLUMNNAME>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <NAME><![CDATA[Delta Age]]></NAME>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <PRINTNAME><![CDATA[Delta Age]]></PRINTNAME>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
+<!--FA3C973C815A468BA0328AF2686880B3-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--FA3C973C815A468BA0328AF2686880B3--></AD_ELEMENT>
+
 <!--FD99C82285AB4FD3B000D89D3707C6A8--><AD_ELEMENT>
 <!--FD99C82285AB4FD3B000D89D3707C6A8-->  <AD_ELEMENT_ID><![CDATA[FD99C82285AB4FD3B000D89D3707C6A8]]></AD_ELEMENT_ID>
 <!--FD99C82285AB4FD3B000D89D3707C6A8-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_REF_LIST.xml b/src-db/database/sourcedata/AD_REF_LIST.xml
--- a/src-db/database/sourcedata/AD_REF_LIST.xml
+++ b/src-db/database/sourcedata/AD_REF_LIST.xml
@@ -730,4 +730,16 @@
 <!--F62C86D3E1744BD5AB153E53620D5A34-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
 <!--F62C86D3E1744BD5AB153E53620D5A34--></AD_REF_LIST>
 
+<!--FEF361B73D7F426CA3796C730720960C--><AD_REF_LIST>
+<!--FEF361B73D7F426CA3796C730720960C-->  <AD_REF_LIST_ID><![CDATA[FEF361B73D7F426CA3796C730720960C]]></AD_REF_LIST_ID>
+<!--FEF361B73D7F426CA3796C730720960C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--FEF361B73D7F426CA3796C730720960C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--FEF361B73D7F426CA3796C730720960C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--FEF361B73D7F426CA3796C730720960C-->  <VALUE><![CDATA[OBMOBC_MaxDeltaSyncAge]]></VALUE>
+<!--FEF361B73D7F426CA3796C730720960C-->  <NAME><![CDATA[Maximum Allowed Delta Sync Age (seconds)]]></NAME>
+<!--FEF361B73D7F426CA3796C730720960C-->  <DESCRIPTION><![CDATA[Maximum allowed delta sync age of outgoing batches to the store in seconds]]></DESCRIPTION>
+<!--FEF361B73D7F426CA3796C730720960C-->  <AD_REFERENCE_ID><![CDATA[A26BA480E2014707B47257024C3CBFF7]]></AD_REFERENCE_ID>
+<!--FEF361B73D7F426CA3796C730720960C-->  <AD_MODULE_ID><![CDATA[08943B85ADF64E708797A753E5B6AAEE]]></AD_MODULE_ID>
+<!--FEF361B73D7F426CA3796C730720960C--></AD_REF_LIST>
+
 </data>
diff --git a/src/org/openbravo/mobile/core/servercontroller/MobileServerStatusInformation.java b/src/org/openbravo/mobile/core/servercontroller/MobileServerStatusInformation.java
--- a/src/org/openbravo/mobile/core/servercontroller/MobileServerStatusInformation.java
+++ b/src/org/openbravo/mobile/core/servercontroller/MobileServerStatusInformation.java
@@ -10,6 +10,13 @@
 
 import java.io.IOException;
 import java.io.Writer;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.Timestamp;
+import java.sql.Types;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -26,12 +33,15 @@
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.mobile.core.process.JSONRowConverter;
 import org.openbravo.mobile.core.process.ProcessHQLQuery;
+import org.openbravo.service.json.JsonUtils;
 
 @AuthenticationManager.Stateless
 public class MobileServerStatusInformation extends ProcessHQLQuery {
 
   private static final Logger log = Logger.getLogger(MobileServerStatusInformation.class);
 
+  private static SimpleDateFormat dateTimeFormat = JsonUtils.createDateTimeFormat();
+
   @Override
   public void exec(Writer w, JSONObject jsonsent) throws IOException, ServletException {
     try {
@@ -45,7 +55,8 @@
       query.setParameter("serverId", MobileServerController.getInstance()
           .getThisServerDefinitionId());
       final String qryResult = query.uniqueResult();
-      updateLastPingAndTransitionToOnlineIfNeeded(session);
+      updateLastPingAndTransitionToOnlineIfNeeded(session,
+          jsonsent.has("deltaAge") ? jsonsent.getString("deltaAge") : null);
       if (qryResult != null) {
         w.write("\"serverStatus\": \"" + qryResult + "\"");
       }
@@ -57,15 +68,41 @@
     }
   }
 
-  private void updateLastPingAndTransitionToOnlineIfNeeded(Session session) {
+  private void updateLastPingAndTransitionToOnlineIfNeeded(Session session, String deltaAgeStr)
+      throws ParseException {
     Date lastPingFromCentral = ServerStateBackground.getLastPingFromCentral();
     Date lastPingThreshold = ServerStateBackground.getLastPingThreshold();
     boolean lastPingFromCentralWasExpired = lastPingFromCentral.before(lastPingThreshold);
 
-    @SuppressWarnings("rawtypes")
-    final Query query = session
-        .createQuery("UPDATE OBMOBC_SERVER_DEFINITION SET lastPing=now() WHERE servertype = 'MAIN'");
-    query.executeUpdate();
+    Date deltaAge = getFromString(deltaAgeStr);
+
+    Connection connection = null;
+    PreparedStatement ps = null;
+    ResultSet rs = null;
+    try {
+      connection = OBDal.getInstance().getConnection();
+      ps = connection
+          .prepareStatement("UPDATE OBMOBC_SERVER_DEFINITION SET last_Ping=now(), delta_age=? WHERE servertype = 'MAIN'");
+      if (deltaAge == null) {
+        ps.setNull(1, Types.TIMESTAMP);
+      } else {
+        ps.setTimestamp(1, new Timestamp(deltaAge.getTime()));
+      }
+      ps.executeUpdate();
+    } catch (Exception ex) {
+      log.error("Error while setting delta age", ex);
+    } finally {
+      try {
+        if (ps != null) {
+          ps.close();
+        }
+        if (rs != null) {
+          rs.close();
+        }
+      } catch (Exception e) {
+        log.error("Error while releasing a prepared statement", e);
+      }
+    }
 
     if (lastPingFromCentralWasExpired) {
       log.info("Store offline, new Ping received from central server after >3 pings missed. Transitioning to online.");
@@ -85,6 +122,13 @@
     return hqls;
   }
 
+  private synchronized Date getFromString(String value) throws ParseException {
+    if (value == null) {
+      return null;
+    }
+    return dateTimeFormat.parse(value);
+  }
+
   @Override
   protected boolean bypassSecurity() {
     return true;
diff --git a/src/org/openbravo/mobile/core/servercontroller/MobileServerUtils.java b/src/org/openbravo/mobile/core/servercontroller/MobileServerUtils.java
--- a/src/org/openbravo/mobile/core/servercontroller/MobileServerUtils.java
+++ b/src/org/openbravo/mobile/core/servercontroller/MobileServerUtils.java
@@ -10,6 +10,10 @@
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.util.Date;
 
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -23,6 +27,7 @@
 import org.openbravo.base.secureApp.AllowedCrossDomainsHandler;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.dal.service.OBDal;
+import org.openbravo.database.ConnectionProvider;
 import org.openbravo.erpCommon.businessUtility.Preferences;
 import org.openbravo.erpCommon.utility.PropertyException;
 import org.openbravo.mobile.core.MobileServerDefinition;
@@ -31,6 +36,7 @@
 import org.openbravo.model.ad.domain.Preference;
 import org.openbravo.model.ad.system.Client;
 import org.openbravo.model.common.enterprise.Organization;
+import org.openbravo.service.db.DalConnectionProvider;
 
 /**
  * @author mtaal
@@ -39,6 +45,8 @@
 
   private static final Logger log = Logger.getLogger(MobileServerUtils.class);
 
+  private static final int FIVE_MINUTES = 5 * 60;
+
   public static final String MOBILE_SERVER_KEY = "mobile.server.key";
   public static final String MAIN_SERVER = "MAIN";
   public static final String STORE_SERVER = "STORE";
@@ -46,6 +54,51 @@
 
   private static Boolean multiServerControllerEnabled = null;
 
+  public static boolean isDeltaAgeExpired() {
+
+    Date deltaAge = null;
+    Connection connection = null;
+    PreparedStatement ps = null;
+    ResultSet rs = null;
+    ConnectionProvider readOnlyCP = DalConnectionProvider.getReadOnlyConnectionProvider();
+    try {
+      connection = readOnlyCP.getTransactionConnection();
+      ps = connection
+          .prepareStatement("SELECT delta_age FROM obmobc_server_definition WHERE servertype = 'MAIN'");
+      ps.setMaxRows(1);
+      rs = ps.executeQuery();
+      while (rs.next()) {
+        if (rs.wasNull()) {
+          deltaAge = null;
+        } else {
+          deltaAge = rs.getTimestamp(1);
+        }
+      }
+    } catch (Exception ex) {
+      log.error("Error while getting delta age", ex);
+    } finally {
+      try {
+        if (ps != null) {
+          ps.close();
+        }
+        if (rs != null) {
+          rs.close();
+        }
+      } catch (Exception e) {
+        log.error("Error while releasing a prepared statement", e);
+      }
+    }
+
+    if (deltaAge == null) {
+      return false;
+    }
+
+    int maxDeltaAge = MobileServerUtils
+        .getIntegerPreference("OBMOBC_MaxDeltaSyncAge", FIVE_MINUTES);
+
+    return ((System.currentTimeMillis() - deltaAge.getTime()) / 1000) > maxDeltaAge;
+  }
+
   public static boolean isInvalidOrigin(HttpServlet servlet, HttpServletRequest request,
       HttpServletResponse response) {
     try {
diff --git a/src/org/openbravo/mobile/core/servercontroller/ServerStateBackground.java b/src/org/openbravo/mobile/core/servercontroller/ServerStateBackground.java
--- a/src/org/openbravo/mobile/core/servercontroller/ServerStateBackground.java
+++ b/src/org/openbravo/mobile/core/servercontroller/ServerStateBackground.java
@@ -8,6 +8,11 @@
  */
 package org.openbravo.mobile.core.servercontroller;
 
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashSet;
@@ -39,6 +44,7 @@
 import org.openbravo.scheduling.ProcessContext;
 import org.openbravo.scheduling.ProcessLogger;
 import org.openbravo.service.db.DalBaseProcess;
+import org.openbravo.service.json.JsonUtils;
 
 import com.google.common.util.concurrent.ThreadFactoryBuilder;
 
@@ -55,6 +61,8 @@
   private static final int SERVERS_PER_THREAD = 60;
   private static final int WAIT_TIME = 1000 * 60 * 10;
 
+  private static SimpleDateFormat dateTimeFormat = JsonUtils.createDateTimeFormat();
+
   private Boolean offlineTriggerOnlyByUserActions = null;
 
   private Set<PingServerChecker> pingServerCheckers;
@@ -472,9 +480,19 @@
 
     private void pingServer(String serverId, final JSONObject parameters, final String queryParams) {
       MobileServerDefinition srv = OBDal.getInstance().get(MobileServerDefinition.class, serverId);
+
       String newStatus = srv.getStatus();
       JSONObject resp = null;
       try {
+
+        // determine deltaage and pass it in
+        Date deltaAge = getOldestAgeBatchForServer(srv.getName());
+        String deltaAgeStr = null;
+        if (deltaAge != null) {
+          deltaAgeStr = convertToString(deltaAge);
+        }
+        parameters.put("deltaAge", deltaAgeStr);
+
         resp = new JSONObject(MobileServerRequestExecutor.getInstance().request(srv,
             MobileServerUtils.OBWSPATH + MobileServerStatusInformation.class.getName(),
             queryParams, "POST", parameters)).getJSONObject("response");
@@ -497,6 +515,42 @@
       }
     }
 
+    private synchronized String convertToString(Date dt) {
+      return dateTimeFormat.format(dt);
+    }
+
+    private Date getOldestAgeBatchForServer(String serverId) {
+      Connection connection = null;
+      PreparedStatement ps = null;
+      ResultSet rs = null;
+      try {
+        connection = OBDal.getInstance().getConnection();
+        ps = connection
+            .prepareStatement("SELECT create_time FROM sym_outgoing_batch where channel_id <> 'reload' and node_id=? and status<>'OK' order by create_time asc");
+        ps.setMaxRows(1);
+        ps.setString(1, serverId);
+        rs = ps.executeQuery();
+        while (rs.next()) {
+          return rs.getTimestamp(1);
+        }
+      } catch (Exception ex) {
+        log4j.error("Error while getting oldest outgoing batch", ex);
+      } finally {
+        try {
+          if (ps != null) {
+            ps.close();
+          }
+          if (rs != null) {
+            rs.close();
+          }
+        } catch (Exception e) {
+          log4j.error("Error while releasing a prepared statement", e);
+        }
+      }
+
+      return null;
+    }
+
     private String getStatusFromResponse(JSONObject response) throws JSONException {
       String newStatus = null;
       if (response != null) {
