diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
index 5e81999..c11c125 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
@@ -126,7 +126,7 @@
 
 	def create_leave_ledger_entry(self, submit=True):
 		if self.unused_leaves:
-			expiry_days = frappe.db.get_value("Leave Type", self.leave_type, "expire_carried_forward_leaves")
+			expiry_days = frappe.db.get_value("Leave Type", self.leave_type, "expire_carry_forwarded_leaves_after_days")
 			args = dict(
 				leaves=self.unused_leaves,
 				from_date=self.from_date,
diff --git a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
index 8f876ae..bdba8c9 100644
--- a/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/test_leave_allocation.py
@@ -97,7 +97,7 @@
 		leave_type = create_leave_type(
 			leave_type_name="_Test_CF_leave_expiry",
 			is_carry_forward=1,
-			expire_carried_forward_leaves=90)
+			expire_carry_forwarded_leaves_after_days=90)
 		leave_type.submit()
 
 		# initial leave allocation
diff --git a/erpnext/hr/doctype/leave_application/leave_application.js b/erpnext/hr/doctype/leave_application/leave_application.js
index a755b57..1746410 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.js
+++ b/erpnext/hr/doctype/leave_application/leave_application.js
@@ -49,7 +49,7 @@
 				async: false,
 				args: {
 					employee: frm.doc.employee,
-					date: frm.doc.from_date? frm.doc.from_date:frm.doc.posting_date
+					date: frm.doc.from_date || frm.doc.posting_date
 				},
 				callback: function(r) {
 					if (!r.exc && r.message['leave_allocation']) {
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 0f7bf86..ad141a5 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -415,7 +415,7 @@
 		leave_type = create_leave_type(
 			leave_type_name="_Test_CF_leave_expiry",
 			is_carry_forward=1,
-			expire_carried_forward_leaves=90)
+			expire_carry_forwarded_leaves_after_days=90)
 		leave_type.submit()
 
 		create_carry_forwarded_allocation(employee, leave_type)
@@ -516,7 +516,7 @@
 		leave_type = create_leave_type(
 			leave_type_name="_Test_CF_leave_expiry",
 			is_carry_forward=1,
-			expire_carried_forward_leaves=90)
+			expire_carry_forwarded_leaves_after_days=90)
 		leave_type.submit()
 
 		create_carry_forwarded_allocation(employee, leave_type)
@@ -548,7 +548,7 @@
 		leave_type = create_leave_type(
 			leave_type_name="_Test_CF_leave_expiry",
 			is_carry_forward=1,
-			expire_carried_forward_leaves=90)
+			expire_carry_forwarded_leaves_after_days=90)
 		leave_type.submit()
 
 		create_carry_forwarded_allocation(employee, leave_type)
diff --git a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py
index 33e4ea0..c82114e 100644
--- a/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py
+++ b/erpnext/hr/doctype/leave_ledger_entry/leave_ledger_entry.py
@@ -92,7 +92,7 @@
 
 	# fetch leave type records that has carry forwarded leaves expiry
 	leave_type_records = frappe.db.get_values("Leave Type", filters={
-			'expire_carried_forward_leaves': (">", 0)
+			'expire_carry_forwarded_leaves_after_days': (">", 0)
 		}, fieldname=['name'])
 
 	if leave_type_records:
diff --git a/erpnext/hr/doctype/leave_period/leave_period.py b/erpnext/hr/doctype/leave_period/leave_period.py
index a7de718..a8566c4 100644
--- a/erpnext/hr/doctype/leave_period/leave_period.py
+++ b/erpnext/hr/doctype/leave_period/leave_period.py
@@ -95,7 +95,7 @@
 def get_leave_type_details():
 	leave_type_details = frappe._dict()
 	leave_types = frappe.get_all("Leave Type",
-		fields=["name", "is_lwp", "is_earned_leave", "is_compensatory", "is_carry_forward", "expire_carried_forward_leaves"])
+		fields=["name", "is_lwp", "is_earned_leave", "is_compensatory", "is_carry_forward", "expire_carry_forwarded_leaves_after_days"])
 	for d in leave_types:
 		leave_type_details.setdefault(d.name, d)
 	return leave_type_details
