diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 81e185dfaf7..3472ee34ea5 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -764,6 +764,15 @@ def make_purchase_orders_by_supplier(source_name: str, item_suppliers: str | lis @frappe.whitelist() def make_request_for_quotation(source_name, target_doc=None): + def update_item(obj, target, source_parent): + qty = obj.ordered_qty or obj.received_qty + target.qty = flt(flt(obj.stock_qty) - flt(qty)) / target.conversion_factor + target.stock_qty = target.qty * target.conversion_factor + + def select_item(d): + qty = d.ordered_qty or d.received_qty + return qty < d.stock_qty + doclist = get_mapped_doc( "Material Request", source_name, @@ -779,6 +788,8 @@ def make_request_for_quotation(source_name, target_doc=None): ["parent", "material_request"], ["project", "project_name"], ], + "postprocess": update_item, + "condition": select_item, }, }, target_doc,