[Fix] Customer delete, customer edit functionality, added country field in the pos profile
diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.json b/erpnext/accounts/doctype/pos_profile/pos_profile.json
index a25dd51..9232cd3 100644
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.json
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.json
@@ -1,5 +1,6 @@
 {
  "allow_copy": 0, 
+ "allow_guest_to_view": 0, 
  "allow_import": 0, 
  "allow_rename": 0, 
  "autoname": "hash", 
@@ -21,7 +22,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
+   "in_standard_filter": 0, 
    "label": "Applicable for User", 
    "length": 0, 
    "no_copy": 0, 
@@ -50,7 +53,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
+   "in_standard_filter": 0, 
    "label": "Series", 
    "length": 0, 
    "no_copy": 1, 
@@ -81,7 +86,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Update Stock", 
    "length": 0, 
    "no_copy": 0, 
@@ -108,7 +115,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Warehouse", 
    "length": 0, 
    "no_copy": 0, 
@@ -137,7 +146,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Campaign", 
    "length": 0, 
    "no_copy": 0, 
@@ -165,7 +176,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -191,7 +204,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Customer", 
    "length": 0, 
    "no_copy": 0, 
@@ -220,7 +235,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
+   "in_standard_filter": 0, 
    "label": "Company", 
    "length": 0, 
    "no_copy": 0, 
@@ -243,13 +260,45 @@
    "bold": 0, 
    "collapsible": 0, 
    "columns": 0, 
+   "fieldname": "country", 
+   "fieldtype": "Read Only", 
+   "hidden": 0, 
+   "ignore_user_permissions": 0, 
+   "ignore_xss_filter": 0, 
+   "in_filter": 0, 
+   "in_global_search": 0, 
+   "in_list_view": 0, 
+   "in_standard_filter": 0, 
+   "label": "Country", 
+   "length": 0, 
+   "no_copy": 0, 
+   "options": "company.country", 
+   "permlevel": 0, 
+   "precision": "", 
+   "print_hide": 0, 
+   "print_hide_if_no_value": 0, 
+   "read_only": 0, 
+   "remember_last_selected_value": 0, 
+   "report_hide": 0, 
+   "reqd": 0, 
+   "search_index": 0, 
+   "set_only_once": 0, 
+   "unique": 0
+  }, 
+  {
+   "allow_on_submit": 0, 
+   "bold": 0, 
+   "collapsible": 0, 
+   "columns": 0, 
    "fieldname": "currency", 
    "fieldtype": "Link", 
    "hidden": 0, 
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Currency", 
    "length": 0, 
    "no_copy": 0, 
@@ -278,7 +327,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Ignore Pricing Rule", 
    "length": 0, 
    "no_copy": 0, 
@@ -305,7 +356,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Allow Delete", 
    "length": 0, 
    "no_copy": 0, 
@@ -332,7 +385,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Allow user to edit Rate", 
    "length": 0, 
    "no_copy": 0, 
@@ -359,7 +414,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -385,7 +442,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Sales Invoice Payment", 
    "length": 0, 
    "no_copy": 0, 
@@ -413,7 +472,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -439,7 +500,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Item Groups", 
    "length": 0, 
    "no_copy": 0, 
@@ -467,7 +530,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -493,7 +558,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Customer Groups", 
    "length": 0, 
    "no_copy": 0, 
@@ -521,7 +588,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -548,7 +617,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Print Format", 
    "length": 0, 
    "no_copy": 0, 
@@ -576,7 +647,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Letter Head", 
    "length": 0, 
    "no_copy": 0, 
@@ -605,7 +678,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Print Heading", 
    "length": 0, 
    "no_copy": 0, 
@@ -634,7 +709,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Terms and Conditions", 
    "length": 0, 
    "no_copy": 0, 
@@ -663,7 +740,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "oldfieldtype": "Column Break", 
@@ -690,7 +769,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 1, 
+   "in_standard_filter": 0, 
    "label": "Territory", 
    "length": 0, 
    "no_copy": 0, 
@@ -719,7 +800,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Price List", 
    "length": 0, 
    "no_copy": 0, 
@@ -748,7 +831,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Apply Discount", 
    "length": 0, 
    "no_copy": 0, 
@@ -777,7 +862,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Apply Discount On", 
    "length": 0, 
    "no_copy": 0, 
@@ -805,7 +892,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -832,7 +921,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Write Off Account", 
    "length": 0, 
    "no_copy": 0, 
@@ -860,7 +951,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Write Off Cost Center", 
    "length": 0, 
    "no_copy": 0, 
@@ -888,7 +981,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Account for Change Amount", 
    "length": 0, 
    "no_copy": 0, 
@@ -916,7 +1011,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Taxes and Charges", 
    "length": 0, 
    "no_copy": 0, 
@@ -945,7 +1042,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "length": 0, 
    "no_copy": 0, 
    "permlevel": 0, 
@@ -971,7 +1070,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Income Account", 
    "length": 0, 
    "no_copy": 0, 
@@ -1001,7 +1102,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Expense Account", 
    "length": 0, 
    "no_copy": 0, 
@@ -1028,7 +1131,9 @@
    "ignore_user_permissions": 0, 
    "ignore_xss_filter": 0, 
    "in_filter": 0, 
+   "in_global_search": 0, 
    "in_list_view": 0, 
+   "in_standard_filter": 0, 
    "label": "Cost Center", 
    "length": 0, 
    "no_copy": 0, 
@@ -1047,18 +1152,18 @@
    "unique": 0
   }
  ], 
