diff --git a/src/org/openbravo/base/model/Property.java b/src/org/openbravo/base/model/Property.java
--- a/src/org/openbravo/base/model/Property.java
+++ b/src/org/openbravo/base/model/Property.java
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008-2018 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2019 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -1349,4 +1349,15 @@
   public void setAllowedCrossOrgReference(boolean allowedCrossOrgReference) {
     this.allowedCrossOrgReference = allowedCrossOrgReference;
   }
+
+  /**
+   * Given an object, applies the transformation defined in its domain type
+   * 
+   * @param value
+   *          the value to be transformed
+   * @return the transformed value
+   */
+  public Object transformValue(Object value) {
+    return getDomainType().transformValue(this, value);
+  }
 }
diff --git a/src/org/openbravo/base/model/domaintype/DateDomainType.java b/src/org/openbravo/base/model/domaintype/DateDomainType.java
--- a/src/org/openbravo/base/model/domaintype/DateDomainType.java
+++ b/src/org/openbravo/base/model/domaintype/DateDomainType.java
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2009-2011 Openbravo SLU 
+ * All portions are Copyright (C) 2009-2019 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -21,8 +21,12 @@
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
+import java.util.Calendar;
 import java.util.Date;
 
+import org.apache.commons.lang.time.DateUtils;
+import org.openbravo.base.model.Property;
+
 /**
  * The type for a date column.
  * 
@@ -77,4 +81,14 @@
     return "ob:dateTime";
   }
 
+  @Override
+  public Object transformValue(Property property, Object value) {
+    if (!(value instanceof Date)) {
+      return value;
+    }
+    // Date properties should not include information about the time, truncate the rest
+    Date dateValue = (Date) value;
+    return DateUtils.truncate(dateValue, Calendar.DATE);
+  }
+
 }
diff --git a/src/org/openbravo/base/model/domaintype/DomainType.java b/src/org/openbravo/base/model/domaintype/DomainType.java
--- a/src/org/openbravo/base/model/domaintype/DomainType.java
+++ b/src/org/openbravo/base/model/domaintype/DomainType.java
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2009-2010 Openbravo SLU 
+ * All portions are Copyright (C) 2009-2019 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -93,4 +93,18 @@
    *          the property to check
    */
   void checkObjectIsValid(BaseOBObjectDef obObject, Property property) throws ValidationException;
+
+  /**
+   * Transforms the value of an object. The default implementation is to return the original value
+   * as it is
+   * 
+   * @param property
+   *          the property which has this value
+   * @param value
+   *          the value to be transformed
+   * @return the transformed value
+   */
+  default Object transformValue(Property property, Object value) {
+    return value;
+  }
 }
diff --git a/src/org/openbravo/base/structure/BaseOBObject.java b/src/org/openbravo/base/structure/BaseOBObject.java
--- a/src/org/openbravo/base/structure/BaseOBObject.java
+++ b/src/org/openbravo/base/structure/BaseOBObject.java
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SLU 
- * All portions are Copyright (C) 2008-2018 Openbravo SLU 
+ * All portions are Copyright (C) 2008-2019 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -171,7 +171,8 @@
           + "This happens when setting property " + propName + " " + p + " with value " + value
           + " in entity " + getEntity());
     }
-    data[p.getIndexInEntity()] = value;
+    Object transformedValue = p.transformValue(value);
+    data[p.getIndexInEntity()] = transformedValue;
   }
 
   @Override
