diff --git a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.js b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.js
index e95e260..ffba940 100644
--- a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.js
+++ b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.js
@@ -32,6 +32,20 @@
 			}, __("Make"));
 			frm.page.set_inner_btn_group_as_primary(__("Make"));
 		}
+		if (frm.doc.docstatus === 1 && frm.doc.project) {
+			frappe.call({
+				method: "erpnext.hr.utils.get_boarding_status",
+				args: {
+					"project": frm.doc.project
+				},
+				callback: function(r) {
+					if (r.message) {
+						frm.set_value('boarding_status', r.message)
+					}
+					refresh_field("boarding_status");
+				}
+			});
+		}
 
 	},
 
diff --git a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py
index fab0846..29124fc 100644
--- a/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py
+++ b/erpnext/hr/doctype/employee_onboarding/employee_onboarding.py
@@ -5,6 +5,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
+from frappe.utils import flt
 from erpnext.hr.utils import EmployeeBoardingController
 from frappe.model.mapper import get_mapped_doc
 
@@ -31,7 +32,6 @@
 	def on_cancel(self):
 		super(EmployeeOnboarding, self).on_cancel()
 
-
 @frappe.whitelist()
 def make_employee(source_name, target_doc=None):
 	doc = frappe.get_doc("Employee Onboarding", source_name)
diff --git a/erpnext/hr/doctype/employee_separation/employee_separation.js b/erpnext/hr/doctype/employee_separation/employee_separation.js
index 3383079..6ef73eb 100644
--- a/erpnext/hr/doctype/employee_separation/employee_separation.js
+++ b/erpnext/hr/doctype/employee_separation/employee_separation.js
@@ -23,6 +23,20 @@
 				frappe.set_route('List', 'Task', {project: frm.doc.project});
 			},__("View"));
 		}
+		if (frm.doc.docstatus === 1 && frm.doc.project) {
+			frappe.call({
+				method: "erpnext.hr.utils.get_boarding_status",
+				args: {
+					"project": frm.doc.project
+				},
+				callback: function(r) {
+					if (r.message) {
+						frm.set_value('boarding_status', r.message)
+					}
+					refresh_field("boarding_status");
+				}
+			});
+		}
 	},
 
 	employee_separation_template: function(frm) {
diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py
index abbf302..7a861ac 100644
--- a/erpnext/hr/utils.py
+++ b/erpnext/hr/utils.py
@@ -35,6 +35,7 @@
 				"company": self.company
 			}).insert(ignore_permissions=True)
 		self.db_set("project", project.name)
+		self.db_set("boarding_status", "Pending")
 
 		# create the task for the given project and assign to the concerned person
 		for activity in self.activities:
@@ -84,6 +85,17 @@
 		filters={"parent": parent, "parenttype": parenttype},
 		order_by= "idx")
 
+@frappe.whitelist()
+def get_boarding_status(project):
+	status = 'Pending'
+	if project:
+		doc = frappe.get_doc('Project', project)
+		if flt(doc.percent_complete) > 0.0 and flt(doc.percent_complete) < 100.0:
+			status = 'In Process'
+		elif flt(doc.percent_complete) == 100.0:
+			status = 'Completed'
+		return status
+
 def set_employee_name(doc):
 	if doc.employee and not doc.employee_name:
 		doc.employee_name = frappe.db.get_value("Employee", doc.employee, "employee_name")