+ "has_web_view": 0, 
  "hide_heading": 0, 
  "hide_toolbar": 0, 
  "icon": "icon-cog", 
  "idx": 1, 
  "image_view": 0, 
  "in_create": 0, 
- "in_dialog": 0, 
  "is_submittable": 0, 
  "issingle": 0, 
  "istable": 0, 
  "max_attachments": 0, 
- "modified": "2016-12-28 15:14:59.411457", 
+ "modified": "2017-03-10 16:53:56.390210", 
  "modified_by": "rohit@erpnext.com", 
  "module": "Accounts", 
  "name": "POS Profile", 
@@ -1074,7 +1179,6 @@
    "export": 0, 
    "if_owner": 0, 
    "import": 0, 
-   "is_custom": 0, 
    "permlevel": 0, 
    "print": 1, 
    "read": 1, 
@@ -1095,7 +1199,6 @@
    "export": 0, 
    "if_owner": 0, 
    "import": 0, 
-   "is_custom": 0, 
    "permlevel": 0, 
    "print": 1, 
    "read": 1, 
@@ -1110,8 +1213,10 @@
  "quick_entry": 0, 
  "read_only": 0, 
  "read_only_onload": 0, 
+ "show_name_in_global_search": 0, 
  "sort_field": "modified", 
  "sort_order": "DESC", 
  "title_field": "user", 
+ "track_changes": 0, 
  "track_seen": 0
 }
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_invoice/pos.py b/erpnext/accounts/doctype/sales_invoice/pos.py
index d24df3a..cfbd1b2 100644
--- a/erpnext/accounts/doctype/sales_invoice/pos.py
+++ b/erpnext/accounts/doctype/sales_invoice/pos.py
@@ -63,6 +63,8 @@
 
 def update_pos_profile_data(doc, pos_profile, company_data):
 	doc.campaign = pos_profile.get('campaign')
+	if not pos_profile.get('country'):
+		pos_profile["country"] = company_data.country
 
 	doc.write_off_account = pos_profile.get('write_off_account') or \
 		company_data.write_off_account
@@ -273,17 +275,17 @@
 	return pricing_rules
 
 @frappe.whitelist()
