diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.json b/erpnext/accounts/doctype/payment_entry/payment_entry.json
index 1fb4b7b..a335717 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.json
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -7,7 +7,7 @@
   "type_of_payment",
   "naming_series",
   "payment_type",
-  "status",
+  "payment_order_status",
   "column_break_5",
   "posting_date",
   "company",
@@ -548,14 +548,16 @@
    "options": "Bank Account"
   },
   {
-   "fieldname": "status",
+   "fieldname": "payment_order_status",
    "fieldtype": "Select",
+   "hidden": 1,
    "label": "Payment Order Status",
-   "options": "Initiated\nCompleted"
+   "options": "Initiated\nPayment Ordered",
+   "read_only": 1
   }
  ],
  "is_submittable": 1,
- "modified": "2019-05-14 17:00:48.759155",
+ "modified": "2019-05-15 15:43:29.229496",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Payment Entry",
diff --git a/erpnext/accounts/doctype/payment_order/payment_order.py b/erpnext/accounts/doctype/payment_order/payment_order.py
index 2a29293..3f3174a 100644
--- a/erpnext/accounts/doctype/payment_order/payment_order.py
+++ b/erpnext/accounts/doctype/payment_order/payment_order.py
@@ -21,8 +21,10 @@
 		if cancel:
 			status = 'Initiated'
 
+		ref_field = "status" if self.payment_order_type == "Payment Request" else "payment_order_status"
+
 		for d in self.references:
-			frappe.db.set_value(self.payment_order_type, d.get(frappe.scrub(self.payment_order_type)), 'status', status)
+			frappe.db.set_value(self.payment_order_type, d.get(frappe.scrub(self.payment_order_type)), ref_field, status)
 
 def get_mop_query(doctype, txt, searchfield, start, page_len, filters):
 	return frappe.db.sql(""" select mode_of_payment from `tabPayment Order Reference`
diff --git a/erpnext/regional/india/bank_remittance_txt.py b/erpnext/regional/india/bank_remittance.py
similarity index 94%
rename from erpnext/regional/india/bank_remittance_txt.py
rename to erpnext/regional/india/bank_remittance.py
index 289de32..85c9564 100644
--- a/erpnext/regional/india/bank_remittance_txt.py
+++ b/erpnext/regional/india/bank_remittance.py
@@ -72,7 +72,6 @@
 	batch.append(sanitize_data(doc.name, '_')[:20])
 	batch.append(format_date(doc.posting_date))
 	batch.append(validate_field_size(product_code,"Product Code", 20))
-	print(batch)
 	return "~".join(batch)
 
 def get_detail_row(ref_doc, payment_entry, company_email):
@@ -172,7 +171,7 @@
 	int_size = len(str(val).split('.')[0])
 
 	if int_size > max_int_size:
-		frappe.throw(_("Amount for a single transaction is more than maximum allowed amount, create a separate payment order by splitting the transactions"))
+		frappe.throw(_("Amount for a single transaction exceeds maximum allowed amount, create a separate payment order by splitting the transactions"))
 
 	return val
 
@@ -182,10 +181,10 @@
 		return validate_field_size(getattr(obj, attr), frappe.unscrub(attr), max_size)
 
 	else:
-		frappe.throw(_("%s is mandatory for generating remittance payments, set the field and try again" % attr))
+		frappe.throw(_("{0} is mandatory for generating remittance payments, set the field and try again".format(frappe.unscrub(attr))))
 
 def validate_field_size(val, label, max_size):
 	''' check the size of the val '''
 	if len(cstr(val)) > max_size:
-		frappe.throw("%s field is limited to size %d" % (label, max_size))
+		frappe.throw(_("{0} field is limited to size {1}".format(label, max_size)))
 	return cstr(val)
\ No newline at end of file
