diff --git a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
index 3a5f2fe..5c18d11 100644
--- a/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/employee_leave_balance.py
@@ -6,7 +6,7 @@
 
 import frappe
 from frappe import _
-from frappe.utils import add_days, date_diff, getdate
+from frappe.utils import add_days, getdate
 
 from erpnext.hr.doctype.leave_allocation.leave_allocation import get_previous_allocation
 from erpnext.hr.doctype.leave_application.leave_application import (
@@ -223,21 +223,21 @@
 	ledger = frappe.qb.DocType('Leave Ledger Entry')
 	records = (
 		frappe.qb.from_(ledger)
-			.select(
-				ledger.employee, ledger.leave_type, ledger.from_date, ledger.to_date,
-				ledger.leaves, ledger.transaction_name, ledger.transaction_type,
-				ledger.is_carry_forward, ledger.is_expired
-			).where(
-				(ledger.docstatus == 1)
-				& (ledger.transaction_type == 'Leave Allocation')
-				& (ledger.employee == employee)
-				& (ledger.leave_type == leave_type)
-				& (
-					(ledger.from_date[from_date: to_date])
-					| (ledger.to_date[from_date: to_date])
-					| ((ledger.from_date < from_date) & (ledger.to_date > to_date))
-				)
+		.select(
+			ledger.employee, ledger.leave_type, ledger.from_date, ledger.to_date,
+			ledger.leaves, ledger.transaction_name, ledger.transaction_type,
+			ledger.is_carry_forward, ledger.is_expired
+		).where(
+			(ledger.docstatus == 1)
+			& (ledger.transaction_type == 'Leave Allocation')
+			& (ledger.employee == employee)
+			& (ledger.leave_type == leave_type)
+			& (
+				(ledger.from_date[from_date: to_date])
+				| (ledger.to_date[from_date: to_date])
+				| ((ledger.from_date < from_date) & (ledger.to_date > to_date))
 			)
+		)
 	).run(as_dict=True)
 
 	return records
diff --git a/erpnext/hr/report/employee_leave_balance/test_employee_leave_balance.py b/erpnext/hr/report/employee_leave_balance/test_employee_leave_balance.py
index 05316f1..f844be5 100644
--- a/erpnext/hr/report/employee_leave_balance/test_employee_leave_balance.py
+++ b/erpnext/hr/report/employee_leave_balance/test_employee_leave_balance.py
@@ -5,22 +5,21 @@
 import unittest
 
 import frappe
-from frappe.utils import (
-	add_days,
-	add_months,
-	get_year_ending,
-	get_year_start,
-	getdate,
-	flt,
-)
+from frappe.utils import add_days, add_months, flt, get_year_ending, get_year_start, getdate
 
 from erpnext.hr.doctype.employee.test_employee import make_employee
-from erpnext.hr.report.employee_leave_balance.employee_leave_balance import execute
 from erpnext.hr.doctype.holiday_list.test_holiday_list import set_holiday_list
-from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type
-from erpnext.hr.doctype.leave_application.test_leave_application import get_first_sunday, make_allocation_record
-from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_holiday_list, make_leave_application
+from erpnext.hr.doctype.leave_application.test_leave_application import (
+	get_first_sunday,
+	make_allocation_record,
+)
 from erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry import process_expired_allocation
+from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type
+from erpnext.hr.report.employee_leave_balance.employee_leave_balance import execute
+from erpnext.payroll.doctype.salary_slip.test_salary_slip import (
+	make_holiday_list,
+	make_leave_application,
+)
 
 test_records = frappe.get_test_records('Leave Type')
 
