added event on numeric keypad
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index 961b2a1..e405ae0 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -303,6 +303,7 @@
 		this.make_list_customers();
 		this.make_customer();
 		this.make_item_list();
+		this.bind_numeric_keypad();
 		this.make_discount_field()
 	},
 
@@ -403,6 +404,40 @@
 			me.set_focus();
 		});
 	},
+	
+	bind_numeric_keypad: function() {
+		var me = this;
+		$(this.numeric_keypad).find('.pos-operation').on('click', function(){
+			me.numeric_val = '';
+		})
+
+		$(this.numeric_keypad).find('.numeric-keypad').on('click', function(){
+			me.numeric_id = $(this).attr("id") || me.numeric_id;
+			me.val = $(this).attr("val")
+			if(me.val && me.numeric_id) {
+				me.selected_field = $(me.wrapper).find('.selected-item').find('.' + me.numeric_id)
+				me.numeric_val += me.val;
+				me.selected_field.val(flt(me.numeric_val))
+				me.selected_field.trigger("change")
+				me.render_selected_item()
+			}
+		})
+		
+		$(this.numeric_keypad).find('.numeric-del').click(function(){
+			me.selected_field = $(me.wrapper).find('.selected-item').find('.' + me.numeric_id)
+			me.numeric_val = cstr(flt(me.selected_field.val())).slice(0, -1);
+			me.selected_field.val(me.numeric_val);
+			me.selected_field.trigger("change")
+			me.render_selected_item()
+		})
+		
+		$(this.numeric_keypad).find('.pos-pay').click(function(){
+			me.validate();
+			me.update_paid_amount_status(true);
+			me.create_invoice();
+			me.make_payment();
+		})
+	},
 
 	render_list_customers: function () {
 		var me = this;
@@ -797,11 +832,24 @@
 			});
 		}
 	},
