diff --git a/erpnext/hr/doctype/employee/employee.py b/erpnext/hr/doctype/employee/employee.py
index a8b7d8f..a2b56fc 100755
--- a/erpnext/hr/doctype/employee/employee.py
+++ b/erpnext/hr/doctype/employee/employee.py
@@ -187,20 +187,6 @@
 	target.make_earn_ded_table()
 	return target
 
-
-@frappe.whitelist()
-def make_employee(source_name, target_doc=None):
-	def set_missing_values(source, target):
-		target.personal_email = frappe.db.get_value("Job Applicant", source.job_applicant, "email_id")
-	doc = get_mapped_doc("Offer Letter", source_name, {
-			"Offer Letter": {
-				"doctype": "Employee",
-				"field_map": {
-					"applicant_name": "employee_name",
-				}}
-		}, target_doc, set_missing_values)
-	return doc
-
 def validate_employee_role(doc, method):
 	# called via User hook
 	if "Employee" in [d.role for d in doc.get("user_roles")]:
diff --git a/erpnext/hr/doctype/offer_letter/offer_letter.js b/erpnext/hr/doctype/offer_letter/offer_letter.js
index 526833a..643eaa8 100755
--- a/erpnext/hr/doctype/offer_letter/offer_letter.js
+++ b/erpnext/hr/doctype/offer_letter/offer_letter.js
@@ -18,14 +18,13 @@
 				}
 			);
 		}
-	}		
+	}
 
 });
 
-
-erpnext.offer_letter.make_employee = function(frm) { 
+erpnext.offer_letter.make_employee = function(frm) {
 	frappe.model.open_mapped_doc({
-		method: "erpnext.hr.doctype.employee.employee.make_employee",
-		frm : frm
+		method: "erpnext.hr.doctype.offer_letter.offer_letter.make_employee",
+		frm: frm
 	});
-}
\ No newline at end of file
+};
diff --git a/erpnext/hr/doctype/offer_letter/offer_letter.py b/erpnext/hr/doctype/offer_letter/offer_letter.py
index b3eb865..f347928 100644
--- a/erpnext/hr/doctype/offer_letter/offer_letter.py
+++ b/erpnext/hr/doctype/offer_letter/offer_letter.py
@@ -4,6 +4,21 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe.model.mapper import get_mapped_doc
 
 class OfferLetter(Document):
 	pass
+
+@frappe.whitelist()
+def make_employee(source_name, target_doc=None):
+	def set_missing_values(source, target):
+		target.personal_email = frappe.db.get_value("Job Applicant", source.job_applicant, "email_id")
+	doc = get_mapped_doc("Offer Letter", source_name, {
+			"Offer Letter": {
+				"doctype": "Employee",
+				"field_map": {
+					"applicant_name": "employee_name",
+				}}
+		}, target_doc, set_missing_values)
+	return doc
+
