Merge pull request #29940 from deepeshgarg007/item_discounts_quotation
fix: Item discounts for quotation and other docs
This commit is contained in:
commit
83dd3bd7fc
@ -113,17 +113,24 @@ class calculate_taxes_and_totals(object):
|
|||||||
for item in self.doc.get("items"):
|
for item in self.doc.get("items"):
|
||||||
self.doc.round_floats_in(item)
|
self.doc.round_floats_in(item)
|
||||||
|
|
||||||
|
if not item.rate:
|
||||||
|
item.rate = item.price_list_rate
|
||||||
|
|
||||||
if item.discount_percentage == 100:
|
if item.discount_percentage == 100:
|
||||||
item.rate = 0.0
|
item.rate = 0.0
|
||||||
elif item.price_list_rate:
|
elif item.price_list_rate:
|
||||||
if not item.rate or (item.pricing_rules and item.discount_percentage > 0):
|
if item.pricing_rules or abs(item.discount_percentage) > 0:
|
||||||
item.rate = flt(item.price_list_rate *
|
item.rate = flt(item.price_list_rate *
|
||||||
(1.0 - (item.discount_percentage / 100.0)), item.precision("rate"))
|
(1.0 - (item.discount_percentage / 100.0)), item.precision("rate"))
|
||||||
item.discount_amount = item.price_list_rate * (item.discount_percentage / 100.0)
|
|
||||||
elif item.discount_amount and item.pricing_rules:
|
if abs(item.discount_percentage) > 0:
|
||||||
|
item.discount_amount = item.price_list_rate * (item.discount_percentage / 100.0)
|
||||||
|
|
||||||
|
elif item.discount_amount or item.pricing_rules:
|
||||||
item.rate = item.price_list_rate - item.discount_amount
|
item.rate = item.price_list_rate - item.discount_amount
|
||||||
|
|
||||||
if item.doctype in ['Quotation Item', 'Sales Order Item', 'Delivery Note Item', 'Sales Invoice Item', 'POS Invoice Item', 'Purchase Invoice Item', 'Purchase Order Item', 'Purchase Receipt Item']:
|
if item.doctype in ['Quotation Item', 'Sales Order Item', 'Delivery Note Item', 'Sales Invoice Item',
|
||||||
|
'POS Invoice Item', 'Purchase Invoice Item', 'Purchase Order Item', 'Purchase Receipt Item']:
|
||||||
item.rate_with_margin, item.base_rate_with_margin = self.calculate_margin(item)
|
item.rate_with_margin, item.base_rate_with_margin = self.calculate_margin(item)
|
||||||
if flt(item.rate_with_margin) > 0:
|
if flt(item.rate_with_margin) > 0:
|
||||||
item.rate = flt(item.rate_with_margin * (1.0 - (item.discount_percentage / 100.0)), item.precision("rate"))
|
item.rate = flt(item.rate_with_margin * (1.0 - (item.discount_percentage / 100.0)), item.precision("rate"))
|
||||||
|
|||||||
@ -40,7 +40,6 @@ frappe.ui.form.on('Quotation', {
|
|||||||
|
|
||||||
erpnext.selling.QuotationController = class QuotationController extends erpnext.selling.SellingController {
|
erpnext.selling.QuotationController = class QuotationController extends erpnext.selling.SellingController {
|
||||||
onload(doc, dt, dn) {
|
onload(doc, dt, dn) {
|
||||||
var me = this;
|
|
||||||
super.onload(doc, dt, dn);
|
super.onload(doc, dt, dn);
|
||||||
}
|
}
|
||||||
party_name() {
|
party_name() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user