diff --git a/erpnext/change_log/v6/v6.16.3.md b/erpnext/change_log/v6/v6.16.3.md
index ee0279b..7fe1ad5 100644
--- a/erpnext/change_log/v6/v6.16.3.md
+++ b/erpnext/change_log/v6/v6.16.3.md
@@ -1,4 +1,5 @@
 - Track billed status of a Delivery Note (DN) or Purchase Receipt (PR)
+	- Added new status **To Bill** and **Completed** in Delivery Note and Purchase Receipt
 	- The system looks for Invoices directly created from Delivery Note / Purchase Receipt *(Workflow: Order -> DN/PR -> Invoice)* and allocates these amounts directly to the DN/PR
 	- Next, it looks for Invoices not created from Delivery Note / Purchase Receipt, but from an Order *(Workflow: Order -> Invoice, Order -> DN/PR)* and the DN/PR is selected based on FIFO for allocating the billed amount
 - In Stock Entry, re-calculate Additional Costs and Amount on changing Quantity or Rate
diff --git a/erpnext/patches/v6_16/update_billing_status_in_dn_and_pr.py b/erpnext/patches/v6_16/update_billing_status_in_dn_and_pr.py
index 30ddf22..b660d39 100644
--- a/erpnext/patches/v6_16/update_billing_status_in_dn_and_pr.py
+++ b/erpnext/patches/v6_16/update_billing_status_in_dn_and_pr.py
@@ -10,24 +10,33 @@
 		frappe.reload_doctype(dt + " Item")
 
 	# Update billed_amt in DN and PR which are not against any order
-	for d in frappe.db.sql("""select name from `tabDelivery Note Item`
+	for d in frappe.db.sql("""select name from `tabDelivery Note Item` item
 		where (so_detail is null or so_detail = '') and docstatus=1""", as_dict=1):
-			billed_amt = frappe.db.sql("""select sum(amount) from `tabSales Invoice Item`
-				where dn_detail=%s and docstatus=1""", d.name)
-			billed_amt = billed_amt and billed_amt[0][0] or 0
-			frappe.db.set_value("Delivery Note Item", d.name, "billed_amt", billed_amt, update_modified=False)
+
+		billed_amt = frappe.db.sql("""select sum(amount) from `tabSales Invoice Item`
+			where dn_detail=%s and docstatus=1""", d.name)
+		billed_amt = billed_amt and billed_amt[0][0] or 0
+		frappe.db.set_value("Delivery Note Item", d.name, "billed_amt", billed_amt, update_modified=False)
+
+		frappe.db.commit()
 
 	# Update billed_amt in DN and PR which are not against any order
-	for d in frappe.db.sql("""select name from `tabPurchase Receipt Item`
+	for d in frappe.db.sql("""select name from `tabPurchase Receipt Item` item
 		where (prevdoc_detail_docname is null or prevdoc_detail_docname = '') and docstatus=1""", as_dict=1):
-			billed_amt = frappe.db.sql("""select sum(amount) from `tabPurchase Invoice Item`
-				where pr_detail=%s and docstatus=1""", d.name)
-			billed_amt = billed_amt and billed_amt[0][0] or 0
-			frappe.db.set_value("Purchase Receipt Item", d.name, "billed_amt", billed_amt, update_modified=False)
 
-	# Update billed amt which are against order or invoice
-	# Update billing status for all
-	for d in frappe.db.sql("select name from `tab{0}` where docstatus=1".format(dt), as_dict=1):
-		doc = frappe.get_doc(dt, d.name)
-		doc.update_billing_status(update_modified=False)
-		doc.set_status(update=True, update_modified=False)
+		billed_amt = frappe.db.sql("""select sum(amount) from `tabPurchase Invoice Item`
+			where pr_detail=%s and docstatus=1""", d.name)
+		billed_amt = billed_amt and billed_amt[0][0] or 0
+		frappe.db.set_value("Purchase Receipt Item", d.name, "billed_amt", billed_amt, update_modified=False)
+
+		frappe.db.commit()
+
+	for dt in ("Delivery Note", "Purchase Receipt"):
+		# Update billed amt which are against order or invoice
+		# Update billing status for all
+		for d in frappe.db.sql("select name from `tab{0}` where docstatus=1".format(dt), as_dict=1):
+			doc = frappe.get_doc(dt, d.name)
+			doc.update_billing_status(update_modified=False)
+			doc.set_status(update=True, update_modified=False)
+
+			frappe.db.commit()
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 2f0550e..c5a3bab 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -47,7 +47,7 @@
 				this.show_general_ledger();
 			}
 			if (this.frm.has_perm("submit") && (doc.status !== "Closed")
-				&& this.frm.doc.__onload && this.frm.doc.__onload.has_return_entry) {
+				&& this.frm.doc.__onload && !this.frm.doc.__onload.has_return_entry) {
 					cur_frm.add_custom_button(__("Close"), this.close_delivery_note)
 			}
 		}
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index 9a24eed..eec1a6d 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -61,7 +61,7 @@
 						 this.make_purchase_invoice).addClass("btn-primary");
 				}
 				if (this.frm.has_perm("submit") &&
-					this.frm.doc.__onload && this.frm.doc.__onload.has_return_entry) {
+					this.frm.doc.__onload && !this.frm.doc.__onload.has_return_entry) {
 						cur_frm.add_custom_button(__("Close"), this.close_purchase_receipt)
 				}
 			}