-def make_invoice(doc_list, email_queue_list, customers_list):
+def make_invoice(doc_list={}, email_queue_list={}, customers_list={}):
 	if isinstance(doc_list, basestring):
 		doc_list = json.loads(doc_list)
 
 	if isinstance(email_queue_list, basestring):
-		email_queue = json.loads(email_queue_list)
+		email_queue_list = json.loads(email_queue_list)
 
 	if isinstance(customers_list, basestring):
-		customers = json.loads(customers_list)
+		customers_list = json.loads(customers_list)
 
-	customers = make_customer_and_address(customers)
+	customers = make_customer_and_address(customers_list)
 	name_list = []
 	for docs in doc_list:
 		for name, doc in docs.items():
@@ -297,7 +299,7 @@
 			else:
 				name_list.append(name)
 
-	email_queue = make_email_queue(email_queue)
+	email_queue = make_email_queue(email_queue_list)
 	return {
 		'invoice': name_list,
 		'email_queue': email_queue,
@@ -330,8 +332,6 @@
 def make_address(args, customer):
 	if args.get('name'):
 		address = frappe.get_doc('Address', args.get('name'))
-		address.is_primary_address = 1
-		address.is_shipping_address = 1
 	else:
 		address = frappe.new_doc('Address')
 		address.country = frappe.db.get_value('Company', args.get('company'), 'country')
@@ -340,6 +340,8 @@
 			'link_name': customer
 		})
 
+	address.is_primary_address = 1
+	address.is_shipping_address = 1
 	address.update(args)
 	address.save(ignore_permissions = True)
 
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 3dfe680..f3d311b 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -558,7 +558,7 @@
 							{'mode_of_payment': 'Cash', 'account': 'Cash - _TC', 'amount': 330}]
 
 		invoice_data = [{'09052016142': pos}]
-		si = make_invoice(invoice_data)
+		si = make_invoice(invoice_data).get('invoice')
 		self.assertEquals(si[0], '09052016142')
 
 		sales_invoice = frappe.get_all('Sales Invoice', fields =["*"], filters = {'offline_pos_name': '09052016142', 'docstatus': 1})
diff --git a/erpnext/accounts/page/pos/pos.js b/erpnext/accounts/page/pos/pos.js
index 299e34a..b86f9e1 100644
--- a/erpnext/accounts/page/pos/pos.js
+++ b/erpnext/accounts/page/pos/pos.js
@@ -166,11 +166,6 @@
 	dialog_actions: function () {
 		var me = this;
 
-		$(this.list_body).find('.list-column').click(function () {
-			me.name = $(this).parents().attr('invoice-name')
-			me.edit_record();
-		})
-
 		$(this.list_body).find('.list-select-all').click(function () {
 			me.removed_items = [];
 			$(me.list_body).find('.list-delete').prop("checked", $(this).is(":checked"))
@@ -182,7 +177,7 @@
 				})
 			}
 
-			me.toggle_primary_action();
+			me.toggle_delete_button();
 		})
 
 		$(this.list_body).find('.list-delete').click(function () {
@@ -193,7 +188,7 @@
 				me.removed_items.pop(me.name)
 			}
 
-			me.toggle_primary_action();
+			me.toggle_delete_button();
 		})
 	},
 
@@ -212,19 +207,32 @@
 
 	delete_records: function () {
 		var me = this;
+		this.validate_list()
 		this.remove_doc_from_localstorage()
 		this.update_localstorage();
-		this.dialog_actions();
-		this.toggle_primary_action();
+		// this.dialog_actions();
+		this.toggle_delete_button();
 	},
 
