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 1fb8c1e..c28a5bd 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.js
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.js
@@ -30,6 +30,7 @@
 	prepare() {
 		this.set_online_status();
 		this.prepare_menu();
+		this.make_sales_invoice_frm()
 		return this.get_pos_profile();
 	}
 
@@ -108,6 +109,7 @@
 				const frm = new _f.Frm(dt, page, false);
 				const name = frappe.model.make_new_doc_and_get_name(dt, true);
 				frm.refresh(name);
+				frm.doc.items = [];
 				resolve(frm);
 			});
 		});
@@ -178,7 +180,10 @@
 			df: {
 				fieldtype: 'Link',
 				label: 'Customer',
-				options: 'Customer'
+				options: 'Customer',
+				onchange: (e) => {
+					cur_frm.set_value('customer', this.customer_field.value);
+				}
 			},
 			parent: this.wrapper.find('.customer-field'),
 			render_input: true
@@ -195,6 +200,10 @@
 			this.update_quantity(_item);
 		} else {
 			// add it to this.items
+			item['qty'] = 1;
+			this.child = cur_frm.add_child('items', item)
+			cur_frm.script_manager.trigger("item_code", this.child.doctype, this.child.name);
+
 			const _item = {
 				doc: item,
 				quantity: 1,
@@ -219,6 +228,12 @@
 	update_quantity(item) {
 		this.wrapper.find(`.list-item[data-item-name="${item.doc.item_code}"] .quantity`)
 			.text(item.quantity);
+
+			$.each(cur_frm.doc["items"] || [], function(i, d) {
+				if (d.item_code == item.doc.item_code) {
+					frappe.model.set_value(d.doctype, d.name, "qty", d.qty + 1);
+				}
+			});
 	}
 
 	remove_item(item_code) {
