feat(pos): mpesa related fixes & additions (#24306)
* fix: switching of mode of payments
* feat: transaction limit for mpesa integration
* feat: resend payment request if one fails
* feat: make new request only for failed ones
* fix: invalid amount for mpesa request
* fix: payment successful message not shown
* fix: url and business shortcode for live env
* fix: duplicate items validation for pos invoices
* fix: pos closing entry queued status
* fix: peroid end date for amended pos closing
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index e085048..aa7b27a 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -456,9 +456,13 @@
check_list, chk_dupl_itm = [], []
if cint(frappe.db.get_single_value("Selling Settings", "allow_multiple_items")):
return
+ if self.doctype == "Sales Invoice" and self.is_consolidated:
+ return
+ if self.doctype == "POS Invoice":
+ return
for d in self.get('items'):
- if self.doctype in ["POS Invoice","Sales Invoice"]:
+ if self.doctype == "Sales Invoice":
stock_items = [d.item_code, d.description, d.warehouse, d.sales_order or d.delivery_note, d.batch_no or '']
non_stock_items = [d.item_code, d.description, d.sales_order or d.delivery_note]
elif self.doctype == "Delivery Note":