From 41f986ff83d6bece00d4159cf1752a2fa908dad8 Mon Sep 17 00:00:00 2001 From: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com> Date: Mon, 23 Mar 2026 15:16:37 +0530 Subject: [PATCH] fix(manufacturing): update non-stock item dict (#53689) --- erpnext/manufacturing/doctype/bom/bom.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py index 1cc7cadd1e4..e2bb54de79e 100644 --- a/erpnext/manufacturing/doctype/bom/bom.py +++ b/erpnext/manufacturing/doctype/bom/bom.py @@ -1613,13 +1613,14 @@ def add_non_stock_items_cost(stock_entry, work_order, expense_account, job_card= if work_order and not job_card: table = "exploded_items" if work_order.get("use_multi_level_bom") else "items" - items = {} + items = frappe._dict() for d in bom.get(table): # Phantom item is exploded, so its cost is considered via its components if d.get("is_phantom_item"): continue - items.setdefault(d.item_code, d.amount) + items.setdefault(d.item_code, 0) + items[d.item_code] += flt(d.amount) non_stock_items = frappe.get_all( "Item",