From 0c76a8cc9ea2e9de44e4747b91fced5b579a30b7 Mon Sep 17 00:00:00 2001 From: "Nihantra C. Patel" <141945075+Nihantra-Patel@users.noreply.github.com> Date: Tue, 9 Jul 2024 14:53:04 +0530 Subject: [PATCH] fix: Billed Qty and Qty to Bill Calculation in Purchase Order Analysis (#42100) --- .../report/purchase_order_analysis/purchase_order_analysis.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py index b23c3f50b9a..cf5e0ca3f8f 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py @@ -39,6 +39,7 @@ def validate_filters(filters): def get_data(filters): po = frappe.qb.DocType("Purchase Order") po_item = frappe.qb.DocType("Purchase Order Item") + pi = frappe.qb.DocType("Purchase Invoice") pi_item = frappe.qb.DocType("Purchase Invoice Item") query = ( @@ -46,6 +47,8 @@ def get_data(filters): .from_(po_item) .left_join(pi_item) .on(pi_item.po_detail == po_item.name) + .left_join(pi) + .on(pi.name == pi_item.parent) .select( po.transaction_date.as_("date"), po_item.schedule_date.as_("required_date"), @@ -69,6 +72,7 @@ def get_data(filters): po_item.name, ) .where((po_item.parent == po.name) & (po.status.notin(("Stopped", "Closed"))) & (po.docstatus == 1)) + .where(pi.docstatus == 1) .groupby(po_item.name) .orderby(po.transaction_date) )