def METHOD_NAME(filters, dimension_list):
	company_currency = erpnext.get_company_currency(filters.company)
	acc = frappe.db.sql(
		"""
		select
			name, account_number, parent_account, lft, rgt, root_type,
			report_type, account_name, include_in_gross, account_type, is_group
		from
			`tabAccount`
		where
			company=%s
			order by lft""",
		(filters.company),
		as_dict=True,
	)
	if not acc:
		return None
	accounts, accounts_by_name, parent_children_map = filter_accounts(acc)
	min_lft, max_rgt = frappe.db.sql(
		"""select min(lft), max(rgt) from `tabAccount`
		where company=%s""",
		(filters.company),
	)[0]
	account = frappe.db.sql_list(
		"""select name from `tabAccount`
		where lft >= %s and rgt <= %s and company = %s""",
		(min_lft, max_rgt, filters.company),
	)
	gl_entries_by_account = {}
	set_gl_entries_by_account(dimension_list, filters, account, gl_entries_by_account)
	format_gl_entries(
		gl_entries_by_account, accounts_by_name, dimension_list, frappe.scrub(filters.get("dimension"))
	)
	accumulate_values_into_parents(accounts, accounts_by_name, dimension_list)
	out = prepare_data(accounts, filters, company_currency, dimension_list)
	out = filter_out_zero_value_rows(out, parent_children_map)
	return out