Merge branch 'develop' into fix/github-issue/29006
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index f2ee1eb..a195c57 100755
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -1009,7 +1009,7 @@
 				"{range3}-{range4}".format(
 					range3=cint(self.filters["range3"]) + 1, range4=self.filters["range4"]
 				),
-				"{range4}-{above}".format(range4=cint(self.filters["range4"]) + 1, above=_("Above")),
+				_("{range4}-Above").format(range4=cint(self.filters["range4"]) + 1),
 			]
 		):
 			self.add_column(label=label, fieldname="range" + str(i + 1))
diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
index 718b6e2..5955c2e 100644
--- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
+++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.js
@@ -75,7 +75,7 @@
 	"formatter": function (value, row, column, data, default_formatter) {
 		value = default_formatter(value, row, column, data);
 
-		if (column.fieldname.includes('variance')) {
+		if (column.fieldname.includes(__("variance"))) {
 
 			if (data[column.fieldname] < 0) {
 				value = "<span style='color:red'>" + value + "</span>";
diff --git a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
index 7b774ba..96cfab9 100644
--- a/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
+++ b/erpnext/accounts/report/budget_variance_report/budget_variance_report.py
@@ -383,8 +383,8 @@
 		"data": {
 			"labels": labels,
 			"datasets": [
-				{"name": "Budget", "chartType": "bar", "values": budget_values},
-				{"name": "Actual Expense", "chartType": "bar", "values": actual_values},
+				{"name": _("Budget"), "chartType": "bar", "values": budget_values},
+				{"name": _("Actual Expense"), "chartType": "bar", "values": actual_values},
 			],
 		},
 		"type": "bar",
diff --git a/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py b/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py
index 1eb257a..6cc86c3 100644
--- a/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py
+++ b/erpnext/accounts/report/deferred_revenue_and_expense/deferred_revenue_and_expense.py
@@ -396,7 +396,7 @@
 				"labels": [period.label for period in self.period_list],
 				"datasets": [
 					{
-						"name": "Actual Posting",
+						"name": _("Actual Posting"),
 						"chartType": "bar",
 						"values": [x.actual for x in self.period_total],
 					}
@@ -410,7 +410,7 @@
 
 		if self.filters.with_upcoming_postings:
 			chart["data"]["datasets"].append(
-				{"name": "Expected", "chartType": "line", "values": [x.total for x in self.period_total]}
+				{"name": _("Expected"), "chartType": "line", "values": [x.total for x in self.period_total]}
 			)
 
 		return chart
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index 5512d41..7e54219 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -432,7 +432,11 @@
 
 	set_values_from_purchase_doc: function(frm, doctype, purchase_doc) {
 		frm.set_value('company', purchase_doc.company);
-		frm.set_value('purchase_date', purchase_doc.posting_date);
+		if (purchase_doc.bill_date) {
+			frm.set_value('purchase_date', purchase_doc.bill_date);
+		} else {
+			frm.set_value('purchase_date', purchase_doc.posting_date);
+		}
 		const item = purchase_doc.items.find(item => item.item_code === frm.doc.item_code);
 		if (!item) {
 			doctype_field = frappe.scrub(doctype)
diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py
index e2dbf21..b9fc344 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.py
+++ b/erpnext/buying/doctype/supplier/test_supplier.py
@@ -156,6 +156,8 @@
 	def test_serach_fields_for_supplier(self):
 		from erpnext.controllers.queries import supplier_query
 
+		frappe.db.set_value("Buying Settings", None, "supp_master_name", "Naming Series")
+
 		supplier_name = create_supplier(supplier_name="Test Supplier 1").name
 
 		make_property_setter(
@@ -187,6 +189,8 @@
 		self.assertEqual(data[0].supplier_type, "Company")
 		self.assertTrue("supplier_type" in data[0])
 
+		frappe.db.set_value("Buying Settings", None, "supp_master_name", "Supplier Name")
+
 
 def create_supplier(**args):
 	args = frappe._dict(args)
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index 3bdc017..b0cf724 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -85,7 +85,7 @@
 
 	fields = ["name"]
 	if cust_master_name != "Customer Name":
-		fields = ["customer_name"]
+		fields.append("customer_name")
 
 	fields = get_fields(doctype, fields)
 	searchfields = frappe.get_meta(doctype).get_search_fields()
@@ -123,7 +123,7 @@
 
 	fields = ["name"]
 	if supp_master_name != "Supplier Name":
-		fields = ["supplier_name"]
+		fields.append("supplier_name")
 
 	fields = get_fields(doctype, fields)
 
diff --git a/erpnext/selling/doctype/customer/test_customer.py b/erpnext/selling/doctype/customer/test_customer.py
index 691adcc..a621c73 100644
--- a/erpnext/selling/doctype/customer/test_customer.py
+++ b/erpnext/selling/doctype/customer/test_customer.py
@@ -345,6 +345,8 @@
 	def test_serach_fields_for_customer(self):
 		from erpnext.controllers.queries import customer_query
 
+		frappe.db.set_value("Selling Settings", None, "cust_master_name", "Naming Series")
+
 		make_property_setter(
 			"Customer", None, "search_fields", "customer_group", "Data", for_doctype="Doctype"
 		)
@@ -369,6 +371,8 @@
 		self.assertEqual(data[0].territory, "_Test Territory")
 		self.assertTrue("territory" in data[0])
 
+		frappe.db.set_value("Selling Settings", None, "cust_master_name", "Customer Name")
+
 
 def get_customer_dict(customer_name):
 	return {
diff --git a/erpnext/selling/report/sales_analytics/sales_analytics.py b/erpnext/selling/report/sales_analytics/sales_analytics.py
index 1863528..605d2fa 100644
--- a/erpnext/selling/report/sales_analytics/sales_analytics.py
+++ b/erpnext/selling/report/sales_analytics/sales_analytics.py
@@ -313,11 +313,13 @@
 
 	def get_period(self, posting_date):
 		if self.filters.range == "Weekly":
-			period = "Week " + str(posting_date.isocalendar()[1]) + " " + str(posting_date.year)
+			period = _("Week {0} {1}").format(str(posting_date.isocalendar()[1]), str(posting_date.year))
 		elif self.filters.range == "Monthly":
-			period = str(self.months[posting_date.month - 1]) + " " + str(posting_date.year)
+			period = _(str(self.months[posting_date.month - 1])) + " " + str(posting_date.year)
 		elif self.filters.range == "Quarterly":
-			period = "Quarter " + str(((posting_date.month - 1) // 3) + 1) + " " + str(posting_date.year)
+			period = _("Quarter {0} {1}").format(
+				str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)
+			)
 		else:
 			year = get_fiscal_year(posting_date, company=self.filters.company)
 			period = str(year[0])
diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py
index 7c430e4..2fa97ae 100644
--- a/erpnext/stock/report/stock_ageing/stock_ageing.py
+++ b/erpnext/stock/report/stock_ageing/stock_ageing.py
@@ -198,11 +198,11 @@
 		f"0 - {filters['range1']}",
 		f"{cint(filters['range1']) + 1} - {cint(filters['range2'])}",
 		f"{cint(filters['range2']) + 1} - {cint(filters['range3'])}",
-		f"{cint(filters['range3']) + 1} - {_('Above')}",
+		_("{0} - Above").format(cint(filters["range3"]) + 1),
 	]
 	for i, label in enumerate(ranges):
 		fieldname = "range" + str(i + 1)
-		add_column(range_columns, label=f"Age ({label})", fieldname=fieldname)
+		add_column(range_columns, label=_("Age ({0})").format(label), fieldname=fieldname)
 
 
 def add_column(
diff --git a/erpnext/stock/report/stock_analytics/stock_analytics.py b/erpnext/stock/report/stock_analytics/stock_analytics.py
index 89ca9d9..27b94ab 100644
--- a/erpnext/stock/report/stock_analytics/stock_analytics.py
+++ b/erpnext/stock/report/stock_analytics/stock_analytics.py
@@ -114,11 +114,13 @@
 	months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
 
 	if filters.range == "Weekly":
-		period = "Week " + str(posting_date.isocalendar()[1]) + " " + str(posting_date.year)
+		period = _("Week {0} {1}").format(str(posting_date.isocalendar()[1]), str(posting_date.year))
 	elif filters.range == "Monthly":
-		period = str(months[posting_date.month - 1]) + " " + str(posting_date.year)
+		period = _(str(months[posting_date.month - 1])) + " " + str(posting_date.year)
 	elif filters.range == "Quarterly":
-		period = "Quarter " + str(((posting_date.month - 1) // 3) + 1) + " " + str(posting_date.year)
+		period = _("Quarter {0} {1}").format(
+			str(((posting_date.month - 1) // 3) + 1), str(posting_date.year)
+		)
 	else:
 		year = get_fiscal_year(posting_date, company=filters.company)
 		period = str(year[2])