+	
+	bind_items_event: function() {
+		var me = this;
+		$(this.wrapper).find(".pos-bill-item").click(function() {
+			me.numeric_val = "";
+			me.numeric_id = ""
+			me.item_code = $(this).attr("data-item-code");
+			me.render_selected_item()
+			me.bind_qty_event()
+			me.update_rate()
+			$(me.wrapper).find(".selected-item").scrollTop(1000);
+		})
+	},
 
 	bind_qty_event: function () {
 		var me = this;
-
-		$(this.wrapper).find(".pos-item-qty").on("change", function () {
+		
+		$(this.wrapper).on("change", ".pos-item-qty", function () {
 			var item_code = $(this).parents(".pos-bill-item").attr("data-item-code");
 			var qty = $(this).val();
 			me.update_qty(item_code, qty)
@@ -818,8 +866,8 @@
 			var qty = flt($(this).parents(".pos-bill-item").find('.pos-item-qty').val()) - 1;
 			me.update_qty(item_code, qty)
 		})
-
-		$(this.wrapper).find(".pos-item-discount").on("change", function () {
+		
+		$(this.wrapper).on("change", ".pos-item-disc", function () {
 			var item_code = $(this).parents(".pos-bill-item").attr("data-item-code");
 			var discount = $(this).val();
 			me.update_discount(item_code, discount)
@@ -841,20 +889,20 @@
 
 	update_rate: function () {
 		var me = this;
-		
-		$(this.wrapper).find(".pos-bill-item").click(function() {
-			var item_code = $(this).attr("data-item-code");
-			doc = me.get_child_item(item_code);
-			html_data = frappe.render_template("pos_selected_item", doc[0])
-			$(me.wrapper).find('.selected-item').html(html_data)
-			me.bind_qty_event()
-		})
-
-		$(this.wrapper).find(".pos-item-rate").on("change", function () {
+		$(this.wrapper).on("change", ".pos-item-price", function () {
 			var item_code = $(this).parents(".pos-bill-item").attr("data-item-code");
 			me.set_item_details(item_code, "rate", $(this).val());
 		})
 	},
+
+	render_selected_item: function() {
+		doc = this.get_child_item(this.item_code);
+		$(this.wrapper).find('.selected-item').empty();
+		if(doc.length) {
+			this.selected_row = frappe.render_template("pos_selected_item", doc[0])
+			$(this.wrapper).find('.selected-item').html(this.selected_row)
+		}
+	},
 	
 	get_child_item: function(item_code) {
 		var me = this;
@@ -1011,8 +1059,7 @@
 	refresh: function (update_paid_amount) {
 		var me = this;
 		this.refresh_fields(update_paid_amount);
-		this.bind_qty_event();
-		this.update_rate();
+		this.bind_items_event();
 		this.set_primary_action();
 	},
 
@@ -1056,11 +1103,11 @@
 			$(this).select();
 		});
 
-		this.wrapper.find("input.pos-item-discount").on("focus", function () {
+		this.wrapper.find("input.pos-item-disc").on("focus", function () {
 			$(this).select();
 		});
 
-		this.wrapper.find("input.pos-item-rate").on("focus", function () {
+		this.wrapper.find("input.pos-item-price").on("focus", function () {
 			$(this).select();
 		});
 	},
@@ -1375,13 +1422,18 @@
 				item.price_list_rate = pricing_rule[0].price || item.price_list_rate;
 				item.margin_rate_or_amount = pricing_rule[0].margin_rate_or_amount;
 				item.discount_percentage = pricing_rule[0].discount_percentage || 0.0;
-			} else if ((item.discount_percentage > 0 || item.margin_rate_or_amount > 0) && item.pricing_rule) {
+				me.apply_pricing_rule_on_item(item)
+			} else if (item.pricing_rule) {
+				item.price_list_rate = me.price_list_data[item.item_code]
 				item.margin_rate_or_amount = 0.0;
 				item.discount_percentage = 0.0;
 				item.pricing_rule = null;
+				me.apply_pricing_rule_on_item(item)
 			}
-
-			me.apply_pricing_rule_on_item(item)
+			
+			if(item.discount_percentage > 0) {
+				me.apply_pricing_rule_on_item(item)
+			}
 		})
 	},
 
diff --git a/erpnext/public/css/erpnext.css b/erpnext/public/css/erpnext.css
index b1f1985..1db761e 100644
--- a/erpnext/public/css/erpnext.css
+++ b/erpnext/public/css/erpnext.css
@@ -85,12 +85,13 @@
 }
 .item-cart {
   overflow-y: scroll;
-  height: calc(100vh - 60vh);
+  height: calc(100vh - 72vh);
 }
 .edit-pos-item {
-  height: 40px;
+  height: 50px;
   font-size: 14px;
   border-top: 1px solid #d1d8dd;
+  padding-top: 12px;
 }
 .pos-bill-item:hover {
   background-color: #f5f7fa;
@@ -171,6 +172,16 @@
 .pos-keyboard-key,
 .delete-btn {
   border: 1px solid #d1d8dd;
+  height: 85px;
+  width: 85px;
+  margin: 10px 10px;
+  font-size: 24px;
+  font-weight: 200;
+  background-color: #FDFDFD;
+  border-color: #e8e8e8;
+}
+.numeric-keypad {
+  border: 1px solid #d1d8dd;
   height: 69px;
   width: 69px;
   font-size: 20px;
diff --git a/erpnext/public/js/pos/pos.html b/erpnext/public/js/pos/pos.html
index c634135..1019647 100644
--- a/erpnext/public/js/pos/pos.html
+++ b/erpnext/public/js/pos/pos.html
@@ -73,15 +73,15 @@
 					{% for(var i=0; i<3; i++) { %}
 						<div class="row text-right">
 							{% for(var j=i*3; j<(i+1)*3; j++) { %}
-								<button type="button"  class="btn btn-default pos-keyboard-key">{{j+1}}</button>
+								<button type="button"  class="btn btn-default numeric-keypad" val="{{j+1}}">{{j+1}}</button>
 							{% } %}
-							<button type="button" class="btn text-center btn-default pos-keyboard-key">{{ chartData[i] }}</button>
+							<button type="button" id = "pos-item-{{ chartData[i].toLowerCase() }}" class="btn text-center btn-default numeric-keypad pos-operation">{{ chartData[i] }}</button>
 						</div>
 					{% } %}
 					<div class="row text-right">
-						<button type="button"  class="btn btn-default delete-btn">Del</button>
-						<button type="button"  class="btn btn-default pos-keyboard-key">0</button>
-						<button type="button"  class="btn btn-default pos-keyboard-key">.</button>
+						<button type="button"  class="btn btn-default numeric-keypad numeric-del">Del</button>
+						<button type="button"  class="btn btn-default numeric-keypad" val="0">0</button>
+						<button type="button"  class="btn btn-default numeric-keypad" val=".">.</button>
 						<button type="button" class="btn btn-primary pos-pay">Pay</button>
 					</div>
 		        </div>
diff --git a/erpnext/public/js/pos/pos_bill_item.html b/erpnext/public/js/pos/pos_bill_item.html
index 1a1f1e2..21868a6 100644
--- a/erpnext/public/js/pos/pos_bill_item.html
+++ b/erpnext/public/js/pos/pos_bill_item.html
@@ -18,13 +18,13 @@
     </div>
     <div class="col-xs-2 text-right">
 		<div class="row input-sm">
-            <input type="tel" value="{%= discount_percentage %}" class="form-control text-right pos-item-discount">
+            <input type="tel" value="{%= discount_percentage %}" class="form-control text-right pos-item-disc">
         </div>
     </div>
     <div class="col-xs-3 text-right">
         <div class="text-muted" style="margin-top: 5px;">
 			{% if(enabled) { %}
-				<input type="tel" value="{%= rate %}" class="form-control input-sm pos-item-rate text-right">
+				<input type="tel" value="{%= rate %}" class="form-control input-sm pos-item-price text-right">
 			{% } else { %}
 				<h6>{%= format_currency(rate) %}</h6>
 			{% } %}
diff --git a/erpnext/public/js/pos/pos_selected_item.html b/erpnext/public/js/pos/pos_selected_item.html
index 491938e..833cdd9 100644
--- a/erpnext/public/js/pos/pos_selected_item.html
+++ b/erpnext/public/js/pos/pos_selected_item.html
@@ -3,25 +3,25 @@
 	<div class="form-group edit-pos-item">
 		<label class=" text-left col-xs-4">Price:</label>
 		<div class="col-xs-8">
-			<input class="form-control text-right" value="{%= rate %}">
+			<input class="form-control text-right pos-item-price" disabled value="{%= rate %}">
 		</div>
 	</div>
 	<div class="form-group edit-pos-item">
 		<label class=" text-left col-xs-4">Qty:</label>
 		<div class="col-xs-8">
-			<input class="form-control text-right pos-item-qty" value="{%= qty %}">
+			<input class="form-control text-right pos-item-qty" disabled value="{%= qty %}">
 		</div>
 	</div>
 	<div class="form-group edit-pos-item">
 		<label class=" text-left col-xs-4">Discount:</label>
 		<div class="col-xs-8">
-			<input class="form-control text-right" value="{%= discount_percentage %}">
+			<input class="form-control text-right pos-item-disc" disabled value="{%= discount_percentage %}">
 		</div>
 	</div>
 	<div class="form-group edit-pos-item">
 		<label class=" text-left col-xs-4">Amount:</label>
 		<div class="col-xs-8">
-			<input class="form-control text-right " value="{%= amount %}">
+			<input class="form-control text-right " disabled value="{%= amount %}">
 		</div>
 	</div>
 </div>
\ No newline at end of file
diff --git a/erpnext/public/less/erpnext.less b/erpnext/public/less/erpnext.less
index 34ea901..3ad8a0b 100644
--- a/erpnext/public/less/erpnext.less
+++ b/erpnext/public/less/erpnext.less
@@ -104,13 +104,14 @@
 
 .item-cart {
 	overflow-y: scroll;
-	height: ~"calc(100vh - 60vh)";
+	height: ~"calc(100vh - 72vh)";
 }
 
 .edit-pos-item {
-	height: 40px;
+	height: 50px;
 	font-size: 14px;
 	border-top: 1px solid @border-color;
+	padding-top: 12px;
 }
 
 .pos-bill-item:hover {
@@ -213,6 +214,17 @@
 
 .pos-keyboard-key, .delete-btn {
 	border: 1px solid #d1d8dd;
+	height:85px;
+	width:85px;
+	margin:10px 10px;
+	font-size:24px;
+	font-weight:200;
+	background-color: #FDFDFD;
+	border-color: #e8e8e8;
+}
+
+.numeric-keypad {
+	border: 1px solid #d1d8dd;
 	height:69px;
 	width:69px;
 	font-size:20px;