-	toggle_primary_action: function () {
+	validate_list: function() {
 		var me = this;
-		if(this.frm.doc.allow_delete) {
+		this.si_docs = this.get_submitted_invoice()
+		$.each(this.removed_items, function(index, name){
+			$.each(me.si_docs, function(key, data){
+				if(me.si_docs[key][name] && me.si_docs[key][name].offline_pos_name == name ){
+					frappe.throw(__("Submitted orders can not be deleted"))
+				}
+			})
+		})
+	},
+
+	toggle_delete_button: function () {
+		var me = this;
+		if(this.pos_profile_data["allow_delete"]) {
 			if (this.removed_items && this.removed_items.length > 0) {
-				$(this.wrapper).find('.btn-danger').show();
+				$(this.page.wrapper).find('.btn-danger').show();
 			} else {
-				$(this.wrapper).find('.btn-danger').hide();
+				$(this.page.wrapper).find('.btn-danger').hide();
 			}
 		}
 	},
@@ -348,7 +356,6 @@
 	},
 
 	setup: function () {
-		this.frm.doc.allow_delete = this.pos_profile_data["allow_delete"];
 		this.make();
 		this.set_primary_action();
 		this.party_field.$input.attr('disabled', false);
@@ -403,18 +410,6 @@
 			}, 1000);
 		});
 
-		// this.search_item_group = frappe.ui.form.make_control({
-		// 	df: {
-		// 		"fieldtype": "Select",
-		// 		"options": me.item_groups,
-		// 		"label": __("Item Group"),
-		// 		"fieldname": "item_group",
-		// 		"placeholder": __("Item Group")
-		// 	},
-		// 	parent: this.wrapper.find(".search-item-group"),
-		// 	only_input: true,
-		// });
-
 		this.search_item_group = this.wrapper.find('.search-item-group');
 
 		var dropdown_html = me.item_groups.map(function(item_group) {
@@ -432,13 +427,6 @@
 			me.make_item_list();
 		})
 
