diff --git a/accounts/report/budget_variance_report/budget_variance_report.py b/accounts/report/budget_variance_report/budget_variance_report.py
index f4665ec..0e241de 100644
--- a/accounts/report/budget_variance_report/budget_variance_report.py
+++ b/accounts/report/budget_variance_report/budget_variance_report.py
@@ -119,8 +119,7 @@
 			tav_dict.target = flt(ccd.budget_allocated) * month_percentage /100
 			
 			for ad in actual_details.get(ccd.name, {}).get(ccd.account, []):
-				if ad.month_name == month and ad.account == ccd.account \
-					and ad.cost_center == ccd.name:
+				if ad.month_name == month:
 						tav_dict.actual += ad.debit - ad.credit
 						
 	return cam_map
\ No newline at end of file
diff --git a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
index d2220f4..ebb2d9f 100644
--- a/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
+++ b/selling/report/sales_person_target_variance_item_group_wise/sales_person_target_variance_item_group_wise.py
@@ -121,14 +121,12 @@
 			for ad in achieved_details.get(sd.name, {}).get(sd.item_group, []):
 				if (filters["target_on"] == "Quantity"):
 					tav_dict.target = flt(sd.target_qty) * month_percentage / 100
-					if ad.month_name == month and get_item_group(ad.item_code) == sd.item_group \
-						and ad.sales_person == sd.name:
+					if ad.month_name == month:
 							tav_dict.achieved += ad.qty
 
 				if (filters["target_on"] == "Amount"):
 					tav_dict.target = flt(sd.target_amount) * month_percentage / 100
-					if ad.month_name == month and get_item_group(ad.item_code) == sd.item_group \
-						and ad.sales_person == sd.name:
+					if ad.month_name == month:
 							tav_dict.achieved += ad.amount
 
 	return sim_map
diff --git a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
index 72657f0..2aafe3c 100644
--- a/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
+++ b/selling/report/territory_target_variance_item_group_wise/territory_target_variance_item_group_wise.py
@@ -119,14 +119,12 @@
 			for ad in achieved_details.get(td.name, {}).get(td.item_group, []):
 				if (filters["target_on"] == "Quantity"):
 					tav_dict.target = flt(td.target_qty) * month_percentage / 100
-					if ad.month_name == month and get_item_group(ad.item_code) == td.item_group \
-						and ad.territory == td.name:
+					if ad.month_name == month:
 							tav_dict.achieved += ad.qty
 
 				if (filters["target_on"] == "Amount"):
 					tav_dict.target = flt(td.target_amount) * month_percentage / 100
-					if ad.month_name == month and get_item_group(ad.item_code) == td.item_group \
-						and ad.territory == td.name:
+					if ad.month_name == month:
 							tav_dict.achieved += ad.amount
 
 	return tim_map
