[Enhance] Fetch Customer's Item code based on Customer Name or Customer Group (#13198)
* customer code can be assigned based on customer group
* improvise customer group selection
* requested changes made
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 9c26a18..a0f7f43 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -395,8 +395,16 @@
def get_party_item_code(args, item_doc, out):
if args.transaction_type=="selling" and args.customer:
+ out.customer_item_code = None
customer_item_code = item_doc.get("customer_items", {"customer_name": args.customer})
- out.customer_item_code = customer_item_code[0].ref_code if customer_item_code else None
+
+ if customer_item_code:
+ out.customer_item_code = customer_item_code[0].ref_code
+ else:
+ customer_group = frappe.db.get_value("Customer", args.customer, "customer_group")
+ customer_group_item_code = item_doc.get("customer_items", {"customer_group": customer_group})
+ if customer_group_item_code and not customer_group_item_code[0].customer_name:
+ out.customer_item_code = customer_group_item_code[0].ref_code
if args.transaction_type=="buying" and args.supplier:
item_supplier = item_doc.get("supplier_items", {"supplier": args.supplier})