[fix] recurring
diff --git a/erpnext/controllers/recurring_document.py b/erpnext/controllers/recurring_document.py
index d5499a3..a853e10 100644
--- a/erpnext/controllers/recurring_document.py
+++ b/erpnext/controllers/recurring_document.py
@@ -166,6 +166,9 @@
 	if doc.is_recurring:
 		validate_notification_email_id(doc)
 
+		if not doc.recurring_id:
+			doc.recurring_id = doc.name
+
 		if not doc.recurring_type:
 			msgprint(_("Please select {0}").format(doc.meta.get_label("recurring_type")),
 			raise_exception=1)
@@ -176,9 +179,6 @@
 #
 def convert_to_recurring(doc, posting_date):
     if doc.is_recurring:
-        if not doc.recurring_id:
-            frappe.db.set(doc, "recurring_id", doc.name)
-
         set_next_date(doc, posting_date)
 
     elif doc.recurring_id:
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 8c4b36d..c1e801d 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -839,6 +839,12 @@
 
 	is_recurring: function() {
 		// set default values for recurring documents
+		if(this.frm.doc.is_recurring && this.frm.doc.__islocal) {
+			frappe.msgprint(__("Please set recurring after saving"));
+			this.frm.set_value('is_recurring', 0);
+			return;
+		}
+
 		if(!this.frm.doc.recurring_id) {
 			this.frm.set_value('recurring_id', this.frm.doc.name);
 		}