diff --git a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
index 2e209d2..6be28c8 100644
--- a/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
+++ b/erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.py
@@ -1,7 +1,7 @@
 # Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
 # For license information, please see license.txt
 
-from math import ceil, floor
+from math import floor
 
 import frappe
 from dateutil.relativedelta import relativedelta
@@ -12,11 +12,18 @@
 class BisectAccountingStatements(Document):
 	@frappe.whitelist()
 	def bisect(self):
-		cur_frm_date, cur_to_date = getdate(self.from_date), getdate(self.to_date)
-		while True:
+		period_list = [(getdate(self.from_date), getdate(self.to_date))]
+		dates = []
+		while period_list:
+			cur_frm_date, cur_to_date = period_list.pop()
 			delta = cur_to_date - cur_frm_date
-			if delta.days == 0:
-				return
+			if not delta.days > 0:
+				continue
+
 			cur_floor = floor(delta.days / 2)
-			cur_to_date = cur_frm_date + relativedelta(days=+cur_floor)
-			print((cur_frm_date, cur_to_date), delta, cur_floor)
+			next_to_date = cur_frm_date + relativedelta(days=+cur_floor)
+			left = (cur_frm_date, next_to_date)
+			period_list.append(left)
+			next_frm_date = cur_frm_date + relativedelta(days=+(cur_floor + 1))
+			right = (next_frm_date, cur_to_date)
+			period_list.append(right)
