Additional Discount amount based on percentage
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 49f47e0..4c81b42 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -865,12 +865,48 @@
 })
 
 frappe.ui.form.on(cur_frm.doctype, "apply_discount_on", function(frm) {
-	cur_frm.cscript.calculate_taxes_and_totals();
+	if(frm.doc.additional_discount_percentage) {
+		frm.trigger("additional_discount_percentage");
+	} else {
+		cur_frm.cscript.calculate_taxes_and_totals();
+	}
 })
 
+frappe.ui.form.on(cur_frm.doctype, "additional_discount_percentage", function(frm) {
+	if (frm.via_discount_amount) {
+		return;
+	}
+	
+	if(!frm.doc.apply_discount_on) {
+		frappe.msgprint(__("Please set 'Apply Additional Discount On'"));
+		return
+	}
+	
+	frm.via_discount_percentage = true;
+	
+	if(frm.doc.additional_discount_percentage && frm.doc.discount_amount) {
+		// Reset discount amount and net / grand total
+		frm.set_value("discount_amount", 0);
+	}
+	
+	var total = flt(frm.doc[frappe.model.scrub(frm.doc.apply_discount_on)]);
+	var discount_amount = flt(total*flt(frm.doc.additional_discount_percentage) / 100, 
+		precision("discount_amount"));
+		
+	frm.set_value("discount_amount", discount_amount);
+	delete frm.via_discount_percentage;
+});
+
 frappe.ui.form.on(cur_frm.doctype, "discount_amount", function(frm) {
-	cur_frm.cscript.set_dynamic_labels();
-	cur_frm.cscript.calculate_taxes_and_totals();
-})
+	frm.cscript.set_dynamic_labels();
+	
+	if (!frm.via_discount_percentage) {
+		frm.via_discount_amount = true;
+		frm.set_value("additional_discount_percentage", 0);
+		delete frm.via_discount_amount;
+	}
+	
+	frm.cscript.calculate_taxes_and_totals();
+});
 
 
diff --git a/erpnext/public/js/pos/pos.html b/erpnext/public/js/pos/pos.html
index 1c337f4..d12b9b2 100644
--- a/erpnext/public/js/pos/pos.html
+++ b/erpnext/public/js/pos/pos.html
@@ -25,17 +25,25 @@
 						</div>
                     </div>
                     <div class="row pos-bill-row discount-amount-area">
-                        <div class="col-xs-6"><h6 class="text-muted">{%= __("Discount Amount") %}</h6></div>
-                        <div class="col-xs-6"><input type="text" class="form-control discount-amount text-right"></div>
+                        <div class="col-xs-6"><h6 class="text-muted">{%= __("Discount") %}</h6></div>
+						<div class="col-xs-3 discount-field-col">
+							<div class="input-group input-group-sm">
+								<span class="input-group-addon">%</span>
+								<input type="text" class="form-control discount-percentage text-right">
+							</div>
+						</div>
+                        <div class="col-xs-3 discount-field-col">
+							<div class="input-group input-group-sm">
+								<span class="input-group-addon">{%= get_currency_symbol(currency) %}</span>
+								<input type="text" class="form-control discount-amount text-right"
+							  		placeholder="{%= 0.00 %}">
+							</div>
+						</div>
                     </div>
                     <div class="row pos-bill-row grand-total-area">
                         <div class="col-xs-6"><h6>{%= __("Grand Total") %}</h6></div>
                         <div class="col-xs-6"><h6 class="grand-total text-right"></h6></div>
                     </div>
-                    <!-- <div class="row pos-bill-row paid-amount-area">
-                        <div class="col-xs-6"><h6 class="text-muted">{%= __("Amount Paid") %}</h6></div>
-                        <div class="col-xs-6"><input type="text" class="form-control paid-amount text-right"></div>
-                    </div> -->
     			</div>
     		</div>
     	</div>
diff --git a/erpnext/public/js/pos/pos.js b/erpnext/public/js/pos/pos.js
index 02eeab0..a348138 100644
--- a/erpnext/public/js/pos/pos.js
+++ b/erpnext/public/js/pos/pos.js
@@ -7,7 +7,7 @@
 	init: function(wrapper, frm) {
 		this.wrapper = wrapper;
 		this.frm = frm;
-		this.wrapper.html(frappe.render_template("pos", {}));
+		this.wrapper.html(frappe.render_template("pos", {currency: this.frm.currency}));
 
 		this.check_transaction_type();
 		this.make();
@@ -16,6 +16,11 @@
 		$(this.frm.wrapper).on("refresh-fields", function() {
 			me.refresh();
 		});
+		
+		this.wrapper.find('input.discount-percentage').on("change", function() {
+			frappe.model.set_value(me.frm.doctype, me.frm.docname, 
+				"additional_discount_percentage", flt(this.value));
+		});
 
 		this.wrapper.find('input.discount-amount').on("change", function() {
 			frappe.model.set_value(me.frm.doctype, me.frm.docname, "discount_amount", flt(this.value));
@@ -230,6 +235,7 @@
 	},
 	refresh_fields: function() {
 		this.party_field.set_input(this.frm.doc[this.party.toLowerCase()]);
+		this.wrapper.find('input.discount-percentage').val(this.frm.doc.additional_discount_percentage);
 		this.wrapper.find('input.discount-amount').val(this.frm.doc.discount_amount);
 
 		this.show_items_in_item_cart();