fix: over billing qty along with rate
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 313d212..f2a111a 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -1015,8 +1015,10 @@
 
 					if provisional_accounting_for_non_stock_items:
 						if item.purchase_receipt:
-							provisional_account, pr_base_rate = frappe.get_cached_value(
-								"Purchase Receipt Item", item.pr_detail, ["provisional_expense_account", "base_rate"]
+							provisional_account, pr_qty, pr_base_rate = frappe.get_cached_value(
+								"Purchase Receipt Item",
+								item.pr_detail,
+								["provisional_expense_account", "qty", "base_rate"],
 							)
 							provisional_account = provisional_account or self.get_company_default(
 								"default_provisional_account"
@@ -1048,7 +1050,7 @@
 									self.posting_date,
 									provisional_account,
 									reverse=1,
-									item_amount=(item.qty * pr_base_rate),
+									item_amount=(min(item.qty, pr_qty) * pr_base_rate),
 								)
 
 					if not self.is_internal_transfer():