diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index e6ff7407e29..37c1d12f05d 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -502,7 +502,7 @@ class WorkOrder(Document): def validate_work_order_against_so(self): # already ordered qty ordered_qty_against_so = frappe.db.sql( - """select sum(qty) from `tabWork Order` + """select sum(qty - process_loss_qty) from `tabWork Order` where production_item = %s and sales_order = %s and docstatus < 2 and status != 'Closed' and name != %s""", (self.production_item, self.sales_order, self.name), )[0][0] diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py index 81ab746fc0c..f8b7cd94ba7 100755 --- a/erpnext/selling/doctype/sales_order/sales_order.py +++ b/erpnext/selling/doctype/sales_order/sales_order.py @@ -1989,7 +1989,7 @@ def get_work_order_items(sales_order, for_raw_material_request=0): if not for_raw_material_request: total_work_order_qty = flt( qb.from_(wo) - .select(Sum(wo.qty)) + .select(Sum(wo.qty - wo.process_loss_qty)) .where( (wo.production_item == i.item_code) & (wo.sales_order == so.name)