Fixes #12810
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.js b/erpnext/selling/page/point_of_sale/point_of_sale.js
index 1d884cc..9484dc7 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -768,11 +768,19 @@
 						return;
 					}
 
-					const item_code = this.selected_item.attr('data-item-code');
-					const field = this.selected_item.active_field;
-					const value = this.numpad.get_value();
+					if (this.selected_item.active_field == 'discount_percentage' && this.numpad.get_value() > cint(100)) {
+						frappe.show_alert({
+							indicator: 'red',
+							message: __('Discount amount cannot be greater than 100%')
+						});
+						this.numpad.reset_value();
+					} else {
+						const item_code = this.selected_item.attr('data-item-code');
+						const field = this.selected_item.active_field;
+						const value = this.numpad.get_value();
 
-					this.events.on_field_change(item_code, field, value);
+						this.events.on_field_change(item_code, field, value);
+					}
 				}
 
 				this.events.on_numpad(btn_value);
@@ -1588,4 +1596,4 @@
 		this.dialog.set_value("paid_amount", this.frm.doc.paid_amount);
 		this.dialog.set_value("outstanding_amount", this.frm.doc.outstanding_amount);
 	}
-}
+}
\ No newline at end of file