From 02d41b1dac4c338d514e5cde2767ddeeec550ab3 Mon Sep 17 00:00:00 2001 From: pandiyan Date: Tue, 16 Jun 2026 16:12:59 +0530 Subject: [PATCH] fix(stock): update transfer status for mixed transfer flows --- .../doctype/stock_entry/services/material_transfer.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/erpnext/stock/doctype/stock_entry/services/material_transfer.py b/erpnext/stock/doctype/stock_entry/services/material_transfer.py index c7d6ee05495..95429764917 100644 --- a/erpnext/stock/doctype/stock_entry/services/material_transfer.py +++ b/erpnext/stock/doctype/stock_entry/services/material_transfer.py @@ -429,9 +429,15 @@ def _resolve_transfer_qty(desire_to_transfer, pending_to_issue, can_transfer): def get_transferred_qty(material_request): + from pypika import Case + + se = frappe.qb.DocType("Stock Entry") sed = frappe.qb.DocType("Stock Entry Detail") + completed_qty = Case().when(se.add_to_transit == 1, sed.transferred_qty).else_(sed.transfer_qty) return ( frappe.qb.from_(sed) - .select(Sum(sed.transfer_qty).as_("transfer_qty"), Sum(sed.transferred_qty).as_("transferred_qty")) + .inner_join(se) + .on(se.name == sed.parent) + .select(Sum(sed.transfer_qty).as_("transfer_qty"), Sum(completed_qty).as_("transferred_qty")) .where((sed.material_request == material_request) & (sed.docstatus == 1)) ).run(as_dict=True)[0]