From bd9e240ca5e72410dfa0eed140826607cdfca50f Mon Sep 17 00:00:00 2001 From: Kavin <78342682+kavin0411@users.noreply.github.com> Date: Tue, 21 Oct 2025 20:15:52 +0530 Subject: [PATCH] fix: Update pick list locations quantity --- .../doctype/material_request/material_request.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index 5a9aeab1a49..b8817996bac 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -902,6 +902,16 @@ def raise_work_orders(material_request): @frappe.whitelist() def create_pick_list(source_name, target_doc=None): + def update_item(obj, target, source_parent): + qty = ( + flt(flt(obj.stock_qty) - flt(obj.ordered_qty)) / target.conversion_factor + if flt(obj.stock_qty) > flt(obj.ordered_qty) + else 0 + ) + target.qty = qty + target.stock_qty = qty * obj.conversion_factor + target.conversion_factor = obj.conversion_factor + doc = get_mapped_doc( "Material Request", source_name, @@ -914,6 +924,11 @@ def create_pick_list(source_name, target_doc=None): "Material Request Item": { "doctype": "Pick List Item", "field_map": {"name": "material_request_item", "stock_qty": "stock_qty"}, + "postprocess": update_item, + "condition": lambda doc: ( + flt(doc.ordered_qty, doc.precision("ordered_qty")) + < flt(doc.stock_qty, doc.precision("ordered_qty")) + ), }, }, target_doc,