-		// this.search_item_group.make_input();
-		// this.search_item_group.$input.on("change", function () {
-		// 	me.page_len = 20;
-		// 	me.items = me.get_items();
-		// 	me.make_item_list();
-		// });
-
 		me.toggle_more_btn();
 
 		this.wrapper.on("click", ".btn-more", function() {
@@ -499,17 +487,17 @@
 			$(this).toggleClass("view_customer");
 			if($(this).hasClass("view_customer")) {
 				me.render_list_customers();
-				me.bind_delete_event()
-				me.party_field.$input.attr('disabled', true);
 				me.list_customers.show();
 				me.pos_bill.hide();
 				me.numeric_keypad.hide();
+				me.toggle_delete_button()
 			} else {
 				if(me.frm.doc.docstatus == 0) {
 					me.party_field.$input.attr('disabled', false);
 				}
 				me.pos_bill.show();
 				me.toggle_totals_area(false);
+				me.toggle_delete_button()
 				me.list_customers.hide();
 				if(me.frm.doc.items.length > 0) {
 					me.numeric_keypad.show();
@@ -544,7 +532,7 @@
 				me.numeric_val += me.val;
 				me.selected_field.val(flt(me.numeric_val))
 				me.selected_field.trigger("change")
-				me.render_selected_item()
+				// me.render_selected_item()
 			}
 
 			if(me.numeric_id && $(this).hasClass('pos-operation')) {
@@ -561,7 +549,7 @@
 			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()
+			// me.render_selected_item()
 		})
 		
 		$(this.numeric_keypad).find('.pos-pay').click(function(){
@@ -578,27 +566,28 @@
 		this.removed_items = [];
 		// this.list_customers.empty();
 		this.si_docs = this.get_doc_from_localstorage();
-
 		if (!this.si_docs.length) {
 			return;
 		}
 
 		var html = "";
-		this.si_docs.forEach(function (data, i) {
-			for (key in data) {
-				html += frappe.render_template("pos_invoice_list", {
-					sr: i + 1,
-					name: key,
-					customer: data[key].customer,
-					paid_amount: format_currency(data[key].paid_amount, me.frm.doc.currency),
-					grand_total: format_currency(data[key].grand_total, me.frm.doc.currency),
-					data: me.get_doctype_status(data[key])
-				});
-			}
-		});
+		if(this.si_docs.length) {
+			this.si_docs.forEach(function (data, i) {
+				for (key in data) {
+					html += frappe.render_template("pos_invoice_list", {
+						sr: i + 1,
+						name: key,
+						customer: data[key].customer,
+						paid_amount: format_currency(data[key].paid_amount, me.frm.doc.currency),
+						grand_total: format_currency(data[key].grand_total, me.frm.doc.currency),
+						data: me.get_doctype_status(data[key])
+					});
+				}
+			});
+		}
 		this.list_customers.find('.list-customers-table').html(html);
 
-		this.list_customers.find('.list-column').click(function () {
+		this.list_customers.on('click', '.customer-row', function () {
 			me.list_customers.hide();
 			me.numeric_keypad.show();
 			me.list_customers_btn.toggleClass("view_customer");
@@ -620,7 +609,7 @@
 				});
 			}
 
-			me.toggle_primary_action();
+			me.toggle_delete_button();
 		});
 
 		$(this.wrapper).find('.list-delete').click(function () {
@@ -631,16 +620,17 @@
 				me.removed_items.pop(me.name)
 			}
 
-			me.toggle_primary_action();
+			me.toggle_delete_button();
 		});
 	},
 
 	bind_delete_event: function() {
 		var me = this;
 
-		$(this.wrapper).find('.btn-danger').click(function(){
+		$(this.page.wrapper).on('click', '.btn-danger', function(){
 			frappe.confirm(__("Delete permanently?"), function () {
 				me.delete_records();
+				me.list_customers.find('.list-customers-table').html("");
 				me.render_list_customers();
 			})
 		})
@@ -660,7 +650,7 @@
 		if(!this.party_field) {
 			if(this.page.wrapper.find('.pos-bill-toolbar').length === 0) {
 				$(frappe.render_template('customer_toolbar', {
-					allow_delete: this.frm.doc.allow_delete
+					allow_delete: this.pos_profile_data["allow_delete"]
 				})).insertAfter(this.page.$title_area.hide());
 			}
 
@@ -678,6 +668,7 @@
 
 			this.party_field.make_input();
 			setTimeout(this.set_focus.bind(this), 500);
+			me.toggle_delete_button();
 		}
 
 		if (this.default_customer && !this.frm.doc.customer) {
@@ -817,6 +808,12 @@
 					"fieldtype": "Section Break"
 				},
 				{
+					"label": __("Address Name"),
+					"read_only": 1,
+					"fieldname": "name",
+					"fieldtype": "Data"
+				},
+				{
 					"label": __("Address Line 1"),
 					"fieldname": "address_line1",
 					"fieldtype": "Data"
@@ -827,11 +824,6 @@
 					"fieldtype": "Data"
 				},
 				{
-					"label": __("Fax"),
-					"fieldname": "fax",
-					"fieldtype": "Data"
-				},
-				{
 					"fieldtype": "Column Break"
 				},
 				{
@@ -848,12 +840,6 @@
 					"label": __("ZIP Code"),
 					"fieldname": "pincode",
 					"fieldtype": "Data"
-				},
-				{
-					"label": __("ZIP Code"),
-					"hidden": 1,
-					"fieldname": "name",
-					"fieldtype": "Data"
 				}
 			]
 		})
@@ -870,15 +856,10 @@
 	render_address_data: function() {
 		var me = this;
 		this.address_data = this.address[this.frm.doc.customer] || this.get_address_from_localstorage();
-		prompt_obj = me.customer_doc.fields_dict;
-		$.each(this.address_data, function(key, value){
-			if(prompt_obj[key] && key!='name') {
-				prompt_obj[key].$input.val(value)
-			}
-		})
+		this.customer_doc.set_values(this.address_data)
 
-		if(!prompt_obj.full_name.$input.val()) {
-			prompt_obj.full_name.$input.val(this.frm.doc.customer)
+		if(!this.customer_doc.fields_dict.full_name.$input.val()) {
+			this.customer_doc.set_value("full_name", this.frm.doc.customer)
 		}
 	},
 
@@ -889,6 +870,7 @@
 
 	make_offline_customer: function() {
 		this.frm.doc.customer = this.frm.doc.customer || this.customer_doc.get_values().full_name;
+		this.customer_details = this.get_customers_details();
 		this.customer_details[this.frm.doc.customer] = this.get_prompt_details();
 		this.party_field.$input.val(this.frm.doc.customer);
 		this.customers.push({
@@ -902,7 +884,7 @@
 
 	get_prompt_details: function() {
 		this.prompt_details = this.customer_doc.get_values();
-		this.prompt_details['country'] = this.frm.doc.country;
+		this.prompt_details['country'] = this.pos_profile_data.country;
 		return JSON.stringify(this.prompt_details)
 	},
 
@@ -1066,6 +1048,7 @@
 			var item_code = $(this).parents(".pos-selected-item-action").attr("data-item-code");
 			var qty = $(this).val();
 			me.update_qty(item_code, qty)
+			me.render_selected_item()
 		})
 
 		$(this.wrapper).find("[data-action='increase-qty']").on("click", function () {
@@ -1084,6 +1067,7 @@
 			var item_code = $(this).parents(".pos-selected-item-action").attr("data-item-code");
 			var discount = $(this).val();
 			me.update_discount(item_code, discount)
+			me.render_selected_item()
 		})
 	},
 
@@ -1100,6 +1084,8 @@
 				me.add_to_cart();
 			}
 		});
