diff --git a/src/org/openbravo/retail/posterminal/ExternalOrderLoader.java b/src/org/openbravo/retail/posterminal/ExternalOrderLoader.java
index 1c3136820..189c10bd8 100644
--- a/src/org/openbravo/retail/posterminal/ExternalOrderLoader.java
+++ b/src/org/openbravo/retail/posterminal/ExternalOrderLoader.java
@@ -764,6 +764,7 @@ public class ExternalOrderLoader extends OrderLoader {
       lineJson.put("taxLines", new JSONObject());
     }
 
+    lineJson.put("orderStep", orderJson.get("step"));
     setLineTaxInformation(lineJson);
     transformPriceInformation(lineJson);
   }
@@ -853,8 +854,12 @@ public class ExternalOrderLoader extends OrderLoader {
     copyPropertyValue(lineJson, "netPrice", "unitPrice");
     copyPropertyValue(lineJson, "netAmount", "net");
     copyPropertyValue(lineJson, "grossAmount", "gross");
-    BigDecimal grossAmountAbs = BigDecimal.valueOf(lineJson.getDouble("grossAmount")).abs();
-    lineJson.put("lineGrossAmount", grossAmountAbs);
+    if(CANCEL.equals(lineJson.getString("orderStep"))) {
+      BigDecimal grossAmountAbs = BigDecimal.valueOf(lineJson.getDouble("grossAmount")).abs();
+      lineJson.put("lineGrossAmount", grossAmountAbs);
+    } else {
+      copyPropertyValue(lineJson, "grossAmount", "lineGrossAmount");
+    }
   }
 
   protected String convertToUTCDate(String dateStr, int timezoneOffset) {
