From c466b49d09c14963f3edc278ea9feb8dd42af635 Mon Sep 17 00:00:00 2001 From: pandiyan Date: Sat, 18 Jul 2026 16:39:08 +0530 Subject: [PATCH] fix: exclude transferred_qty from work order item to pick list item mapping get_mapped_doc copies same-named fields by default. work order item's transferred_qty (cumulative across the whole work order) was leaking into the new pick list item's transferred_qty (meant to track how much of that pick list row has been converted into a stock entry, starting at 0). the leaked value then got subtracted again in get_pending_transfer_stock_qty(), so every pick list after the first under-transferred raw materials by whatever was already recorded on the work order, driving material_transferred_for_manufacturing towards zero across repeated partial pick-list/finish cycles. backport of #57253 fixes #57236, related to #56596 --- erpnext/manufacturing/doctype/work_order/work_order.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py index 488700b4208..e17d94d4239 100644 --- a/erpnext/manufacturing/doctype/work_order/work_order.py +++ b/erpnext/manufacturing/doctype/work_order/work_order.py @@ -2983,7 +2983,7 @@ def get_work_order_operation_data(work_order, operation, workstation): @frappe.whitelist() -def create_pick_list(source_name, target_doc=None, for_qty=None): +def create_pick_list(source_name: str, target_doc: str | dict | None = None, for_qty: float | None = None): for_qty = for_qty or json.loads(target_doc).get("for_qty") max_finished_goods_qty = frappe.db.get_value("Work Order", source_name, "qty") @@ -3013,6 +3013,7 @@ def create_pick_list(source_name, target_doc=None, for_qty=None): "Work Order": {"doctype": "Pick List", "validation": {"docstatus": ["=", 1]}}, "Work Order Item": { "doctype": "Pick List Item", + "field_no_map": ["transferred_qty"], "postprocess": update_item_quantity, "condition": lambda doc: abs(doc.transferred_qty) < abs(doc.required_qty), },