+
+		me.bind_delete_event()
 	},
 
 	update_qty: function (item_code, qty) {
@@ -1173,7 +1159,6 @@
 		var me = this;
 		idx = 0
 		this.items = []
-		idx = 0
 		$.each(this.frm.doc["items"] || [], function (i, d) {
 			if (!in_list(me.remove_item, d.idx)) {
 				d.idx = idx;
@@ -1374,39 +1359,31 @@
 
 	set_primary_action: function () {
 		var me = this;
-		this.page.set_primary_action(__("New Order"), function () {
-			me.save_previous_entry();
-			me.create_new();
-			me.refresh();
-			me.toggle_input_field();
-			me.set_focus();
+		this.page.set_primary_action(__("New Cart"), function () {
+			me.make_new_cart()
 		}, "fa fa-plus")
-		if (this.frm.doc.docstatus == 0) {
-			// this.page.set_primary_action(__("Pay"), function () {
-			// 	me.validate();
-			// 	me.update_paid_amount_status(true);
-			// 	me.create_invoice();
-			// 	me.make_payment();
-			// }, "fa fa-credit-card");
-		} else if (this.frm.doc.docstatus == 1) {
+
+		if (this.frm.doc.docstatus == 1) {
 			this.page.set_secondary_action(__("Print"), function () {
 				html = frappe.render(me.print_template_data, me.frm.doc)
 				me.print_document(html)
 			})
-		} else {
-			this.page.clear_primary_action()
 		}
+	},
 
-		// this.page.set_secondary_action(__("New"), function () {
-		// 	me.save_previous_entry();
-		// 	me.create_new();
-		// }, "fa fa-plus").addClass("btn-primary");
+	make_new_cart: function (){
+		this.save_previous_entry();
+		this.create_new();
+		this.refresh();
+		this.toggle_input_field();
+		this.render_list_customers();
+		this.set_focus();
 	},
 
 	print_dialog: function () {
 		var me = this;
 
-		msgprint = frappe.msgprint(format('<a class="btn btn-primary print_doc" \
+		this.msgprint = frappe.msgprint(format('<a class="btn btn-primary print_doc" \
 			style="margin-right: 5px;">{0}</a>\
 			<a class="btn btn-default new_doc">{1}</a>', [
 				__('Print'), __('New')
@@ -1418,8 +1395,8 @@
 		})
 
 		$('.new_doc').click(function () {
-			msgprint.hide()
-			me.create_new();
+			me.msgprint.hide()
+			me.make_new_cart()
 		})
 	},
 
@@ -1456,6 +1433,8 @@
 		$(this.wrapper).find('select').attr("disabled", disabled);
 		$(this.wrapper).find('input').attr("disabled", disabled);
 		$(this.wrapper).find('select').attr("disabled", disabled);
+		$(this.wrapper).find('button').attr("disabled", disabled);
+		this.party_field.$input.attr('disabled', disabled);
 
 		if (this.frm.doc.docstatus == 1) {
 			pointer_events = 'none';
@@ -1527,7 +1506,7 @@
 		this.email_queue_list = this.get_email_queue() || {};
 		this.customers_list = this.get_customers_details() || {};
 
-		if (this.si_docs.length || this.email_queue_list) {
+		if (this.si_docs.length || this.email_queue_list || this.customers_list) {
 			frappe.call({
 				method: "erpnext.accounts.doctype.sales_invoice.pos.make_invoice",
 				args: {
@@ -1580,6 +1559,7 @@
 					}
 				}
 			})
+			this.removed_items = [];
 			this.si_docs = this.new_si_docs;
 			this.update_localstorage();
 		}
diff --git a/erpnext/public/css/erpnext.css b/erpnext/public/css/erpnext.css
index a51472f..697c078 100644
--- a/erpnext/public/css/erpnext.css
+++ b/erpnext/public/css/erpnext.css
@@ -327,3 +327,4 @@
 body[data-route="pos"] .collapse-btn {
   cursor: pointer;
 }
+
diff --git a/erpnext/public/js/pos/customer_toolbar.html b/erpnext/public/js/pos/customer_toolbar.html
index a2cd834..3ba5ccb 100644
--- a/erpnext/public/js/pos/customer_toolbar.html
+++ b/erpnext/public/js/pos/customer_toolbar.html
@@ -10,7 +10,7 @@
 		<i class="octicon octicon-organization"></i>
 	</button>
 	</button> {% if (allow_delete) { %}
-	<button class="btn btn-default btn-danger" style="margin: 0 5px 0 5px;display:none">
+	<button class="btn btn-default btn-danger" style="margin: 0 5px 0 5px">
 			<i class="octicon octicon-trashcan"></i>
 		</button> {% } %}
 </div>
\ No newline at end of file
diff --git a/erpnext/public/js/pos/pos_invoice_list.html b/erpnext/public/js/pos/pos_invoice_list.html
index 9680cd5..13aa520 100644
--- a/erpnext/public/js/pos/pos_invoice_list.html
+++ b/erpnext/public/js/pos/pos_invoice_list.html
@@ -1,9 +1,9 @@
 <div class="pos-list-row" invoice-name = "{{name}}">
-	<div class="list-column cell subject">
-		<input class="list-delete" type="checkbox">
-		<a class="grey list-id" title="{{ customer }}">{%= customer %}</a>
+	<div class="list-column cell subject" invoice-name = "{{name}}">
+		<input class="list-delete text-left" type="checkbox" style = "margin-right:5px">
+		<a class="grey list-id text-left customer-row" title="{{ customer }}">{%= customer %}</a>
 	</div>
-	<div class="list-column cell text-left"><span class="indicator {{data.indicator}}">{{ data.status }}</span></div>
-	<div class="list-column cell text-right">{%= paid_amount %}</div>
-	<div class="list-column cell text-right">{%= grand_total %}</div>
+	<div class="list-column cell text-left customer-row"><span class="indicator {{data.indicator}}">{{ data.status }}</span></div>
+	<div class="list-column cell text-right customer-row">{%= paid_amount %}</div>
+	<div class="list-column cell text-right customer-row">{%= grand_total %}</div>
 </div>