fix: Show all territories and items in inactive sales item report
diff --git a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js
index 36bd29e..29db227 100644
--- a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js
+++ b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.js
@@ -5,6 +5,12 @@
 frappe.query_reports["Inactive Sales Items"] = {
 	"filters": [
 		{
+			fieldname: "territory",
+			label: __("Territory"),
+			fieldtype: "Link",
+			options: "Territory"
+		},
+		{
 			fieldname: "item",
 			label: __("Item"),
 			fieldtype: "Link",
diff --git a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py
index fd169f8f..31e4471 100644
--- a/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py
+++ b/erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py
@@ -7,13 +7,11 @@
 from frappe import _
 
 def execute(filters=None):
-
 	columns = get_columns()
 	data = get_data(filters)
 	return columns, data
 
 def get_columns():
-
 	columns = [
 		{
 			"fieldname": "territory",
@@ -74,36 +72,37 @@
 
 
 def get_data(filters):
-
 	data = []
 	items = get_items(filters)
+	territories = get_territories(filters)
 	sales_invoice_data = get_sales_details(filters)
 
-	for item in items:
-		row = {
-				"item_group": item.item_group,
-				"item": item.name,
-				"item_name": item.item_name
-		}
+	for territory in territories:
+		for item in items:
+			row = {
+					"territory": territory.name,
+					"item_group": item.item_group,
+					"item": item.name,
+					"item_name": item.item_name
+			}
 
-		if sales_invoice_data.get(item.name):
-			item_obj = sales_invoice_data[item.name]
-			if item_obj.days_since_last_order > cint(filters['days']):
-				row.update({
-					"territory": item_obj.territory,
-					"customer": item_obj.customer,
-					"last_order_date": item_obj.last_order_date,
-					"qty": item_obj.qty,
-					"days_since_last_order": item_obj.days_since_last_order
-				})
+			if sales_invoice_data.get((territory.name,item.name)):
+				item_obj = sales_invoice_data[(territory.name,item.name)]
+				if item_obj.days_since_last_order > cint(filters['days']):
+					row.update({
+						"territory": item_obj.territory,
+						"customer": item_obj.customer,
+						"last_order_date": item_obj.last_order_date,
+						"qty": item_obj.qty,
+						"days_since_last_order": item_obj.days_since_last_order
+					})
 
-		data.append(row)
+			data.append(row)
 
 	return data
 
 
 def get_sales_details(filters):
-
 	data = []
 	item_details_map = {}
 
@@ -118,12 +117,21 @@
 		.format(date_field = date_field, doctype = filters['based_on']), as_dict=1)
 
 	for d in sales_data:
-		item_details_map.setdefault(d.item_name, d)
+		item_details_map.setdefault((d.territory,d.item_name), d)
 
 	return item_details_map
 
-def get_items(filters):
+def get_territories(filters):
 
+	filter_dict = {}
+	if filters.get("territory"):
+		filter_dict.update({'name': filters['territory']})
+
+	territories = frappe.get_all("Territory", fields=["name"], filters=filter_dict)
+
+	return territories
+
+def get_items(filters):
 	filters_dict = {
 		"disabled": 0,
 		"is_stock_item": 1