fix: Add back calculation for discount
(cherry picked from commit 067564bd260437290b7cb190fb1cdc02eb658d0a)
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 0b5c912..19e12e3 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -14,6 +14,31 @@
frappe.model.round_floats_in(item, ["rate", "price_list_rate"]);
+ if(item.price_list_rate) {
+ if(item.rate > item.price_list_rate && has_margin_field) {
+ // if rate is greater than price_list_rate, set margin
+ // or set discount
+ item.discount_percentage = 0;
+ item.margin_type = 'Amount';
+ item.margin_rate_or_amount = flt(item.rate - item.price_list_rate,
+ precision("margin_rate_or_amount", item));
+ item.rate_with_margin = item.rate;
+ } else {
+ item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0,
+ precision("discount_percentage", item));
+ item.discount_amount = flt(item.price_list_rate) - flt(item.rate);
+ item.margin_type = '';
+ item.margin_rate_or_amount = 0;
+ item.rate_with_margin = 0;
+ }
+ } else {
+ item.discount_percentage = 0.0;
+ item.margin_type = '';
+ item.margin_rate_or_amount = 0;
+ item.rate_with_margin = 0;
+ }
+ item.base_rate_with_margin = item.rate_with_margin * flt(frm.doc.conversion_rate);
+
cur_frm.cscript.set_gross_profit(item);
cur_frm.cscript.calculate_taxes_and_totals();
cur_frm.cscript.calculate_stock_uom_rate(frm, cdt, cdn);