diff --git a/web/org.openbravo.retail.posterminal/js/discountsengine/pos/pos-discounts.js b/web/org.openbravo.retail.posterminal/js/discountsengine/pos/pos-discounts.js
index 56217daf8..36e9a9a1e 100644
--- a/web/org.openbravo.retail.posterminal/js/discountsengine/pos/pos-discounts.js
+++ b/web/org.openbravo.retail.posterminal/js/discountsengine/pos/pos-discounts.js
@@ -107,9 +107,20 @@
                 manualPromoObj.obdiscPercentage = manualPromoObj.userAmt;
               } else if (
                 manualPromoObj.discountType ===
-                'F3B0FB45297844549D9E6B5F03B23A82'
+                  'F3B0FB45297844549D9E6B5F03B23A82' &&
+                !manualPromoObj.obdiscLineFinalgross
               ) {
-                manualPromoObj.obdiscLineFinalgross = manualPromoObj.userAmt;
+                manualPromoObj.obdiscLineFinalgross = line
+                  .get('promotions')
+                  .reduce((memo, promo) => {
+                    if ((promo.lineNo || 1) <= (manualPromoObj.lineNo || 1)) {
+                      return OB.DEC.sub(
+                        memo,
+                        promo.actualAmt || promo.amt || 0
+                      );
+                    }
+                    return memo;
+                  }, line.get('gross'));
               }
               manualPromoObj.id = manualPromoObj.ruleId;
               manualPromoObj.products = [];
