diff -r c901aacf8942 src/org/openbravo/fix/stock/qtyorderonhand/FixStockQtyOrderProcess.java
--- a/src/org/openbravo/fix/stock/qtyorderonhand/FixStockQtyOrderProcess.java	Tue Dec 22 13:06:24 2015 +0100
+++ b/src/org/openbravo/fix/stock/qtyorderonhand/FixStockQtyOrderProcess.java	Thu May 12 13:15:43 2016 +0200
@@ -34,6 +34,7 @@
 import org.openbravo.model.common.enterprise.Locator;
 import org.openbravo.model.common.enterprise.Warehouse;
 import org.openbravo.model.common.plm.ProductUOM;
+import org.openbravo.model.common.uom.UOM;
 import org.openbravo.model.common.uom.UOMConversion;
 import org.openbravo.model.materialmgmt.onhandquantity.StorageDetail;
 import org.openbravo.model.materialmgmt.transaction.InventoryCount;
@@ -151,8 +152,8 @@
             // Therefore, in order to initialize negative stock it is necessary to reverse
             // BookQuantity and QuantityCount values
             if (BigDecimal.ZERO.compareTo(storageDetail.getQuantityOnHand()) > 0) {
-              oicl.setBookQuantity(storageDetail.getQuantityOnHand() == null ? null : storageDetail
-                  .getQuantityOnHand().abs());
+              oicl.setBookQuantity(storageDetail.getQuantityOnHand() == null ? null
+                  : storageDetail.getQuantityOnHand().abs());
               oicl.setQuantityCount(BigDecimal.ZERO);
               oicl.setQuantityOrderBook(correctQuantity == null ? null : correctQuantity.abs());
               oicl.setOrderQuantity(BigDecimal.ZERO);
@@ -193,18 +194,21 @@
   private ScrollableResults getDetails(Warehouse warehouse) {
     StringBuffer where = new StringBuffer();
     where.append(" select s." + StorageDetail.PROPERTY_ID);
-    where.append(" , s." + StorageDetail.PROPERTY_QUANTITYONHAND + " / u."
+    where.append(" , round(s." + StorageDetail.PROPERTY_QUANTITYONHAND + " / u."
         + UOMConversion.PROPERTY_MULTIPLERATEBY);
+    where.append(" , m." + UOM.PROPERTY_STANDARDPRECISION + ")");
     where.append(" from " + StorageDetail.ENTITY_NAME + " as s");
     where.append(" join s." + StorageDetail.PROPERTY_STORAGEBIN + " as l");
     where.append(" , " + ProductUOM.ENTITY_NAME + " as p");
     where.append(" , " + UOMConversion.ENTITY_NAME + " as u");
+    where.append(" , " + UOM.ENTITY_NAME + " as m");
     where.append(" where s." + StorageDetail.PROPERTY_UOM + " = u." + UOMConversion.PROPERTY_TOUOM);
     where.append(" and s." + StorageDetail.PROPERTY_ORDERUOM + " = p." + ProductUOM.PROPERTY_ID);
     where.append(" and p." + ProductUOM.PROPERTY_UOM + " = u." + UOMConversion.PROPERTY_UOM);
-    where.append(" and s." + StorageDetail.PROPERTY_ONHANDORDERQUANITY + " <> (s."
-        + StorageDetail.PROPERTY_QUANTITYONHAND + " / u." + UOMConversion.PROPERTY_MULTIPLERATEBY
-        + ")");
+    where.append(" and m." + UOM.PROPERTY_ID + " = u." + UOMConversion.PROPERTY_UOM);
+    where.append(" and s." + StorageDetail.PROPERTY_ONHANDORDERQUANITY + " <> round(s."
+        + StorageDetail.PROPERTY_QUANTITYONHAND + " / u." + UOMConversion.PROPERTY_MULTIPLERATEBY);
+    where.append(" , m." + UOM.PROPERTY_STANDARDPRECISION + ")");
     where.append(" and u." + UOMConversion.PROPERTY_MULTIPLERATEBY + " <> 0");
     where.append(" and l." + Locator.PROPERTY_WAREHOUSE + " = :warehouse");
 