diff --git a/erpnext/hr/doctype/leave_type/leave_type.json b/erpnext/hr/doctype/leave_type/leave_type.json
index 7a27906..36d5f8b 100644
--- a/erpnext/hr/doctype/leave_type/leave_type.json
+++ b/erpnext/hr/doctype/leave_type/leave_type.json
@@ -421,7 +421,7 @@
    "depends_on": "",
    "description": "Calculated in days",
    "fetch_if_empty": 0,
-   "fieldname": "expire_carried_forward_leaves",
+   "fieldname": "expire_carry_forwarded_leaves_after_days",
    "fieldtype": "Int",
    "hidden": 0,
    "ignore_user_permissions": 0,
@@ -430,7 +430,7 @@
    "in_global_search": 0,
    "in_list_view": 0,
    "in_standard_filter": 0,
-   "label": "Expire Carried Forward Leaves",
+   "label": "Expire Carry Forwarded Leaves After Days",
    "length": 0,
    "no_copy": 0,
    "permlevel": 0,
@@ -728,7 +728,7 @@
  "issingle": 0,
  "istable": 0,
  "max_attachments": 0,
- "modified": "2019-07-22 15:38:39.334283",
+ "modified": "2019-08-01 15:38:39.334283",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Type",
diff --git a/erpnext/hr/doctype/leave_type/test_leave_type.py b/erpnext/hr/doctype/leave_type/test_leave_type.py
index d9852be..0c4f435 100644
--- a/erpnext/hr/doctype/leave_type/test_leave_type.py
+++ b/erpnext/hr/doctype/leave_type/test_leave_type.py
@@ -19,7 +19,7 @@
         "is_earned_leave": args.is_earned_leave or 0,
         "is_lwp": args.is_lwp or 0,
         "is_carry_forward": args.is_carry_forward or 0,
-        "expire_carried_forward_leaves": args.expire_carried_forward_leaves or 0,
+        "expire_carry_forwarded_leaves_after_days": args.expire_carry_forwarded_leaves_after_days or 0,
         "encashment_threshold_days": args.encashment_threshold_days or 5,
         "earning_component": "Leave Encashment"
     })
diff --git a/erpnext/patches/v12_0/generate_leave_ledger_entries.py b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
index c1e1b4f..38f6883 100644
--- a/erpnext/patches/v12_0/generate_leave_ledger_entries.py
+++ b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
@@ -69,45 +69,18 @@
 			expire_allocation(allocation_obj)
 
 def get_allocation_records():
-	return frappe.db.sql("""
-		SELECT
-			name,
-			employee,
-			leave_type,
-			new_leaves_allocated,
-			unused_leaves,
-			from_date,
-			to_date,
-			carry_forward
-		FROM `tabLeave Allocation`
-		WHERE
-			docstatus=1
-		ORDER BY to_date ASC
-	""", as_dict=1)
+	return frappe.get_all("Leave Allocation", filters={
+		"docstatus": 1
+		}, fields=['name', 'employee', 'leave_type', 'new_leaves_allocated',
+			'unused_leaves', 'from_date', 'to_date', 'carry_forward'
+		], order_by='to_date ASC')
 
 def get_leaves_application_records():
-	return frappe.db.sql("""
-			SELECT
-				name,
-				employee,
-				leave_type,
-				total_leave_days,
-				from_date,
-				to_date
-			FROM `tabLeave Application`
-			WHERE
-				docstatus=1
-		""", as_dict=1)
+	return frappe.get_all("Leave Application", filters={
+		"docstatus": 1
+		}, fields=['name', 'employee', 'leave_type', 'total_leave_days', 'from_date', 'to_date'])
 
 def get_leave_encashment_records():
-	return frappe.db.sql("""
-			SELECT
-				name,
-				employee,
-				leave_type,
-				encashable_days,
-				encashment_date
-			FROM `tabLeave Encashment`
-			WHERE
-				docstatus=1
-		""", as_dict=1)
\ No newline at end of file
+	return frappe.get_all("Leave Encashment", filters={
+		"docstatus": 1
+		}, fields=['name', 'employee', 'leave_type', 'encashable_days', 'encashment_date'])
