Merge pull request #36412 from pancho-s/Custom_Abbr_On_Setup

feat: Reallow customizing company abbreviation on setup.
diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py
index fb49ef3..d0940c7 100644
--- a/erpnext/accounts/deferred_revenue.py
+++ b/erpnext/accounts/deferred_revenue.py
@@ -341,7 +341,7 @@
 		"enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
 	)
 
-	accounts_frozen_upto = frappe.get_cached_value("Accounts Settings", "None", "acc_frozen_upto")
+	accounts_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
 
 	def _book_deferred_revenue_or_expense(
 		item,
diff --git a/erpnext/accounts/doctype/loyalty_program/loyalty_program.py b/erpnext/accounts/doctype/loyalty_program/loyalty_program.py
index 48a25ad..a134f74 100644
--- a/erpnext/accounts/doctype/loyalty_program/loyalty_program.py
+++ b/erpnext/accounts/doctype/loyalty_program/loyalty_program.py
@@ -141,7 +141,7 @@
 		)
 
 		if points_to_redeem > loyalty_program_details.loyalty_points:
-			frappe.throw(_("You don't have enought Loyalty Points to redeem"))
+			frappe.throw(_("You don't have enough Loyalty Points to redeem"))
 
 		loyalty_amount = flt(points_to_redeem * loyalty_program_details.conversion_factor)
 
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 21adb27..c3018cd 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -277,12 +277,14 @@
 
 			fail_message = _("Row #{0}: Allocated Amount cannot be greater than outstanding amount.")
 
-			if (flt(d.allocated_amount)) > 0 and flt(d.allocated_amount) > flt(latest.outstanding_amount):
-				frappe.throw(fail_message.format(d.idx))
-
-			if d.payment_term and (
-				(flt(d.allocated_amount)) > 0
-				and flt(d.allocated_amount) > flt(latest.payment_term_outstanding)
+			if (
+				d.payment_term
+				and (
+					(flt(d.allocated_amount)) > 0
+					and latest.payment_term_outstanding
+					and (flt(d.allocated_amount) > flt(latest.payment_term_outstanding))
+				)
+				and self.term_based_allocation_enabled_for_reference(d.reference_doctype, d.reference_name)
 			):
 				frappe.throw(
 					_(
@@ -292,6 +294,9 @@
 					)
 				)
 
+			if (flt(d.allocated_amount)) > 0 and flt(d.allocated_amount) > flt(latest.outstanding_amount):
+				frappe.throw(fail_message.format(d.idx))
+
 			# Check for negative outstanding invoices as well
 			if flt(d.allocated_amount) < 0 and flt(d.allocated_amount) < flt(latest.outstanding_amount):
 				frappe.throw(fail_message.format(d.idx))
diff --git a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
index c6e93f3..dc44fc3 100644
--- a/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/test_payment_entry.py
@@ -1156,6 +1156,52 @@
 		si3.cancel()
 		si3.delete()
 
+	@change_settings(
+		"Accounts Settings",
+		{
+			"unlink_payment_on_cancellation_of_invoice": 1,
+			"delete_linked_ledger_entries": 1,
+			"allow_multi_currency_invoices_against_single_party_account": 1,
+		},
+	)
+	def test_overallocation_validation_shouldnt_misfire(self):
+		"""
+		Overallocation validation shouldn't fire for Template without "Allocate Payment based on Payment Terms" enabled
+
+		"""
+		customer = create_customer()
+		create_payment_terms_template()
+
+		template = frappe.get_doc("Payment Terms Template", "Test Receivable Template")
+		template.allocate_payment_based_on_payment_terms = 0
+		template.save()
+
+		# Validate allocation on base/company currency
+		si = create_sales_invoice(do_not_save=1, qty=1, rate=200)
+		si.payment_terms_template = "Test Receivable Template"
+		si.save().submit()
+
+		si.reload()
+		pe = get_payment_entry(si.doctype, si.name).save()
+		# There will no term based allocation
+		self.assertEqual(len(pe.references), 1)
+		self.assertEqual(pe.references[0].payment_term, None)
+		self.assertEqual(flt(pe.references[0].allocated_amount), flt(si.grand_total))
+		pe.save()
+
+		# specify a term
+		pe.references[0].payment_term = template.terms[0].payment_term
+		# no validation error should be thrown
+		pe.save()
+
+		pe.paid_amount = si.grand_total + 1
+		pe.references[0].allocated_amount = si.grand_total + 1
+		self.assertRaises(frappe.ValidationError, pe.save)
+
+		template = frappe.get_doc("Payment Terms Template", "Test Receivable Template")
+		template.allocate_payment_based_on_payment_terms = 1
+		template.save()
+
 
 def create_payment_entry(**args):
 	payment_entry = frappe.new_doc("Payment Entry")
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 230a8b3..96ba783 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -229,7 +229,7 @@
 		)
 
 		if (
-			cint(frappe.get_cached_value("Buying Settings", "None", "maintain_same_rate"))
+			cint(frappe.db.get_single_value("Buying Settings", "maintain_same_rate"))
 			and not self.is_return
 			and not self.is_internal_supplier
 		):
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index f5ee228..b0cc8ca 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -32,6 +32,7 @@
 	reset_depreciation_schedule,
 	reverse_depreciation_entry_made_after_disposal,
 )
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.controllers.accounts_controller import validate_account_head
 from erpnext.controllers.selling_controller import SellingController
 from erpnext.projects.doctype.timesheet.timesheet import get_projectwise_timesheet_data
@@ -1176,12 +1177,13 @@
 							self.get("posting_date"),
 						)
 						asset.db_set("disposal_date", None)
+						add_asset_activity(asset.name, _("Asset returned"))
 
 						if asset.calculate_depreciation:
 							posting_date = frappe.db.get_value("Sales Invoice", self.return_against, "posting_date")
 							reverse_depreciation_entry_made_after_disposal(asset, posting_date)
 							notes = _(
-								"This schedule was created when Asset {0} was returned after being sold through Sales Invoice {1}."
+								"This schedule was created when Asset {0} was returned through Sales Invoice {1}."
 							).format(
 								get_link_to_form(asset.doctype, asset.name),
 								get_link_to_form(self.doctype, self.get("name")),
@@ -1209,6 +1211,7 @@
 							self.get("posting_date"),
 						)
 						asset.db_set("disposal_date", self.posting_date)
+						add_asset_activity(asset.name, _("Asset sold"))
 
 					for gle in fixed_asset_gl_entries:
 						gle["against"] = self.customer
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 41e5554..e8445aa 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -3371,6 +3371,13 @@
 
 		set_advance_flag(company="_Test Company", flag=0, default_account="")
 
+	def test_sales_return_negative_rate(self):
+		si = create_sales_invoice(is_return=1, qty=-2, rate=-10, do_not_save=True)
+		self.assertRaises(frappe.ValidationError, si.save)
+
+		si.items[0].rate = 10
+		si.save()
+
 
 def set_advance_flag(company, flag, default_account):
 	frappe.db.set_value(
diff --git a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
index 7c2ebe1..f1e665a 100644
--- a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
+++ b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
@@ -654,7 +654,7 @@
 				& (gle.posting_date <= to_date)
 				& (account.lft >= root_lft)
 				& (account.rgt <= root_rgt)
-				& (account.root_type <= root_type)
+				& (account.root_type == root_type)
 			)
 			.orderby(gle.account, gle.posting_date)
 		)
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index a97ea73..0a2f61d 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -207,34 +207,39 @@
 	},
 
 	render_depreciation_schedule_view: function(frm, depr_schedule) {
-		var wrapper = $(frm.fields_dict["depreciation_schedule_view"].wrapper).empty();
+		let wrapper = $(frm.fields_dict["depreciation_schedule_view"].wrapper).empty();
 
-		let table = $(`<table class="table table-bordered" style="margin-top:0px;">
-			<thead>
-				<tr>
-					<td align="center">${__("No.")}</td>
-					<td>${__("Schedule Date")}</td>
-					<td align="right">${__("Depreciation Amount")}</td>
-					<td align="right">${__("Accumulated Depreciation Amount")}</td>
-					<td>${__("Journal Entry")}</td>
-				</tr>
-			</thead>
-			<tbody></tbody>
-		</table>`);
+		let data = [];
 
 		depr_schedule.forEach((sch) => {
-			const row = $(`<tr>
-				<td align="center">${sch['idx']}</td>
-				<td><b>${frappe.format(sch['schedule_date'], { fieldtype: 'Date' })}</b></td>
-				<td><b>${frappe.format(sch['depreciation_amount'], { fieldtype: 'Currency' })}</b></td>
-				<td>${frappe.format(sch['accumulated_depreciation_amount'], { fieldtype: 'Currency' })}</td>
-				<td><a href="/app/journal-entry/${sch['journal_entry'] || ''}">${sch['journal_entry'] || ''}</a></td>
-			</tr>`);
-			table.find("tbody").append(row);
+			const row = [
+				sch['idx'],
+				frappe.format(sch['schedule_date'], { fieldtype: 'Date' }),
+				frappe.format(sch['depreciation_amount'], { fieldtype: 'Currency' }),
+				frappe.format(sch['accumulated_depreciation_amount'], { fieldtype: 'Currency' }),
+				sch['journal_entry'] || ''
+			];
+			data.push(row);
 		});
 
-		wrapper.append(table);
+		let datatable = new frappe.DataTable(wrapper.get(0), {
+			columns: [
+				{name: __("No."), editable: false, resizable: false, format: value => value, width: 60},
+				{name: __("Schedule Date"), editable: false, resizable: false, width: 270},
+				{name: __("Depreciation Amount"), editable: false, resizable: false, width: 164},
+				{name: __("Accumulated Depreciation Amount"), editable: false, resizable: false, width: 164},
+				{name: __("Journal Entry"), editable: false, resizable: false, format: value => `<a href="/app/journal-entry/${value}">${value}</a>`, width: 312}
+			],
+			data: data,
+			serialNoColumn: false,
+			checkboxColumn: true,
+			cellHeight: 35
+		});
 
+		datatable.style.setStyle(`.dt-scrollable`, {'font-size': '0.75rem', 'margin-bottom': '1rem'});
+		datatable.style.setStyle(`.dt-cell--col-1`, {'text-align': 'center'});
+		datatable.style.setStyle(`.dt-cell--col-2`, {'font-weight': 600});
+		datatable.style.setStyle(`.dt-cell--col-3`, {'font-weight': 600});
 	},
 
 	setup_chart_and_depr_schedule_view: async function(frm) {
diff --git a/erpnext/assets/doctype/asset/asset.json b/erpnext/assets/doctype/asset/asset.json
index 698fc78..befb524 100644
--- a/erpnext/assets/doctype/asset/asset.json
+++ b/erpnext/assets/doctype/asset/asset.json
@@ -43,6 +43,7 @@
   "column_break_33",
   "opening_accumulated_depreciation",
   "number_of_depreciations_booked",
+  "is_fully_depreciated",
   "section_break_36",
   "finance_books",
   "section_break_33",
@@ -205,6 +206,7 @@
    "fieldname": "disposal_date",
    "fieldtype": "Date",
    "label": "Disposal Date",
+   "no_copy": 1,
    "read_only": 1
   },
   {
@@ -244,19 +246,17 @@
    "label": "Is Existing Asset"
   },
   {
-   "depends_on": "is_existing_asset",
+   "depends_on": "eval:(doc.is_existing_asset)",
    "fieldname": "opening_accumulated_depreciation",
    "fieldtype": "Currency",
    "label": "Opening Accumulated Depreciation",
-   "no_copy": 1,
    "options": "Company:company:default_currency"
   },
   {
-   "depends_on": "eval:(doc.is_existing_asset && doc.opening_accumulated_depreciation)",
+   "depends_on": "eval:(doc.is_existing_asset)",
    "fieldname": "number_of_depreciations_booked",
    "fieldtype": "Int",
-   "label": "Number of Depreciations Booked",
-   "no_copy": 1
+   "label": "Number of Depreciations Booked"
   },
   {
    "collapsible": 1,
@@ -500,6 +500,13 @@
    "fieldtype": "HTML",
    "hidden": 1,
    "label": "Depreciation Schedule View"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval:(doc.is_existing_asset)",
+   "fieldname": "is_fully_depreciated",
+   "fieldtype": "Check",
+   "label": "Is Fully Depreciated"
   }
  ],
  "idx": 72,
@@ -527,13 +534,18 @@
    "link_fieldname": "asset"
   },
   {
+   "group": "Activity",
+   "link_doctype": "Asset Activity",
+   "link_fieldname": "asset"
+  },
+  {
    "group": "Journal Entry",
    "link_doctype": "Journal Entry",
    "link_fieldname": "reference_name",
    "table_fieldname": "accounts"
   }
  ],
- "modified": "2023-07-26 13:33:36.821534",
+ "modified": "2023-07-28 20:12:44.819616",
  "modified_by": "Administrator",
  "module": "Assets",
  "name": "Asset",
@@ -577,4 +589,4 @@
  "states": [],
  "title_field": "asset_name",
  "track_changes": 1
-}
\ No newline at end of file
+}
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index 5d35808..04ec7be 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -25,6 +25,7 @@
 	get_depreciation_accounts,
 	get_disposal_account_and_cost_center,
 )
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
 from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
 	cancel_asset_depr_schedules,
@@ -59,7 +60,7 @@
 		self.make_asset_movement()
 		if not self.booked_fixed_asset and self.validate_make_gl_entry():
 			self.make_gl_entries()
-		if not self.split_from:
+		if self.calculate_depreciation and not self.split_from:
 			asset_depr_schedules_names = make_draft_asset_depr_schedules_if_not_present(self)
 			convert_draft_asset_depr_schedules_into_active(self)
 			if asset_depr_schedules_names:
@@ -71,6 +72,7 @@
 						"Asset Depreciation Schedules created:<br>{0}<br><br>Please check, edit if needed, and submit the Asset."
 					).format(asset_depr_schedules_links)
 				)
+		add_asset_activity(self.name, _("Asset submitted"))
 
 	def on_cancel(self):
 		self.validate_cancellation()
@@ -81,9 +83,10 @@
 		self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry")
 		make_reverse_gl_entries(voucher_type="Asset", voucher_no=self.name)
 		self.db_set("booked_fixed_asset", 0)
+		add_asset_activity(self.name, _("Asset cancelled"))
 
 	def after_insert(self):
-		if not self.split_from:
+		if self.calculate_depreciation and not self.split_from:
 			asset_depr_schedules_names = make_draft_asset_depr_schedules(self)
 			asset_depr_schedules_links = get_comma_separated_links(
 				asset_depr_schedules_names, "Asset Depreciation Schedule"
@@ -93,6 +96,16 @@
 					"Asset Depreciation Schedules created:<br>{0}<br><br>Please check, edit if needed, and submit the Asset."
 				).format(asset_depr_schedules_links)
 			)
+		if not frappe.db.exists(
+			{
+				"doctype": "Asset Activity",
+				"asset": self.name,
+			}
+		):
+			add_asset_activity(self.name, _("Asset created"))
+
+	def after_delete(self):
+		add_asset_activity(self.name, _("Asset deleted"))
 
 	def validate_asset_and_reference(self):
 		if self.purchase_invoice or self.purchase_receipt:
@@ -135,17 +148,33 @@
 			frappe.throw(_("Item {0} must be a non-stock item").format(self.item_code))
 
 	def validate_cost_center(self):
-		if not self.cost_center:
-			return
-
-		cost_center_company = frappe.db.get_value("Cost Center", self.cost_center, "company")
-		if cost_center_company != self.company:
-			frappe.throw(
-				_("Selected Cost Center {} doesn't belongs to {}").format(
-					frappe.bold(self.cost_center), frappe.bold(self.company)
-				),
-				title=_("Invalid Cost Center"),
+		if self.cost_center:
+			cost_center_company, cost_center_is_group = frappe.db.get_value(
+				"Cost Center", self.cost_center, ["company", "is_group"]
 			)
+			if cost_center_company != self.company:
+				frappe.throw(
+					_("Cost Center {} doesn't belong to Company {}").format(
+						frappe.bold(self.cost_center), frappe.bold(self.company)
+					),
+					title=_("Invalid Cost Center"),
+				)
+			if cost_center_is_group:
+				frappe.throw(
+					_(
+						"Cost Center {} is a group cost center and group cost centers cannot be used in transactions"
+					).format(frappe.bold(self.cost_center)),
+					title=_("Invalid Cost Center"),
+				)
+
+		else:
+			if not frappe.get_cached_value("Company", self.company, "depreciation_cost_center"):
+				frappe.throw(
+					_(
+						"Please set a Cost Center for the Asset or set an Asset Depreciation Cost Center for the Company {}"
+					).format(frappe.bold(self.company)),
+					title=_("Missing Cost Center"),
+				)
 
 	def validate_in_use_date(self):
 		if not self.available_for_use_date:
@@ -194,8 +223,11 @@
 
 		if not self.calculate_depreciation:
 			return
-		elif not self.finance_books:
-			frappe.throw(_("Enter depreciation details"))
+		else:
+			if not self.finance_books:
+				frappe.throw(_("Enter depreciation details"))
+			if self.is_fully_depreciated:
+				frappe.throw(_("Depreciation cannot be calculated for fully depreciated assets"))
 
 		if self.is_existing_asset:
 			return
@@ -276,7 +308,7 @@
 			depreciable_amount = flt(self.gross_purchase_amount) - flt(row.expected_value_after_useful_life)
 			if flt(self.opening_accumulated_depreciation) > depreciable_amount:
 				frappe.throw(
-					_("Opening Accumulated Depreciation must be less than equal to {0}").format(
+					_("Opening Accumulated Depreciation must be less than or equal to {0}").format(
 						depreciable_amount
 					)
 				)
@@ -412,7 +444,9 @@
 					expected_value_after_useful_life = self.finance_books[idx].expected_value_after_useful_life
 					value_after_depreciation = self.finance_books[idx].value_after_depreciation
 
-				if flt(value_after_depreciation) <= expected_value_after_useful_life:
+				if (
+					flt(value_after_depreciation) <= expected_value_after_useful_life or self.is_fully_depreciated
+				):
 					status = "Fully Depreciated"
 				elif flt(value_after_depreciation) < flt(self.gross_purchase_amount):
 					status = "Partially Depreciated"
@@ -898,6 +932,13 @@
 		},
 	)
 
+	add_asset_activity(
+		asset.name,
+		_("Asset updated after being split into Asset {0}").format(
+			get_link_to_form("Asset", new_asset_name)
+		),
+	)
+
 	for row in asset.get("finance_books"):
 		value_after_depreciation = flt(
 			(row.value_after_depreciation * remaining_qty) / asset.asset_quantity
@@ -965,6 +1006,15 @@
 			(row.expected_value_after_useful_life * split_qty) / asset.asset_quantity
 		)
 
+	new_asset.insert()
+
+	add_asset_activity(
+		new_asset.name,
+		_("Asset created after being split from Asset {0}").format(
+			get_link_to_form("Asset", asset.name)
+		),
+	)
+
 	new_asset.submit()
 	new_asset.set_status()
 
diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py
index e1431ea..0588065 100644
--- a/erpnext/assets/doctype/asset/depreciation.py
+++ b/erpnext/assets/doctype/asset/depreciation.py
@@ -21,6 +21,7 @@
 	get_checks_for_pl_and_bs_accounts,
 )
 from erpnext.accounts.doctype.journal_entry.journal_entry import make_reverse_journal_entry
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
 	get_asset_depr_schedule_doc,
 	get_asset_depr_schedule_name,
@@ -325,6 +326,8 @@
 	frappe.db.set_value("Asset", asset_name, "journal_entry_for_scrap", je.name)
 	asset.set_status("Scrapped")
 
+	add_asset_activity(asset_name, _("Asset scrapped"))
+
 	frappe.msgprint(_("Asset scrapped via Journal Entry {0}").format(je.name))
 
 
@@ -349,6 +352,8 @@
 
 	asset.set_status()
 
+	add_asset_activity(asset_name, _("Asset restored"))
+
 
 def depreciate_asset(asset_doc, date, notes):
 	asset_doc.flags.ignore_validate_update_after_submit = True
@@ -398,6 +403,15 @@
 
 					reverse_journal_entry = make_reverse_journal_entry(schedule.journal_entry)
 					reverse_journal_entry.posting_date = nowdate()
+
+					for account in reverse_journal_entry.accounts:
+						account.update(
+							{
+								"reference_type": "Asset",
+								"reference_name": asset.name,
+							}
+						)
+
 					frappe.flags.is_reverse_depr_entry = True
 					reverse_journal_entry.submit()
 
diff --git a/erpnext/assets/doctype/asset_activity/__init__.py b/erpnext/assets/doctype/asset_activity/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/assets/doctype/asset_activity/__init__.py
diff --git a/erpnext/assets/doctype/asset_activity/asset_activity.js b/erpnext/assets/doctype/asset_activity/asset_activity.js
new file mode 100644
index 0000000..38d3434
--- /dev/null
+++ b/erpnext/assets/doctype/asset_activity/asset_activity.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+// frappe.ui.form.on("Asset Activity", {
+// 	refresh(frm) {
+
+// 	},
+// });
diff --git a/erpnext/assets/doctype/asset_activity/asset_activity.json b/erpnext/assets/doctype/asset_activity/asset_activity.json
new file mode 100644
index 0000000..476fb27
--- /dev/null
+++ b/erpnext/assets/doctype/asset_activity/asset_activity.json
@@ -0,0 +1,109 @@
+{
+ "actions": [],
+ "creation": "2023-07-28 12:41:13.232505",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "asset",
+  "column_break_vkdy",
+  "date",
+  "column_break_kkxv",
+  "user",
+  "section_break_romx",
+  "subject"
+ ],
+ "fields": [
+  {
+   "fieldname": "asset",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Asset",
+   "options": "Asset",
+   "print_width": "165",
+   "read_only": 1,
+   "reqd": 1,
+   "width": "165"
+  },
+  {
+   "fieldname": "column_break_vkdy",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "section_break_romx",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "subject",
+   "fieldtype": "Small Text",
+   "in_list_view": 1,
+   "label": "Subject",
+   "print_width": "518",
+   "read_only": 1,
+   "reqd": 1,
+   "width": "518"
+  },
+  {
+   "default": "now",
+   "fieldname": "date",
+   "fieldtype": "Datetime",
+   "in_list_view": 1,
+   "label": "Date",
+   "print_width": "158",
+   "read_only": 1,
+   "reqd": 1,
+   "width": "158"
+  },
+  {
+   "fieldname": "user",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "User",
+   "options": "User",
+   "print_width": "150",
+   "read_only": 1,
+   "reqd": 1,
+   "width": "150"
+  },
+  {
+   "fieldname": "column_break_kkxv",
+   "fieldtype": "Column Break"
+  }
+ ],
+ "in_create": 1,
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2023-08-01 11:09:52.584482",
+ "modified_by": "Administrator",
+ "module": "Assets",
+ "name": "Asset Activity",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "email": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1
+  },
+  {
+   "email": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Accounts User",
+   "share": 1
+  },
+  {
+   "email": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Quality Manager",
+   "share": 1
+  }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/erpnext/assets/doctype/asset_activity/asset_activity.py b/erpnext/assets/doctype/asset_activity/asset_activity.py
new file mode 100644
index 0000000..28e1b3e
--- /dev/null
+++ b/erpnext/assets/doctype/asset_activity/asset_activity.py
@@ -0,0 +1,20 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe.model.document import Document
+
+
+class AssetActivity(Document):
+	pass
+
+
+def add_asset_activity(asset, subject):
+	frappe.get_doc(
+		{
+			"doctype": "Asset Activity",
+			"asset": asset,
+			"subject": subject,
+			"user": frappe.session.user,
+		}
+	).insert(ignore_permissions=True, ignore_links=True)
diff --git a/erpnext/assets/doctype/asset_activity/test_asset_activity.py b/erpnext/assets/doctype/asset_activity/test_asset_activity.py
new file mode 100644
index 0000000..7a21559
--- /dev/null
+++ b/erpnext/assets/doctype/asset_activity/test_asset_activity.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+
+# import frappe
+from frappe.tests.utils import FrappeTestCase
+
+
+class TestAssetActivity(FrappeTestCase):
+	pass
diff --git a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
index a883bec..858c1db 100644
--- a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
+++ b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
@@ -18,6 +18,7 @@
 	reset_depreciation_schedule,
 	reverse_depreciation_entry_made_after_disposal,
 )
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.assets.doctype.asset_category.asset_category import get_asset_category_account
 from erpnext.controllers.stock_controller import StockController
 from erpnext.setup.doctype.brand.brand import get_brand_defaults
@@ -519,6 +520,13 @@
 			"fixed_asset_account", item=self.target_item_code, company=asset_doc.company
 		)
 
+		add_asset_activity(
+			asset_doc.name,
+			_("Asset created after Asset Capitalization {0} was submitted").format(
+				get_link_to_form("Asset Capitalization", self.name)
+			),
+		)
+
 		frappe.msgprint(
 			_(
 				"Asset {0} has been created. Please set the depreciation details if any and submit it."
@@ -542,9 +550,30 @@
 
 	def set_consumed_asset_status(self, asset):
 		if self.docstatus == 1:
-			asset.set_status("Capitalized" if self.target_is_fixed_asset else "Decapitalized")
+			if self.target_is_fixed_asset:
+				asset.set_status("Capitalized")
+				add_asset_activity(
+					asset.name,
+					_("Asset capitalized after Asset Capitalization {0} was submitted").format(
+						get_link_to_form("Asset Capitalization", self.name)
+					),
+				)
+			else:
+				asset.set_status("Decapitalized")
+				add_asset_activity(
+					asset.name,
+					_("Asset decapitalized after Asset Capitalization {0} was submitted").format(
+						get_link_to_form("Asset Capitalization", self.name)
+					),
+				)
 		else:
 			asset.set_status()
+			add_asset_activity(
+				asset.name,
+				_("Asset restored after Asset Capitalization {0} was cancelled").format(
+					get_link_to_form("Asset Capitalization", self.name)
+				),
+			)
 
 
 @frappe.whitelist()
diff --git a/erpnext/assets/doctype/asset_movement/asset_movement.py b/erpnext/assets/doctype/asset_movement/asset_movement.py
index b85f719..620aad8 100644
--- a/erpnext/assets/doctype/asset_movement/asset_movement.py
+++ b/erpnext/assets/doctype/asset_movement/asset_movement.py
@@ -5,6 +5,9 @@
 import frappe
 from frappe import _
 from frappe.model.document import Document
+from frappe.utils import get_link_to_form
+
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 
 
 class AssetMovement(Document):
@@ -128,5 +131,24 @@
 				current_location = latest_movement_entry[0][0]
 				current_employee = latest_movement_entry[0][1]
 
-			frappe.db.set_value("Asset", d.asset, "location", current_location)
-			frappe.db.set_value("Asset", d.asset, "custodian", current_employee)
+			frappe.db.set_value("Asset", d.asset, "location", current_location, update_modified=False)
+			frappe.db.set_value("Asset", d.asset, "custodian", current_employee, update_modified=False)
+
+			if current_location and current_employee:
+				add_asset_activity(
+					d.asset,
+					_("Asset received at Location {0} and issued to Employee {1}").format(
+						get_link_to_form("Location", current_location),
+						get_link_to_form("Employee", current_employee),
+					),
+				)
+			elif current_location:
+				add_asset_activity(
+					d.asset,
+					_("Asset transferred to Location {0}").format(get_link_to_form("Location", current_location)),
+				)
+			elif current_employee:
+				add_asset_activity(
+					d.asset,
+					_("Asset issued to Employee {0}").format(get_link_to_form("Employee", current_employee)),
+				)
diff --git a/erpnext/assets/doctype/asset_repair/asset_repair.py b/erpnext/assets/doctype/asset_repair/asset_repair.py
index f649e51..7e95cb2 100644
--- a/erpnext/assets/doctype/asset_repair/asset_repair.py
+++ b/erpnext/assets/doctype/asset_repair/asset_repair.py
@@ -8,6 +8,7 @@
 import erpnext
 from erpnext.accounts.general_ledger import make_gl_entries
 from erpnext.assets.doctype.asset.asset import get_asset_account
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
 	get_depr_schedule,
 	make_new_active_asset_depr_schedules_and_cancel_current_ones,
@@ -25,8 +26,14 @@
 		self.calculate_total_repair_cost()
 
 	def update_status(self):
-		if self.repair_status == "Pending":
+		if self.repair_status == "Pending" and self.asset_doc.status != "Out of Order":
 			frappe.db.set_value("Asset", self.asset, "status", "Out of Order")
+			add_asset_activity(
+				self.asset,
+				_("Asset out of order due to Asset Repair {0}").format(
+					get_link_to_form("Asset Repair", self.name)
+				),
+			)
 		else:
 			self.asset_doc.set_status()
 
@@ -68,6 +75,13 @@
 			make_new_active_asset_depr_schedules_and_cancel_current_ones(self.asset_doc, notes)
 			self.asset_doc.save()
 
+			add_asset_activity(
+				self.asset,
+				_("Asset updated after completion of Asset Repair {0}").format(
+					get_link_to_form("Asset Repair", self.name)
+				),
+			)
+
 	def before_cancel(self):
 		self.asset_doc = frappe.get_doc("Asset", self.asset)
 
@@ -95,6 +109,13 @@
 			make_new_active_asset_depr_schedules_and_cancel_current_ones(self.asset_doc, notes)
 			self.asset_doc.save()
 
+			add_asset_activity(
+				self.asset,
+				_("Asset updated after cancellation of Asset Repair {0}").format(
+					get_link_to_form("Asset Repair", self.name)
+				),
+			)
+
 	def after_delete(self):
 		frappe.get_doc("Asset", self.asset).set_status()
 
diff --git a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
index 8426ed4..a1f0473 100644
--- a/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
+++ b/erpnext/assets/doctype/asset_value_adjustment/asset_value_adjustment.py
@@ -12,6 +12,7 @@
 )
 from erpnext.assets.doctype.asset.asset import get_asset_value_after_depreciation
 from erpnext.assets.doctype.asset.depreciation import get_depreciation_accounts
+from erpnext.assets.doctype.asset_activity.asset_activity import add_asset_activity
 from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_schedule import (
 	get_asset_depr_schedule_doc,
 	get_depreciation_amount,
@@ -27,9 +28,21 @@
 	def on_submit(self):
 		self.make_depreciation_entry()
 		self.reschedule_depreciations(self.new_asset_value)
+		add_asset_activity(
+			self.asset,
+			_("Asset's value adjusted after submission of Asset Value Adjustment {0}").format(
+				get_link_to_form("Asset Value Adjustment", self.name)
+			),
+		)
 
 	def on_cancel(self):
 		self.reschedule_depreciations(self.current_asset_value)
+		add_asset_activity(
+			self.asset,
+			_("Asset's value adjusted after cancellation of Asset Value Adjustment {0}").format(
+				get_link_to_form("Asset Value Adjustment", self.name)
+			),
+		)
 
 	def validate_date(self):
 		asset_purchase_date = frappe.db.get_value("Asset", self.asset, "purchase_date")
@@ -74,12 +87,16 @@
 			"account": accumulated_depreciation_account,
 			"credit_in_account_currency": self.difference_amount,
 			"cost_center": depreciation_cost_center or self.cost_center,
+			"reference_type": "Asset",
+			"reference_name": self.asset,
 		}
 
 		debit_entry = {
 			"account": depreciation_expense_account,
 			"debit_in_account_currency": self.difference_amount,
 			"cost_center": depreciation_cost_center or self.cost_center,
+			"reference_type": "Asset",
+			"reference_name": self.asset,
 		}
 
 		accounting_dimensions = get_checks_for_pl_and_bs_accounts()
diff --git a/erpnext/assets/report/asset_activity/__init__.py b/erpnext/assets/report/asset_activity/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/assets/report/asset_activity/__init__.py
diff --git a/erpnext/assets/report/asset_activity/asset_activity.json b/erpnext/assets/report/asset_activity/asset_activity.json
new file mode 100644
index 0000000..cc46775
--- /dev/null
+++ b/erpnext/assets/report/asset_activity/asset_activity.json
@@ -0,0 +1,33 @@
+{
+ "add_total_row": 0,
+ "columns": [],
+ "creation": "2023-08-01 11:14:46.581234",
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Report",
+ "filters": [],
+ "idx": 0,
+ "is_standard": "Yes",
+ "json": "{}",
+ "letterhead": null,
+ "modified": "2023-08-01 11:14:46.581234",
+ "modified_by": "Administrator",
+ "module": "Assets",
+ "name": "Asset Activity",
+ "owner": "Administrator",
+ "prepared_report": 0,
+ "ref_doctype": "Asset Activity",
+ "report_name": "Asset Activity",
+ "report_type": "Report Builder",
+ "roles": [
+  {
+   "role": "System Manager"
+  },
+  {
+   "role": "Accounts User"
+  },
+  {
+   "role": "Quality Manager"
+  }
+ ]
+}
\ No newline at end of file
diff --git a/erpnext/assets/workspace/assets/assets.json b/erpnext/assets/workspace/assets/assets.json
index d810eff..c6b321e 100644
--- a/erpnext/assets/workspace/assets/assets.json
+++ b/erpnext/assets/workspace/assets/assets.json
@@ -183,6 +183,17 @@
    "link_type": "Report",
    "onboard": 0,
    "type": "Link"
+  },
+  {
+   "dependencies": "Asset Activity",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Asset Activity",
+   "link_count": 0,
+   "link_to": "Asset Activity",
+   "link_type": "Report",
+   "onboard": 0,
+   "type": "Link"
   }
  ],
  "modified": "2023-05-24 14:47:20.243146",
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 58cab14..a4bc4a9 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -233,6 +233,9 @@
 				if hasattr(d, "qty") and d.qty > 0 and self.get("is_return"):
 					frappe.throw(_("For an item {0}, quantity must be negative number").format(d.item_code))
 
+				if hasattr(d, "item_code") and hasattr(d, "rate") and d.rate < 0:
+					frappe.throw(_("For an item {0}, rate must be a positive number").format(d.item_code))
+
 				if d.doctype == args["source_dt"] and d.get(args["join_field"]):
 					args["name"] = d.get(args["join_field"])
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 45b3f1d..ca669f6 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -50,7 +50,7 @@
 		super(SalesOrder, self).__init__(*args, **kwargs)
 
 	def onload(self) -> None:
-		if frappe.get_cached_value("Stock Settings", None, "enable_stock_reservation"):
+		if frappe.db.get_single_value("Stock Settings", "enable_stock_reservation"):
 			if self.has_unreserved_stock():
 				self.set_onload("has_unreserved_stock", True)
 
diff --git a/erpnext/stock/doctype/price_list/price_list.py b/erpnext/stock/doctype/price_list/price_list.py
index 554055f..e77d53a 100644
--- a/erpnext/stock/doctype/price_list/price_list.py
+++ b/erpnext/stock/doctype/price_list/price_list.py
@@ -45,7 +45,7 @@
 
 		doc_before_save = self.get_doc_before_save()
 		currency_changed = self.currency != doc_before_save.currency
-		affects_cart = self.name == frappe.get_cached_value("E Commerce Settings", None, "price_list")
+		affects_cart = self.name == frappe.db.get_single_value("E Commerce Settings", "price_list")
 
 		if currency_changed and affects_cart:
 			validate_cart_settings()
diff --git a/erpnext/translations/af.csv b/erpnext/translations/af.csv
index 35ccbb6..417f1ec 100644
--- a/erpnext/translations/af.csv
+++ b/erpnext/translations/af.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Jy kan nie projektipe &#39;eksterne&#39; uitvee nie,
 You cannot edit root node.,U kan nie wortelknoop wysig nie.,
 You cannot restart a Subscription that is not cancelled.,U kan nie &#39;n intekening herlaai wat nie gekanselleer is nie.,
-You don't have enought Loyalty Points to redeem,U het nie genoeg lojaliteitspunte om te verkoop nie,
+You don't have enough Loyalty Points to redeem,U het nie genoeg lojaliteitspunte om te verkoop nie,
 You have already assessed for the assessment criteria {}.,U het reeds geassesseer vir die assesseringskriteria ().,
 You have already selected items from {0} {1},Jy het reeds items gekies van {0} {1},
 You have been invited to collaborate on the project: {0},U is genooi om saam te werk aan die projek: {0},
diff --git a/erpnext/translations/am.csv b/erpnext/translations/am.csv
index da865b8..b5abbbf 100644
--- a/erpnext/translations/am.csv
+++ b/erpnext/translations/am.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',የፕሮጀክት አይነት «ውጫዊ» ን መሰረዝ አይችሉም.,
 You cannot edit root node.,የስር ሥፍራ ማረም አይችሉም.,
 You cannot restart a Subscription that is not cancelled.,የማይሰረዝ የደንበኝነት ምዝገባን ዳግም ማስጀመር አይችሉም.,
-You don't have enought Loyalty Points to redeem,ለማስመለስ በቂ የታማኝነት ነጥቦች የሉዎትም,
+You don't have enough Loyalty Points to redeem,ለማስመለስ በቂ የታማኝነት ነጥቦች የሉዎትም,
 You have already assessed for the assessment criteria {}.,ቀድሞውንም ግምገማ መስፈርት ከገመገምን {}.,
 You have already selected items from {0} {1},ከዚህ ቀደም ከ ንጥሎች ተመርጠዋል ሊሆን {0} {1},
 You have been invited to collaborate on the project: {0},እርስዎ ፕሮጀክት ላይ ተባበር ተጋብዘዋል: {0},
diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv
index 17d4386..550b5f2 100644
--- a/erpnext/translations/ar.csv
+++ b/erpnext/translations/ar.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',لا يمكنك حذف مشروع من نوع 'خارجي',
 You cannot edit root node.,لا يمكنك تحرير عقدة الجذر.,
 You cannot restart a Subscription that is not cancelled.,لا يمكنك إعادة تشغيل اشتراك غير ملغى.,
-You don't have enought Loyalty Points to redeem,ليس لديك ما يكفي من نقاط الولاء لاستردادها,
+You don't have enough Loyalty Points to redeem,ليس لديك ما يكفي من نقاط الولاء لاستردادها,
 You have already assessed for the assessment criteria {}.,لقد سبق أن قيمت معايير التقييم {}.,
 You have already selected items from {0} {1},لقد حددت العناصر من {0} {1},
 You have been invited to collaborate on the project: {0},لقد وجهت الدعوة إلى التعاون في هذا المشروع: {0},
diff --git a/erpnext/translations/bg.csv b/erpnext/translations/bg.csv
index 5fc10c4..baee526 100644
--- a/erpnext/translations/bg.csv
+++ b/erpnext/translations/bg.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Не можете да изтриете Тип на проекта &quot;Външен&quot;,
 You cannot edit root node.,Не можете да редактирате корен възел.,
 You cannot restart a Subscription that is not cancelled.,"Не можете да рестартирате абонамент, който не е анулиран.",
-You don't have enought Loyalty Points to redeem,"Нямате достатъчно точки за лоялност, за да осребрите",
+You don't have enough Loyalty Points to redeem,"Нямате достатъчно точки за лоялност, за да осребрите",
 You have already assessed for the assessment criteria {}.,Вече оценихте критериите за оценка {}.,
 You have already selected items from {0} {1},Вие вече сте избрали елементи от {0} {1},
 You have been invited to collaborate on the project: {0},Вие сте били поканени да си сътрудничат по проекта: {0},
diff --git a/erpnext/translations/bn.csv b/erpnext/translations/bn.csv
index 1da9bb6..266bd16 100644
--- a/erpnext/translations/bn.csv
+++ b/erpnext/translations/bn.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',আপনি প্রকল্প প্রকার &#39;বহিরাগত&#39; মুছে ফেলতে পারবেন না,
 You cannot edit root node.,আপনি রুট নোড সম্পাদনা করতে পারবেন না।,
 You cannot restart a Subscription that is not cancelled.,আপনি সাবস্ক্রিপশনটি বাতিল না করা পুনরায় শুরু করতে পারবেন না,
-You don't have enought Loyalty Points to redeem,আপনি বিক্রি করার জন্য আনুগত্য পয়েন্ট enought না,
+You don't have enough Loyalty Points to redeem,আপনি বিক্রি করার জন্য আনুগত্য পয়েন্ট enough না,
 You have already assessed for the assessment criteria {}.,"আপনি ইতিমধ্যে মূল্যায়ন মানদণ্ডের জন্য মূল্যায়ন করে নিলে, {}।",
 You have already selected items from {0} {1},আপনি ইতিমধ্যে থেকে আইটেম নির্বাচন করা আছে {0} {1},
 You have been invited to collaborate on the project: {0},আপনি প্রকল্পের সহযোগীতা করার জন্য আমন্ত্রণ জানানো হয়েছে: {0},
diff --git a/erpnext/translations/bs.csv b/erpnext/translations/bs.csv
index cab9c83..53e9d93 100644
--- a/erpnext/translations/bs.csv
+++ b/erpnext/translations/bs.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ne možete obrisati tip projekta &#39;Spoljni&#39;,
 You cannot edit root node.,Ne možete uređivati root čvor.,
 You cannot restart a Subscription that is not cancelled.,Ne možete ponovo pokrenuti pretplatu koja nije otkazana.,
-You don't have enought Loyalty Points to redeem,Ne iskoristite Loyalty Points za otkup,
+You don't have enough Loyalty Points to redeem,Ne iskoristite Loyalty Points za otkup,
 You have already assessed for the assessment criteria {}.,Ste već ocijenili za kriterije procjene {}.,
 You have already selected items from {0} {1},Vi ste već odabrane stavke iz {0} {1},
 You have been invited to collaborate on the project: {0},Vi ste pozvani da surađuju na projektu: {0},
diff --git a/erpnext/translations/ca.csv b/erpnext/translations/ca.csv
index 0e16a74..4ca1435 100644
--- a/erpnext/translations/ca.csv
+++ b/erpnext/translations/ca.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',No es pot eliminar el tipus de projecte &#39;Extern&#39;,
 You cannot edit root node.,No podeu editar el node arrel.,
 You cannot restart a Subscription that is not cancelled.,No podeu reiniciar una subscripció que no es cancel·la.,
-You don't have enought Loyalty Points to redeem,No teniu punts de fidelització previstos per bescanviar,
+You don't have enough Loyalty Points to redeem,No teniu punts de fidelització previstos per bescanviar,
 You have already assessed for the assessment criteria {}.,Vostè ja ha avaluat pels criteris d&#39;avaluació {}.,
 You have already selected items from {0} {1},Ja ha seleccionat articles de {0} {1},
 You have been invited to collaborate on the project: {0},Se li ha convidat a col·laborar en el projecte: {0},
diff --git a/erpnext/translations/cs.csv b/erpnext/translations/cs.csv
index 3cef0de..26b8bf1 100644
--- a/erpnext/translations/cs.csv
+++ b/erpnext/translations/cs.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Nelze odstranit typ projektu &quot;Externí&quot;,
 You cannot edit root node.,Nelze upravit kořenový uzel.,
 You cannot restart a Subscription that is not cancelled.,"Nelze znovu spustit odběr, který není zrušen.",
-You don't have enought Loyalty Points to redeem,Nemáte dostatečné věrnostní body k uplatnění,
+You don't have enough Loyalty Points to redeem,Nemáte dostatečné věrnostní body k uplatnění,
 You have already assessed for the assessment criteria {}.,Již jste hodnotili kritéria hodnocení {}.,
 You have already selected items from {0} {1},Již jste vybrané položky z {0} {1},
 You have been invited to collaborate on the project: {0},Byli jste pozváni ke spolupráci na projektu: {0},
diff --git a/erpnext/translations/da.csv b/erpnext/translations/da.csv
index c58065a..09aaa15 100644
--- a/erpnext/translations/da.csv
+++ b/erpnext/translations/da.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Du kan ikke slette Project Type 'Ekstern',
 You cannot edit root node.,Du kan ikke redigere root node.,
 You cannot restart a Subscription that is not cancelled.,"Du kan ikke genstarte en abonnement, der ikke annulleres.",
-You don't have enought Loyalty Points to redeem,Du har ikke nok loyalitetspoint til at indløse,
+You don't have enough Loyalty Points to redeem,Du har ikke nok loyalitetspoint til at indløse,
 You have already assessed for the assessment criteria {}.,Du har allerede vurderet for bedømmelseskriterierne {}.,
 You have already selected items from {0} {1},Du har allerede valgt elementer fra {0} {1},
 You have been invited to collaborate on the project: {0},Du er blevet inviteret til at samarbejde om sag: {0},
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index 04e317a..e2c7467 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -3107,7 +3107,7 @@
 You cannot delete Project Type 'External',Sie können den Projekttyp &#39;Extern&#39; nicht löschen,
 You cannot edit root node.,Sie können den Stammknoten nicht bearbeiten.,
 You cannot restart a Subscription that is not cancelled.,Sie können ein nicht abgebrochenes Abonnement nicht neu starten.,
-You don't have enought Loyalty Points to redeem,Sie haben nicht genügend Treuepunkte zum Einlösen,
+You don't have enough Loyalty Points to redeem,Sie haben nicht genügend Treuepunkte zum Einlösen,
 You have already assessed for the assessment criteria {}.,Sie haben bereits für die Bewertungskriterien beurteilt.,
 You have already selected items from {0} {1},Sie haben bereits Elemente aus {0} {1} gewählt,
 You have been invited to collaborate on the project: {0},Sie wurden zur Zusammenarbeit für das Projekt {0} eingeladen.,
diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv
index 9d15e61..ae72c26 100644
--- a/erpnext/translations/el.csv
+++ b/erpnext/translations/el.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Δεν μπορείτε να διαγράψετε τον τύπο έργου &#39;Εξωτερικό&#39;,
 You cannot edit root node.,Δεν μπορείτε να επεξεργαστείτε τον κόμβο ρίζας.,
 You cannot restart a Subscription that is not cancelled.,Δεν μπορείτε να κάνετε επανεκκίνηση μιας συνδρομής που δεν ακυρώνεται.,
-You don't have enought Loyalty Points to redeem,Δεν διαθέτετε σημεία αφοσίωσης για εξαργύρωση,
+You don't have enough Loyalty Points to redeem,Δεν διαθέτετε σημεία αφοσίωσης για εξαργύρωση,
 You have already assessed for the assessment criteria {}.,Έχετε ήδη αξιολογήσει τα κριτήρια αξιολόγησης {}.,
 You have already selected items from {0} {1},Έχετε ήδη επιλεγμένα αντικείμενα από {0} {1},
 You have been invited to collaborate on the project: {0},Έχετε προσκληθεί να συνεργαστούν για το έργο: {0},
diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv
index 50074d2..d931429 100644
--- a/erpnext/translations/es.csv
+++ b/erpnext/translations/es.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',No puede eliminar Tipo de proyecto &#39;Externo&#39;,
 You cannot edit root node.,No puedes editar el nodo raíz.,
 You cannot restart a Subscription that is not cancelled.,No puede reiniciar una suscripción que no está cancelada.,
-You don't have enought Loyalty Points to redeem,No tienes suficientes puntos de lealtad para canjear,
+You don't have enough Loyalty Points to redeem,No tienes suficientes puntos de lealtad para canjear,
 You have already assessed for the assessment criteria {}.,Ya ha evaluado los criterios de evaluación {}.,
 You have already selected items from {0} {1},Ya ha seleccionado artículos de {0} {1},
 You have been invited to collaborate on the project: {0},Se le ha invitado a colaborar en el proyecto: {0},
diff --git a/erpnext/translations/et.csv b/erpnext/translations/et.csv
index a9f6c6c..29e599b 100644
--- a/erpnext/translations/et.csv
+++ b/erpnext/translations/et.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Te ei saa projekti tüübi &quot;Väline&quot; kustutada,
 You cannot edit root node.,Sa ei saa redigeerida juursõlme.,
 You cannot restart a Subscription that is not cancelled.,Te ei saa tellimust uuesti katkestada.,
-You don't have enought Loyalty Points to redeem,"Teil pole lojaalsuspunkte, mida soovite lunastada",
+You don't have enough Loyalty Points to redeem,"Teil pole lojaalsuspunkte, mida soovite lunastada",
 You have already assessed for the assessment criteria {}.,Olete juba hinnanud hindamise kriteeriumid {}.,
 You have already selected items from {0} {1},Olete juba valitud objektide {0} {1},
 You have been invited to collaborate on the project: {0},Sind on kutsutud koostööd projekti: {0},
diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv
index 35a42e8..4c5ab80 100644
--- a/erpnext/translations/fa.csv
+++ b/erpnext/translations/fa.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',شما نمیتوانید نوع پروژه «خارجی» را حذف کنید,
 You cannot edit root node.,نمی توانید گره ریشه را ویرایش کنید,
 You cannot restart a Subscription that is not cancelled.,شما نمی توانید اشتراک را لغو کنید.,
-You don't have enought Loyalty Points to redeem,شما نمیتوانید امتیازات وفاداری خود را به دست آورید,
+You don't have enough Loyalty Points to redeem,شما نمیتوانید امتیازات وفاداری خود را به دست آورید,
 You have already assessed for the assessment criteria {}.,شما در حال حاضر برای معیارهای ارزیابی ارزیابی {}.,
 You have already selected items from {0} {1},شما در حال حاضر اقلام از انتخاب {0} {1},
 You have been invited to collaborate on the project: {0},از شما دعوت شده برای همکاری در این پروژه: {0},
diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv
index 9d7bf8b..c26441b 100644
--- a/erpnext/translations/fi.csv
+++ b/erpnext/translations/fi.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Et voi poistaa projektityyppiä &quot;Ulkoinen&quot;,
 You cannot edit root node.,Et voi muokata juurisolmua.,
 You cannot restart a Subscription that is not cancelled.,"Et voi uudelleenkäynnistää tilausta, jota ei peruuteta.",
-You don't have enought Loyalty Points to redeem,Sinulla ei ole tarpeeksi Loyalty Pointsia lunastettavaksi,
+You don't have enough Loyalty Points to redeem,Sinulla ei ole tarpeeksi Loyalty Pointsia lunastettavaksi,
 You have already assessed for the assessment criteria {}.,Olet jo arvioitu arviointikriteerit {}.,
 You have already selected items from {0} {1},Olet jo valitut kohteet {0} {1},
 You have been invited to collaborate on the project: {0},Sinut on kutsuttu yhteistyöhön projektissa {0},
diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index 6d5505b..801604a 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -3093,7 +3093,7 @@
 You cannot delete Project Type 'External',Vous ne pouvez pas supprimer le Type de Projet 'Externe',
 You cannot edit root node.,Vous ne pouvez pas modifier le nœud racine.,
 You cannot restart a Subscription that is not cancelled.,Vous ne pouvez pas redémarrer un abonnement qui n'est pas annulé.,
-You don't have enought Loyalty Points to redeem,Vous n'avez pas assez de points de fidélité à échanger,
+You don't have enough Loyalty Points to redeem,Vous n'avez pas assez de points de fidélité à échanger,
 You have already assessed for the assessment criteria {}.,Vous avez déjà évalué les critères d'évaluation {}.,
 You have already selected items from {0} {1},Vous avez déjà choisi des articles de {0} {1},
 You have been invited to collaborate on the project: {0},Vous avez été invité à collaborer sur le projet : {0},
diff --git a/erpnext/translations/gu.csv b/erpnext/translations/gu.csv
index 025ec89..5691597 100644
--- a/erpnext/translations/gu.csv
+++ b/erpnext/translations/gu.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',તમે &#39;બાહ્ય&#39; પ્રોજેક્ટ પ્રકારને કાઢી શકતા નથી,
 You cannot edit root node.,તમે રૂટ નોડને સંપાદિત કરી શકતા નથી.,
 You cannot restart a Subscription that is not cancelled.,તમે સબ્સ્ક્રિપ્શન ફરીથી શરૂ કરી શકતા નથી કે જે રદ કરવામાં આવી નથી.,
-You don't have enought Loyalty Points to redeem,તમારી પાસે રિડીમ કરવા માટે વફાદારીના પોઇંટ્સ નથી,
+You don't have enough Loyalty Points to redeem,તમારી પાસે રિડીમ કરવા માટે વફાદારીના પોઇંટ્સ નથી,
 You have already assessed for the assessment criteria {}.,જો તમે પહેલાથી જ આકારણી માપદંડ માટે આકારણી છે {}.,
 You have already selected items from {0} {1},જો તમે પહેલાથી જ વસ્તુઓ પસંદ કરેલ {0} {1},
 You have been invited to collaborate on the project: {0},તમે આ પ્રોજેક્ટ પર સહયોગ કરવા માટે આમંત્રિત કરવામાં આવ્યા છે: {0},
diff --git a/erpnext/translations/he.csv b/erpnext/translations/he.csv
index 43bac41..9aa152c 100644
--- a/erpnext/translations/he.csv
+++ b/erpnext/translations/he.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',אינך יכול למחוק את סוג הפרויקט &#39;חיצוני&#39;,
 You cannot edit root node.,אינך יכול לערוך צומת שורש.,
 You cannot restart a Subscription that is not cancelled.,אינך יכול להפעיל מחדש מנוי שאינו מבוטל.,
-You don't have enought Loyalty Points to redeem,אין לך מספיק נקודות נאמנות למימוש,
+You don't have enough Loyalty Points to redeem,אין לך מספיק נקודות נאמנות למימוש,
 You have already assessed for the assessment criteria {}.,כבר הערכת את קריטריוני ההערכה {}.,
 You have already selected items from {0} {1},בחרת כבר פריטים מ- {0} {1},
 You have been invited to collaborate on the project: {0},הוזמנת לשתף פעולה על הפרויקט: {0},
diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv
index 00747d4..d56dcec 100644
--- a/erpnext/translations/hi.csv
+++ b/erpnext/translations/hi.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',आप परियोजना प्रकार &#39;बाहरी&#39; को नहीं हटा सकते,
 You cannot edit root node.,आप रूट नोड संपादित नहीं कर सकते हैं।,
 You cannot restart a Subscription that is not cancelled.,आप एक सदस्यता को पुनरारंभ नहीं कर सकते जो रद्द नहीं किया गया है।,
-You don't have enought Loyalty Points to redeem,आपने रिडीम करने के लिए वफादारी अंक नहीं खरीदे हैं,
+You don't have enough Loyalty Points to redeem,आपने रिडीम करने के लिए वफादारी अंक नहीं खरीदे हैं,
 You have already assessed for the assessment criteria {}.,आप मूल्यांकन मानदंड के लिए पहले से ही मूल्यांकन कर चुके हैं {},
 You have already selected items from {0} {1},आप पहले से ही से आइटम का चयन किया है {0} {1},
 You have been invited to collaborate on the project: {0},आप इस परियोजना पर सहयोग करने के लिए आमंत्रित किया गया है: {0},
diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index ec24026..827ae2c 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ne možete izbrisati vrstu projekta &#39;Vanjski&#39;,
 You cannot edit root node.,Ne možete uređivati root čvor.,
 You cannot restart a Subscription that is not cancelled.,Ne možete ponovo pokrenuti pretplatu koja nije otkazana.,
-You don't have enought Loyalty Points to redeem,Nemate dovoljno bodova lojalnosti za otkup,
+You don't have enough Loyalty Points to redeem,Nemate dovoljno bodova lojalnosti za otkup,
 You have already assessed for the assessment criteria {}.,Već ste ocijenili kriterije procjene {}.,
 You have already selected items from {0} {1},Već ste odabrali stavke iz {0} {1},
 You have been invited to collaborate on the project: {0},Pozvani ste za suradnju na projektu: {0},
diff --git a/erpnext/translations/hu.csv b/erpnext/translations/hu.csv
index f92946a..e68b56f 100644
--- a/erpnext/translations/hu.csv
+++ b/erpnext/translations/hu.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',"A ""Külső"" projekttípust nem törölheti",
 You cannot edit root node.,Nem szerkesztheti a fő csomópontot.,
 You cannot restart a Subscription that is not cancelled.,"Nem indíthatja el az Előfizetést, amelyet nem zárt le.",
-You don't have enought Loyalty Points to redeem,Nincs elegendő hűségpontjaid megváltáshoz,
+You don't have enough Loyalty Points to redeem,Nincs elegendő hűségpontjaid megváltáshoz,
 You have already assessed for the assessment criteria {}.,Már értékelte ezekkel az értékelési kritériumokkal: {}.,
 You have already selected items from {0} {1},Már választott ki elemeket innen {0} {1},
 You have been invited to collaborate on the project: {0},Ön meghívást kapott ennek a projeknek a közreműködéséhez: {0},
diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv
index 8ba9e66..67311a1 100644
--- a/erpnext/translations/id.csv
+++ b/erpnext/translations/id.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Anda tidak bisa menghapus Jenis Proyek 'External',
 You cannot edit root node.,Anda tidak dapat mengedit simpul root.,
 You cannot restart a Subscription that is not cancelled.,Anda tidak dapat memulai ulang Langganan yang tidak dibatalkan.,
-You don't have enought Loyalty Points to redeem,Anda tidak memiliki Poin Loyalitas yang cukup untuk ditukarkan,
+You don't have enough Loyalty Points to redeem,Anda tidak memiliki Poin Loyalitas yang cukup untuk ditukarkan,
 You have already assessed for the assessment criteria {}.,Anda telah memberikan penilaian terhadap kriteria penilaian {}.,
 You have already selected items from {0} {1},Anda sudah memilih item dari {0} {1},
 You have been invited to collaborate on the project: {0},Anda telah diundang untuk berkolaborasi pada proyek: {0},
diff --git a/erpnext/translations/is.csv b/erpnext/translations/is.csv
index 9802592..1bf6b4c 100644
--- a/erpnext/translations/is.csv
+++ b/erpnext/translations/is.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Þú getur ekki eytt verkefnisgerðinni &#39;ytri&#39;,
 You cannot edit root node.,Þú getur ekki breytt rótarkóði.,
 You cannot restart a Subscription that is not cancelled.,Þú getur ekki endurræst áskrift sem ekki er lokað.,
-You don't have enought Loyalty Points to redeem,Þú hefur ekki nóg hollusta stig til að innleysa,
+You don't have enough Loyalty Points to redeem,Þú hefur ekki nóg hollusta stig til að innleysa,
 You have already assessed for the assessment criteria {}.,Þú hefur nú þegar metið mat á viðmiðunum {}.,
 You have already selected items from {0} {1},Þú hefur nú þegar valið hluti úr {0} {1},
 You have been invited to collaborate on the project: {0},Þér hefur verið boðið að vinna að verkefninu: {0},
diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv
index 064f16b..f96b1aa 100644
--- a/erpnext/translations/it.csv
+++ b/erpnext/translations/it.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Non è possibile eliminare il tipo di progetto &#39;Esterno&#39;,
 You cannot edit root node.,Non è possibile modificare il nodo principale.,
 You cannot restart a Subscription that is not cancelled.,Non è possibile riavviare una sottoscrizione che non è stata annullata.,
-You don't have enought Loyalty Points to redeem,Non hai abbastanza Punti fedeltà da riscattare,
+You don't have enough Loyalty Points to redeem,Non hai abbastanza Punti fedeltà da riscattare,
 You have already assessed for the assessment criteria {}.,Hai già valutato i criteri di valutazione {}.,
 You have already selected items from {0} {1},Hai già selezionato elementi da {0} {1},
 You have been invited to collaborate on the project: {0},Sei stato invitato a collaborare al progetto: {0},
diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index b5064f6..e5ebeb3 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',プロジェクトタイプ「外部」を削除することはできません,
 You cannot edit root node.,ルートノードは編集できません。,
 You cannot restart a Subscription that is not cancelled.,キャンセルされていないサブスクリプションを再起動することはできません。,
-You don't have enought Loyalty Points to redeem,あなたは交換するのに十分なロイヤリティポイントがありません,
+You don't have enough Loyalty Points to redeem,あなたは交換するのに十分なロイヤリティポイントがありません,
 You have already assessed for the assessment criteria {}.,評価基準{}は評価済です。,
 You have already selected items from {0} {1},項目を選択済みです {0} {1},
 You have been invited to collaborate on the project: {0},プロジェクト:{0} の共同作業に招待されました,
diff --git a/erpnext/translations/km.csv b/erpnext/translations/km.csv
index 31dcdc0..0dbecca 100644
--- a/erpnext/translations/km.csv
+++ b/erpnext/translations/km.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',អ្នកមិនអាចលុបប្រភេទគម្រោង &#39;ខាងក្រៅ&#39;,
 You cannot edit root node.,អ្នកមិនអាចកែថ្នាំង root បានទេ។,
 You cannot restart a Subscription that is not cancelled.,អ្នកមិនអាចចាប់ផ្តើមឡើងវិញនូវការជាវដែលមិនត្រូវបានលុបចោលទេ។,
-You don't have enought Loyalty Points to redeem,អ្នកមិនមានពិន្ទុភាពស្មោះត្រង់គ្រប់គ្រាន់ដើម្បីលោះទេ,
+You don't have enough Loyalty Points to redeem,អ្នកមិនមានពិន្ទុភាពស្មោះត្រង់គ្រប់គ្រាន់ដើម្បីលោះទេ,
 You have already assessed for the assessment criteria {}.,អ្នកបានវាយតម្លែរួចទៅហើយសម្រាប់លក្ខណៈវិនិច្ឆ័យវាយតម្លៃនេះ {} ។,
 You have already selected items from {0} {1},អ្នកបានជ្រើសរួចហើយចេញពីធាតុ {0} {1},
 You have been invited to collaborate on the project: {0},អ្នកបានត្រូវអញ្ជើញដើម្បីសហការគ្នាលើគម្រោងនេះ: {0},
diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv
index f01e386..b929e29 100644
--- a/erpnext/translations/kn.csv
+++ b/erpnext/translations/kn.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',ನೀವು ಪ್ರಾಜೆಕ್ಟ್ ಕೌಟುಂಬಿಕತೆ &#39;ಬಾಹ್ಯ&#39; ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ,
 You cannot edit root node.,ನೀವು ರೂಟ್ ನೋಡ್ ಅನ್ನು ಸಂಪಾದಿಸಲಾಗುವುದಿಲ್ಲ.,
 You cannot restart a Subscription that is not cancelled.,ರದ್ದುಪಡಿಸದ ಚಂದಾದಾರಿಕೆಯನ್ನು ನೀವು ಮರುಪ್ರಾರಂಭಿಸಬಾರದು.,
-You don't have enought Loyalty Points to redeem,ರಿಡೀಮ್ ಮಾಡಲು ನೀವು ಲಾಯಲ್ಟಿ ಪಾಯಿಂಟುಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ,
+You don't have enough Loyalty Points to redeem,ರಿಡೀಮ್ ಮಾಡಲು ನೀವು ಲಾಯಲ್ಟಿ ಪಾಯಿಂಟುಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ,
 You have already assessed for the assessment criteria {}.,ನೀವು ಈಗಾಗಲೇ ಮೌಲ್ಯಮಾಪನ ಮಾನದಂಡದ ನಿರ್ಣಯಿಸುವ {}.,
 You have already selected items from {0} {1},ನೀವು ಈಗಾಗಲೇ ಆಯ್ಕೆ ಐಟಂಗಳನ್ನು ಎಂದು {0} {1},
 You have been invited to collaborate on the project: {0},ನೀವು ಯೋಜನೆಯ ಸಹಯೋಗಿಸಲು ಆಮಂತ್ರಿಸಲಾಗಿದೆ: {0},
diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index dffcaa8..1c8020f 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',프로젝트 유형 &#39;외부&#39;를 삭제할 수 없습니다.,
 You cannot edit root node.,루트 노드는 편집 할 수 없습니다.,
 You cannot restart a Subscription that is not cancelled.,취소되지 않은 구독은 다시 시작할 수 없습니다.,
-You don't have enought Loyalty Points to redeem,사용하기에 충성도 포인트가 충분하지 않습니다.,
+You don't have enough Loyalty Points to redeem,사용하기에 충성도 포인트가 충분하지 않습니다.,
 You have already assessed for the assessment criteria {}.,이미 평가 기준 {}을 (를) 평가했습니다.,
 You have already selected items from {0} {1},이미에서 항목을 선택한 {0} {1},
 You have been invited to collaborate on the project: {0},당신은 프로젝트 공동 작업에 초대되었습니다 : {0},
diff --git a/erpnext/translations/ku.csv b/erpnext/translations/ku.csv
index 047ee89..f4d1197 100644
--- a/erpnext/translations/ku.csv
+++ b/erpnext/translations/ku.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Hûn nikarin jêbirinê hilbijêre &#39;External&#39;,
 You cannot edit root node.,Hûn nikarin node root root biguherînin.,
 You cannot restart a Subscription that is not cancelled.,Hûn nikarin endamê peymana ku destûr nabe.,
-You don't have enought Loyalty Points to redeem,Hûn pisporên dilsozî ne ku hûn bistînin,
+You don't have enough Loyalty Points to redeem,Hûn pisporên dilsozî ne ku hûn bistînin,
 You have already assessed for the assessment criteria {}.,Tu niha ji bo nirxandina nirxandin {}.,
 You have already selected items from {0} {1},Jixwe te tomar ji hilbijartî {0} {1},
 You have been invited to collaborate on the project: {0},Hûn hatine vexwendin ji bo hevkariyê li ser vê projeyê: {0},
diff --git a/erpnext/translations/lo.csv b/erpnext/translations/lo.csv
index c94bc25..9e77b51 100644
--- a/erpnext/translations/lo.csv
+++ b/erpnext/translations/lo.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',ທ່ານບໍ່ສາມາດລຶບປະເພດໂຄງການ &#39;ພາຍນອກ&#39;,
 You cannot edit root node.,ທ່ານບໍ່ສາມາດແກ້ໄຂຮາກຮາກ.,
 You cannot restart a Subscription that is not cancelled.,ທ່ານບໍ່ສາມາດເລີ່ມຕົ້ນລະບົບຈອງໃຫມ່ທີ່ບໍ່ໄດ້ຖືກຍົກເລີກ.,
-You don't have enought Loyalty Points to redeem,ທ່ານບໍ່ມີຈຸດປະສົງອັນຄົບຖ້ວນພໍທີ່ຈະຊື້,
+You don't have enough Loyalty Points to redeem,ທ່ານບໍ່ມີຈຸດປະສົງອັນຄົບຖ້ວນພໍທີ່ຈະຊື້,
 You have already assessed for the assessment criteria {}.,ທ່ານໄດ້ປະເມີນແລ້ວສໍາລັບມາດຕະຖານການປະເມີນຜົນ {}.,
 You have already selected items from {0} {1},ທ່ານໄດ້ຄັດເລືອກເອົາແລ້ວລາຍການຈາກ {0} {1},
 You have been invited to collaborate on the project: {0},ທ່ານໄດ້ຖືກເຊື້ອເຊີນເພື່ອເຮັດວຽກຮ່ວມກັນກ່ຽວກັບໂຄງການ: {0},
diff --git a/erpnext/translations/lt.csv b/erpnext/translations/lt.csv
index 731638c..66215c1 100644
--- a/erpnext/translations/lt.csv
+++ b/erpnext/translations/lt.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Negalite ištrinti projekto tipo &quot;Išorinis&quot;,
 You cannot edit root node.,Jūs negalite redaguoti šakninis mazgas.,
 You cannot restart a Subscription that is not cancelled.,"Jūs negalite iš naujo paleisti Prenumeratos, kuri nėra atšaukta.",
-You don't have enought Loyalty Points to redeem,Jūs neturite nusipirkti lojalumo taškų išpirkti,
+You don't have enough Loyalty Points to redeem,Jūs neturite nusipirkti lojalumo taškų išpirkti,
 You have already assessed for the assessment criteria {}.,Jūs jau įvertintas vertinimo kriterijus {}.,
 You have already selected items from {0} {1},Jūs jau pasirinkote elementus iš {0} {1},
 You have been invited to collaborate on the project: {0},Jūs buvote pakviestas bendradarbiauti su projektu: {0},
diff --git a/erpnext/translations/lv.csv b/erpnext/translations/lv.csv
index 71b51f4..1409719 100644
--- a/erpnext/translations/lv.csv
+++ b/erpnext/translations/lv.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Jūs nevarat izdzēst projekta veidu &quot;Ārējais&quot;,
 You cannot edit root node.,Jūs nevarat rediģēt saknes mezglu.,
 You cannot restart a Subscription that is not cancelled.,"Jūs nevarat atsākt Abonementu, kas nav atcelts.",
-You don't have enought Loyalty Points to redeem,Jums nav lojalitātes punktu atpirkt,
+You don't have enough Loyalty Points to redeem,Jums nav lojalitātes punktu atpirkt,
 You have already assessed for the assessment criteria {}.,Jūs jau izvērtēta vērtēšanas kritērijiem {}.,
 You have already selected items from {0} {1},Jūs jau atsevišķus posteņus {0} {1},
 You have been invited to collaborate on the project: {0},Jūs esat uzaicināts sadarboties projektam: {0},
diff --git a/erpnext/translations/mk.csv b/erpnext/translations/mk.csv
index 2dcef0c..06d7e65 100644
--- a/erpnext/translations/mk.csv
+++ b/erpnext/translations/mk.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Не можете да го избришете Типот на проектот &#39;External&#39;,
 You cannot edit root node.,Не можете да уредувате корен јазол.,
 You cannot restart a Subscription that is not cancelled.,Не можете да ја рестартирате претплатата која не е откажана.,
-You don't have enought Loyalty Points to redeem,Вие не сте донеле лојални точки за откуп,
+You don't have enough Loyalty Points to redeem,Вие не сте донеле лојални точки за откуп,
 You have already assessed for the assessment criteria {}.,Веќе сте се проценува за критериумите за оценување {}.,
 You have already selected items from {0} {1},Веќе сте одбрале предмети од {0} {1},
 You have been invited to collaborate on the project: {0},Вие сте поканети да соработуваат на проектот: {0},
diff --git a/erpnext/translations/ml.csv b/erpnext/translations/ml.csv
index 46629a3..22684b6 100644
--- a/erpnext/translations/ml.csv
+++ b/erpnext/translations/ml.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',നിങ്ങൾക്ക് പദ്ധതി തരം &#39;ബാഹ്യ&#39; ഇല്ലാതാക്കാൻ കഴിയില്ല,
 You cannot edit root node.,നിങ്ങൾക്ക് റൂട്ട് നോഡ് എഡിറ്റുചെയ്യാൻ കഴിയില്ല.,
 You cannot restart a Subscription that is not cancelled.,നിങ്ങൾക്ക് റദ്ദാക്കാത്ത ഒരു സബ്സ്ക്രിപ്ഷൻ പുനഃരാരംഭിക്കാൻ കഴിയില്ല.,
-You don't have enought Loyalty Points to redeem,നിങ്ങൾക്ക് വീണ്ടെടുക്കാനുള്ള വിശ്വസ്ത ടയറുകൾ ആവശ്യമില്ല,
+You don't have enough Loyalty Points to redeem,നിങ്ങൾക്ക് വീണ്ടെടുക്കാനുള്ള വിശ്വസ്ത ടയറുകൾ ആവശ്യമില്ല,
 You have already assessed for the assessment criteria {}.,ഇതിനകം നിങ്ങൾ വിലയിരുത്തൽ മാനദണ്ഡങ്ങൾ {} വേണ്ടി വിലയിരുത്തി ചെയ്തു.,
 You have already selected items from {0} {1},നിങ്ങൾ ഇതിനകം നിന്ന് {0} {1} ഇനങ്ങൾ തിരഞ്ഞെടുത്തു,
 You have been invited to collaborate on the project: {0},നിങ്ങൾ പദ്ധതി സഹകരിക്കുക ക്ഷണിച്ചു: {0},
diff --git a/erpnext/translations/mr.csv b/erpnext/translations/mr.csv
index 7f1c5e2..87e0fdd 100644
--- a/erpnext/translations/mr.csv
+++ b/erpnext/translations/mr.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',आपण प्रोजेक्ट प्रकार &#39;बाह्य&#39; हटवू शकत नाही,
 You cannot edit root node.,आपण मूळ नोड संपादित करू शकत नाही.,
 You cannot restart a Subscription that is not cancelled.,आपण रद्द न केलेली सबस्क्रिप्शन पुन्हा सुरू करू शकत नाही.,
-You don't have enought Loyalty Points to redeem,आपण परत विकत घेण्यासाठी निष्ठावान बिंदू नाहीत,
+You don't have enough Loyalty Points to redeem,आपण परत विकत घेण्यासाठी निष्ठावान बिंदू नाहीत,
 You have already assessed for the assessment criteria {}.,आपण मूल्यांकन निकष आधीच मूल्यमापन आहे {}.,
 You have already selected items from {0} {1},आपण आधीच आयटम निवडले आहेत {0} {1},
 You have been invited to collaborate on the project: {0},आपण प्रकल्प सहयोग करण्यासाठी आमंत्रित आहेत: {0},
diff --git a/erpnext/translations/ms.csv b/erpnext/translations/ms.csv
index 0dfc55b..8e1ac51 100644
--- a/erpnext/translations/ms.csv
+++ b/erpnext/translations/ms.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Anda tidak boleh memadam Jenis Projek &#39;Luar&#39;,
 You cannot edit root node.,Anda tidak boleh mengedit nod akar.,
 You cannot restart a Subscription that is not cancelled.,Anda tidak boleh memulakan semula Langganan yang tidak dibatalkan.,
-You don't have enought Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
+You don't have enough Loyalty Points to redeem,Anda tidak mempunyai mata Kesetiaan yang cukup untuk menebusnya,
 You have already assessed for the assessment criteria {}.,Anda telah pun dinilai untuk kriteria penilaian {}.,
 You have already selected items from {0} {1},Anda telah memilih barangan dari {0} {1},
 You have been invited to collaborate on the project: {0},Anda telah dijemput untuk bekerjasama dalam projek: {0},
diff --git a/erpnext/translations/my.csv b/erpnext/translations/my.csv
index c0c0c45..6da5860 100644
--- a/erpnext/translations/my.csv
+++ b/erpnext/translations/my.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',သငျသညျစီမံကိန်းအမျိုးအစား &#39;&#39; ပြင်ပ &#39;&#39; မဖျက်နိုင်ပါ,
 You cannot edit root node.,သငျသညျအမြစ် node ကိုတည်းဖြတ်မရနိုင်ပါ။,
 You cannot restart a Subscription that is not cancelled.,သငျသညျဖျက်သိမ်းမပေးကြောင်းတစ် Subscription ပြန်လည်စတင်ရန်လို့မရပါဘူး။,
-You don't have enought Loyalty Points to redeem,သငျသညျကိုရှေးနှုတျမှ enought သစ္စာရှိမှုအမှတ်ရှိသည်မဟုတ်ကြဘူး,
+You don't have enough Loyalty Points to redeem,သငျသညျကိုရှေးနှုတျမှ enough သစ္စာရှိမှုအမှတ်ရှိသည်မဟုတ်ကြဘူး,
 You have already assessed for the assessment criteria {}.,သငျသညျပြီးသား {} အဆိုပါအကဲဖြတ်သတ်မှတ်ချက်အဘို့အအကဲဖြတ်ပါပြီ။,
 You have already selected items from {0} {1},သငျသညျပြီးသား {0} {1} ကနေပစ္စည်းကိုရှေးခယျြခဲ့ကြ,
 You have been invited to collaborate on the project: {0},သငျသညျစီမံကိန်းကိုအပေါ်ပူးပေါင်းဖို့ဖိတ်ခေါ်ခဲ့ကြ: {0},
diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index 4d81095..96d1770 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',U kunt projecttype &#39;extern&#39; niet verwijderen,
 You cannot edit root node.,U kunt het basisknooppunt niet bewerken.,
 You cannot restart a Subscription that is not cancelled.,U kunt een Abonnement dat niet is geannuleerd niet opnieuw opstarten.,
-You don't have enought Loyalty Points to redeem,Je hebt geen genoeg loyaliteitspunten om in te wisselen,
+You don't have enough Loyalty Points to redeem,Je hebt geen genoeg loyaliteitspunten om in te wisselen,
 You have already assessed for the assessment criteria {}.,U heeft al beoordeeld op de beoordelingscriteria {}.,
 You have already selected items from {0} {1},U heeft reeds geselecteerde items uit {0} {1},
 You have been invited to collaborate on the project: {0},U bent uitgenodigd om mee te werken aan het project: {0},
diff --git a/erpnext/translations/no.csv b/erpnext/translations/no.csv
index 0ee6ed6..f285e48 100644
--- a/erpnext/translations/no.csv
+++ b/erpnext/translations/no.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Du kan ikke slette Project Type &#39;External&#39;,
 You cannot edit root node.,Du kan ikke redigere rotknutepunktet.,
 You cannot restart a Subscription that is not cancelled.,Du kan ikke starte en abonnement som ikke er kansellert.,
-You don't have enought Loyalty Points to redeem,Du har ikke nok lojalitetspoeng til å innløse,
+You don't have enough Loyalty Points to redeem,Du har ikke nok lojalitetspoeng til å innløse,
 You have already assessed for the assessment criteria {}.,Du har allerede vurdert for vurderingskriteriene {}.,
 You have already selected items from {0} {1},Du har allerede valgt elementer fra {0} {1},
 You have been invited to collaborate on the project: {0},Du har blitt invitert til å samarbeide om prosjektet: {0},
diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index e0ecec5..82cc64d 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -3069,7 +3069,7 @@
 You cannot delete Project Type 'External',Nie można usunąć typu projektu &quot;zewnętrzny&quot;,
 You cannot edit root node.,Nie można edytować węzła głównego.,
 You cannot restart a Subscription that is not cancelled.,"Nie można ponownie uruchomić subskrypcji, która nie zostanie anulowana.",
-You don't have enought Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
+You don't have enough Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
 You have already assessed for the assessment criteria {}.,Oceniałeś już kryteria oceny {}.,
 You have already selected items from {0} {1},Już wybrane pozycje z {0} {1},
 You have been invited to collaborate on the project: {0},Zostałeś zaproszony do współpracy przy projekcie: {0},
diff --git a/erpnext/translations/ps.csv b/erpnext/translations/ps.csv
index 8788bcb..27df03c 100644
--- a/erpnext/translations/ps.csv
+++ b/erpnext/translations/ps.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',تاسو د پروژې ډول &#39;بهرني&#39; نه ړنګولی شئ,
 You cannot edit root node.,تاسو د ریډ نوډ سمون نشو کولی.,
 You cannot restart a Subscription that is not cancelled.,تاسو نشي کولی هغه یو بل ریکارډ بیا پیل کړئ چې رد شوی نه وي.,
-You don't have enought Loyalty Points to redeem,تاسو د ژغورلو لپاره د وفادارۍ ټکي نلرئ,
+You don't have enough Loyalty Points to redeem,تاسو د ژغورلو لپاره د وفادارۍ ټکي نلرئ,
 You have already assessed for the assessment criteria {}.,تاسو مخکې د ارزونې معیارونه ارزول {}.,
 You have already selected items from {0} {1},تاسو وخته ټاکل څخه توکي {0} د {1},
 You have been invited to collaborate on the project: {0},تاسو ته په دغه پروژه کې همکاري بلل شوي دي: {0},
diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv
index 3aa00ba..c07082e 100644
--- a/erpnext/translations/pt-BR.csv
+++ b/erpnext/translations/pt-BR.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Você não pode excluir o Tipo de Projeto ';Externo';,
 You cannot edit root node.,Você não pode editar o nó raiz.,
 You cannot restart a Subscription that is not cancelled.,Você não pode reiniciar uma Assinatura que não seja cancelada.,
-You don't have enought Loyalty Points to redeem,Você não tem suficientes pontos de lealdade para resgatar,
+You don't have enough Loyalty Points to redeem,Você não tem suficientes pontos de lealdade para resgatar,
 You have already assessed for the assessment criteria {}.,Você já avaliou os critérios de avaliação {}.,
 You have already selected items from {0} {1},Já selecionou itens de {0} {1},
 You have been invited to collaborate on the project: {0},Você foi convidado para colaborar com o projeto: {0},
diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv
index f52ed55..9b7a854 100644
--- a/erpnext/translations/pt.csv
+++ b/erpnext/translations/pt.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Você não pode excluir o Tipo de Projeto &#39;Externo&#39;,
 You cannot edit root node.,Você não pode editar o nó raiz.,
 You cannot restart a Subscription that is not cancelled.,Você não pode reiniciar uma Assinatura que não seja cancelada.,
-You don't have enought Loyalty Points to redeem,Você não tem suficientes pontos de lealdade para resgatar,
+You don't have enough Loyalty Points to redeem,Você não tem suficientes pontos de lealdade para resgatar,
 You have already assessed for the assessment criteria {}.,Você já avaliou os critérios de avaliação {}.,
 You have already selected items from {0} {1},Já selecionou itens de {0} {1},
 You have been invited to collaborate on the project: {0},Foi convidado para colaborar com o projeto: {0},
diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index d3e2685..6c81419 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -3093,7 +3093,7 @@
 You cannot delete Project Type 'External',Nu puteți șterge tipul de proiect &quot;extern&quot;,
 You cannot edit root node.,Nu puteți edita nodul rădăcină.,
 You cannot restart a Subscription that is not cancelled.,Nu puteți reporni o abonament care nu este anulat.,
-You don't have enought Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
+You don't have enough Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
 You have already assessed for the assessment criteria {}.,Ați evaluat deja criteriile de evaluare {}.,
 You have already selected items from {0} {1},Ați selectat deja un produs de la {0} {1},
 You have been invited to collaborate on the project: {0},Ați fost invitat să colaboreze la proiect: {0},
diff --git a/erpnext/translations/ru.csv b/erpnext/translations/ru.csv
index 405ce46..92442cd 100644
--- a/erpnext/translations/ru.csv
+++ b/erpnext/translations/ru.csv
@@ -3092,7 +3092,7 @@
 You cannot delete Project Type 'External',"Вы не можете удалить проект типа ""Внешний""",
 You cannot edit root node.,Вы не можете редактировать корневой узел.,
 You cannot restart a Subscription that is not cancelled.,"Вы не можете перезапустить подписку, которая не отменена.",
-You don't have enought Loyalty Points to redeem,У вас недостаточно очков лояльности для выкупа,
+You don't have enough Loyalty Points to redeem,У вас недостаточно очков лояльности для выкупа,
 You have already assessed for the assessment criteria {}.,Вы уже оценили критерии оценки {}.,
 You have already selected items from {0} {1},Вы уже выбрали продукты из {0} {1},
 You have been invited to collaborate on the project: {0},Вы были приглашены для совместной работы над проектом: {0},
diff --git a/erpnext/translations/rw.csv b/erpnext/translations/rw.csv
index ecad4f5..55b79fe 100644
--- a/erpnext/translations/rw.csv
+++ b/erpnext/translations/rw.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ntushobora gusiba Ubwoko bwumushinga &#39;Hanze&#39;,
 You cannot edit root node.,Ntushobora guhindura imizi.,
 You cannot restart a Subscription that is not cancelled.,Ntushobora gutangira Kwiyandikisha bidahagaritswe.,
-You don't have enought Loyalty Points to redeem,Ntabwo ufite amanota ahagije yo gucungura,
+You don't have enough Loyalty Points to redeem,Ntabwo ufite amanota ahagije yo gucungura,
 You have already assessed for the assessment criteria {}.,Mumaze gusuzuma ibipimo ngenderwaho {}.,
 You have already selected items from {0} {1},Mumaze guhitamo ibintu kuva {0} {1},
 You have been invited to collaborate on the project: {0},Watumiwe gufatanya kumushinga: {0},
diff --git a/erpnext/translations/si.csv b/erpnext/translations/si.csv
index 568f892..b43af74 100644
--- a/erpnext/translations/si.csv
+++ b/erpnext/translations/si.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',ඔබට ව්යාපෘති වර්ගය &#39;බාහිර&#39;,
 You cannot edit root node.,ඔබට root node සංස්කරණය කළ නොහැක.,
 You cannot restart a Subscription that is not cancelled.,අවලංගු නොකළ දායකත්ව නැවත ආරම්භ කළ නොහැක.,
-You don't have enought Loyalty Points to redeem,ඔබ මුදා හැරීමට පක්ෂපාතීත්වයේ පොත්වලට ඔබ කැමති නැත,
+You don't have enough Loyalty Points to redeem,ඔබ මුදා හැරීමට පක්ෂපාතීත්වයේ පොත්වලට ඔබ කැමති නැත,
 You have already assessed for the assessment criteria {}.,තක්සේරු නිර්ණායක {} සඳහා ඔබ දැනටමත් තක්සේරු කර ඇත.,
 You have already selected items from {0} {1},ඔබ මේ වන විටත් {0} {1} සිට භාණ්ඩ තෝරාගෙන ඇති,
 You have been invited to collaborate on the project: {0},ඔබ මෙම ව්යාපෘතිය පිළිබඳව සහයෝගයෙන් කටයුතු කිරීමට ආරාධනා කර ඇත: {0},
diff --git a/erpnext/translations/sk.csv b/erpnext/translations/sk.csv
index a97f6c0..451b882 100644
--- a/erpnext/translations/sk.csv
+++ b/erpnext/translations/sk.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Nemôžete odstrániť typ projektu &quot;Externé&quot;,
 You cannot edit root node.,Nemôžete upraviť koreňový uzol.,
 You cannot restart a Subscription that is not cancelled.,"Predplatné, ktoré nie je zrušené, nemôžete reštartovať.",
-You don't have enought Loyalty Points to redeem,Nemáte dostatok vernostných bodov na vykúpenie,
+You don't have enough Loyalty Points to redeem,Nemáte dostatok vernostných bodov na vykúpenie,
 You have already assessed for the assessment criteria {}.,Vyhodnotili ste kritériá hodnotenia {}.,
 You have already selected items from {0} {1},Už ste vybrané položky z {0} {1},
 You have been invited to collaborate on the project: {0},Boli ste pozvaní k spolupráci na projekte: {0},
diff --git a/erpnext/translations/sl.csv b/erpnext/translations/sl.csv
index b653990..0cb7a6f 100644
--- a/erpnext/translations/sl.csv
+++ b/erpnext/translations/sl.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ne morete izbrisati vrste projekta &quot;Zunanji&quot;,
 You cannot edit root node.,Rootnega vozlišča ne morete urejati.,
 You cannot restart a Subscription that is not cancelled.,"Naročnino, ki ni preklican, ne morete znova zagnati.",
-You don't have enought Loyalty Points to redeem,Za unovčevanje niste prejeli točk za zvestobo,
+You don't have enough Loyalty Points to redeem,Za unovčevanje niste prejeli točk za zvestobo,
 You have already assessed for the assessment criteria {}.,Ste že ocenili za ocenjevalnih meril {}.,
 You have already selected items from {0} {1},Ste že izbrane postavke iz {0} {1},
 You have been invited to collaborate on the project: {0},Ti so bili povabljeni k sodelovanju na projektu: {0},
diff --git a/erpnext/translations/sq.csv b/erpnext/translations/sq.csv
index 964c840..742dfcc 100644
--- a/erpnext/translations/sq.csv
+++ b/erpnext/translations/sq.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ju nuk mund të fshini llojin e projektit &#39;Jashtë&#39;,
 You cannot edit root node.,Nuk mund të ndryshosh nyjen e rrënjës.,
 You cannot restart a Subscription that is not cancelled.,Nuk mund të rifilloni një Abonimi që nuk anulohet.,
-You don't have enought Loyalty Points to redeem,Ju nuk keni shumë pikat e Besnikërisë për të shpenguar,
+You don't have enough Loyalty Points to redeem,Ju nuk keni shumë pikat e Besnikërisë për të shpenguar,
 You have already assessed for the assessment criteria {}.,Ju kanë vlerësuar tashmë me kriteret e vlerësimit {}.,
 You have already selected items from {0} {1},Ju keni zgjedhur tashmë artikuj nga {0} {1},
 You have been invited to collaborate on the project: {0},Ju keni qenë të ftuar për të bashkëpunuar në këtë projekt: {0},
diff --git a/erpnext/translations/sr-SP.csv b/erpnext/translations/sr-SP.csv
index 25223db..bb28353 100644
--- a/erpnext/translations/sr-SP.csv
+++ b/erpnext/translations/sr-SP.csv
@@ -503,7 +503,7 @@
 Price List Rate,Cijena,
 Discount Amount,Vrijednost popusta,
 Sales Invoice Trends,Trendovi faktura prodaje,
-You don't have enought Loyalty Points to redeem,Немате довољно Бодова Лојалности.
+You don't have enough Loyalty Points to redeem,Немате довољно Бодова Лојалности.
 Tax Breakup,Porez po pozicijama,
 Task,Zadatak,
 Add / Edit Prices,Dodaj / Izmijeni cijene,
diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv
index b8428d0..c5662ad 100644
--- a/erpnext/translations/sr.csv
+++ b/erpnext/translations/sr.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Не можете обрисати тип пројекта &#39;Спољни&#39;,
 You cannot edit root node.,Не можете уређивати роот чвор.,
 You cannot restart a Subscription that is not cancelled.,Не можете поново покренути претплату која није отказана.,
-You don't have enought Loyalty Points to redeem,Не искористите Лоиалти Поинтс за откуп,
+You don't have enough Loyalty Points to redeem,Не искористите Лоиалти Поинтс за откуп,
 You have already assessed for the assessment criteria {}.,Већ сте оцијенили за критеријуми за оцењивање {}.,
 You have already selected items from {0} {1},Који сте изабрали ставке из {0} {1},
 You have been invited to collaborate on the project: {0},Позвани сте да сарађују на пројекту: {0},
diff --git a/erpnext/translations/sr_sp.csv b/erpnext/translations/sr_sp.csv
index c121e6a..2383c6e 100644
--- a/erpnext/translations/sr_sp.csv
+++ b/erpnext/translations/sr_sp.csv
@@ -545,7 +545,7 @@
 You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Ne možete obrisati fiskalnu godinu {0}. Fiskalna  {0} godina je označena kao trenutna u globalnim podešavanjima.,
 You cannot delete Project Type 'External',"Не можете обрисати ""Спољни"" тип пројекта.",
 You cannot edit root node.,Не можете уређивати коренски чвор.,
-You don't have enought Loyalty Points to redeem,Немате довољно Бодова Лојалности.,
+You don't have enough Loyalty Points to redeem,Немате довољно Бодова Лојалности.,
 You have already assessed for the assessment criteria {}.,Већ сте оценили за критеријум оцењивања {}.,
 You have already selected items from {0} {1},Већ сте изабрали ставке из {0} {1},
 You have been invited to collaborate on the project: {0},Позвани сте да сарађујете на пројекту: {0},
diff --git a/erpnext/translations/sv.csv b/erpnext/translations/sv.csv
index f4ac1d5..abdbc6b 100644
--- a/erpnext/translations/sv.csv
+++ b/erpnext/translations/sv.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Du kan inte ta bort Project Type &#39;External&#39;,
 You cannot edit root node.,Du kan inte redigera rotknutpunkt.,
 You cannot restart a Subscription that is not cancelled.,Du kan inte starta om en prenumeration som inte avbryts.,
-You don't have enought Loyalty Points to redeem,Du har inte tillräckligt med lojalitetspoäng för att lösa in,
+You don't have enough Loyalty Points to redeem,Du har inte tillräckligt med lojalitetspoäng för att lösa in,
 You have already assessed for the assessment criteria {}.,Du har redan bedömt för bedömningskriterierna {}.,
 You have already selected items from {0} {1},Du har redan valt objekt från {0} {1},
 You have been invited to collaborate on the project: {0},Du har blivit inbjuden att samarbeta i projektet: {0},
diff --git a/erpnext/translations/sw.csv b/erpnext/translations/sw.csv
index 9f2504e..5f29c3f 100644
--- a/erpnext/translations/sw.csv
+++ b/erpnext/translations/sw.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Huwezi kufuta Aina ya Mradi &#39;Nje&#39;,
 You cannot edit root node.,Huwezi kubadilisha node ya mizizi.,
 You cannot restart a Subscription that is not cancelled.,Huwezi kuanzisha upya Usajili ambao haujahairiwa.,
-You don't have enought Loyalty Points to redeem,Huna ushawishi wa Pole ya Uaminifu ili ukomboe,
+You don't have enough Loyalty Points to redeem,Huna ushawishi wa Pole ya Uaminifu ili ukomboe,
 You have already assessed for the assessment criteria {}.,Tayari umehakikishia vigezo vya tathmini {}.,
 You have already selected items from {0} {1},Tayari umechagua vitu kutoka {0} {1},
 You have been invited to collaborate on the project: {0},Umealikwa kushirikiana kwenye mradi: {0},
diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv
index cb8b83a..d36f47c 100644
--- a/erpnext/translations/ta.csv
+++ b/erpnext/translations/ta.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',நீங்கள் திட்டம் வகை &#39;வெளிப்புற&#39; நீக்க முடியாது,
 You cannot edit root node.,ரூட் முனையை நீங்கள் திருத்த முடியாது.,
 You cannot restart a Subscription that is not cancelled.,ரத்துசெய்யப்படாத சந்தாவை மறுதொடக்கம் செய்ய முடியாது.,
-You don't have enought Loyalty Points to redeem,நீங்கள் மீட்கும் விசுவாச புள்ளிகளைப் பெறுவீர்கள்,
+You don't have enough Loyalty Points to redeem,நீங்கள் மீட்கும் விசுவாச புள்ளிகளைப் பெறுவீர்கள்,
 You have already assessed for the assessment criteria {}.,ஏற்கனவே மதிப்பீட்டிற்குத் தகுதி மதிப்பீடு செய்யப்பட்டதன் {}.,
 You have already selected items from {0} {1},நீங்கள் ஏற்கனவே இருந்து பொருட்களை தேர்ந்தெடுத்த {0} {1},
 You have been invited to collaborate on the project: {0},நீங்கள் திட்டம் இணைந்து அழைக்கப்பட்டுள்ளனர்: {0},
diff --git a/erpnext/translations/te.csv b/erpnext/translations/te.csv
index a2f4960..83d9c8c 100644
--- a/erpnext/translations/te.csv
+++ b/erpnext/translations/te.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',మీరు ప్రాజెక్ట్ రకం &#39;బాహ్య&#39; తొలగించలేరు,
 You cannot edit root node.,మీరు రూట్ నోడ్ను సవరించలేరు.,
 You cannot restart a Subscription that is not cancelled.,మీరు రద్దు చేయని సభ్యత్వాన్ని పునఃప్రారంభించలేరు.,
-You don't have enought Loyalty Points to redeem,మీరు విమోచన చేయడానికి లాయల్టీ పాయింట్స్ను కలిగి ఉండరు,
+You don't have enough Loyalty Points to redeem,మీరు విమోచన చేయడానికి లాయల్టీ పాయింట్స్ను కలిగి ఉండరు,
 You have already assessed for the assessment criteria {}.,మీరు ఇప్పటికే అంచనా ప్రమాణం కోసం అంచనా {}.,
 You have already selected items from {0} {1},మీరు ఇప్పటికే ఎంపిక నుండి అంశాలను రోజులో {0} {1},
 You have been invited to collaborate on the project: {0},మీరు ప్రాజెక్ట్ సహకరించడానికి ఆహ్వానించబడ్డారు: {0},
diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv
index af272fa..e492856 100644
--- a/erpnext/translations/th.csv
+++ b/erpnext/translations/th.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',คุณไม่สามารถลบประเภทโครงการ &#39;ภายนอก&#39;,
 You cannot edit root node.,คุณไม่สามารถแก้ไขโหนดรากได้,
 You cannot restart a Subscription that is not cancelled.,คุณไม่สามารถรีสตาร์ทการสมัครสมาชิกที่ไม่ได้ยกเลิกได้,
-You don't have enought Loyalty Points to redeem,คุณไม่มีจุดภักดีเพียงพอที่จะไถ่ถอน,
+You don't have enough Loyalty Points to redeem,คุณไม่มีจุดภักดีเพียงพอที่จะไถ่ถอน,
 You have already assessed for the assessment criteria {}.,คุณได้รับการประเมินเกณฑ์การประเมินแล้ว {},
 You have already selected items from {0} {1},คุณได้เลือกแล้วรายการจาก {0} {1},
 You have been invited to collaborate on the project: {0},คุณได้รับเชิญที่จะทำงานร่วมกันในโครงการ: {0},
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 9c8fb3f..e0034c0 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',&#39;Dış&#39; Proje Türünü silemezsiniz.,
 You cannot edit root node.,Kök düğümünü düzenleyemezsiniz.,
 You cannot restart a Subscription that is not cancelled.,İptal edilmeyen bir Aboneliği başlatamazsınız.,
-You don't have enought Loyalty Points to redeem,Kullanılması gereken sadakat puanlarına sahip olabilirsiniz,
+You don't have enough Loyalty Points to redeem,Kullanılması gereken sadakat puanlarına sahip olabilirsiniz,
 You have already assessed for the assessment criteria {}.,Zaten değerlendirme kriteri {} için değerlendirdiniz.,
 You have already selected items from {0} {1},Zaten öğelerinizi seçtiniz {0} {1},
 You have been invited to collaborate on the project: {0},{0} projesine davet edilmek için davet edildiniz,
diff --git a/erpnext/translations/uk.csv b/erpnext/translations/uk.csv
index 1b78f96..f4faedc 100644
--- a/erpnext/translations/uk.csv
+++ b/erpnext/translations/uk.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Ви не можете видалити тип проекту &quot;Зовнішній&quot;,
 You cannot edit root node.,Ви не можете редагувати кореневий вузол.,
 You cannot restart a Subscription that is not cancelled.,"Ви не можете перезапустити підписку, яку не скасовано.",
-You don't have enought Loyalty Points to redeem,"Ви не маєте впевнених точок лояльності, щоб викупити",
+You don't have enough Loyalty Points to redeem,"Ви не маєте впевнених точок лояльності, щоб викупити",
 You have already assessed for the assessment criteria {}.,Ви вже оцінили за критеріями оцінки {}.,
 You have already selected items from {0} {1},Ви вже вибрали елементи з {0} {1},
 You have been invited to collaborate on the project: {0},Ви були запрошені для спільної роботи над проектом: {0},
diff --git a/erpnext/translations/ur.csv b/erpnext/translations/ur.csv
index e32e594..e958e57 100644
--- a/erpnext/translations/ur.csv
+++ b/erpnext/translations/ur.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',آپ پراجیکٹ کی قسم کو خارج نہیں کرسکتے ہیں &#39;بیرونی&#39;,
 You cannot edit root node.,آپ جڑ نوڈ میں ترمیم نہیں کر سکتے ہیں.,
 You cannot restart a Subscription that is not cancelled.,آپ ایک سبسکرپشن کو دوبارہ شروع نہیں کرسکتے جو منسوخ نہیں ہوسکتا.,
-You don't have enought Loyalty Points to redeem,آپ کو بہت زیادہ وفادار پوائنٹس حاصل کرنے کے لئے نہیں ہے,
+You don't have enough Loyalty Points to redeem,آپ کو بہت زیادہ وفادار پوائنٹس حاصل کرنے کے لئے نہیں ہے,
 You have already assessed for the assessment criteria {}.,آپ نے پہلے ہی تشخیص کے معیار کے تعین کی ہے {}.,
 You have already selected items from {0} {1},آپ نے پہلے ہی سے اشیاء کو منتخب کیا ہے {0} {1},
 You have been invited to collaborate on the project: {0},آپ کو منصوبے پر تعاون کرنے کیلئے مدعو کیا گیا ہے: {0},
diff --git a/erpnext/translations/uz.csv b/erpnext/translations/uz.csv
index 3053559..6cdb23c 100644
--- a/erpnext/translations/uz.csv
+++ b/erpnext/translations/uz.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Siz &quot;Tashqi&quot; loyiha turini o&#39;chira olmaysiz,
 You cannot edit root node.,Ildiz tugunni tahrirlay olmaysiz.,
 You cannot restart a Subscription that is not cancelled.,Bekor qilinmagan obunani qayta boshlash mumkin emas.,
-You don't have enought Loyalty Points to redeem,Siz sotib olish uchun sodiqlik nuqtalari yo&#39;q,
+You don't have enough Loyalty Points to redeem,Siz sotib olish uchun sodiqlik nuqtalari yo&#39;q,
 You have already assessed for the assessment criteria {}.,Siz allaqachon baholash mezonlari uchun baholagansiz {}.,
 You have already selected items from {0} {1},{0} {1} dan tanlangan elementlarni tanladingiz,
 You have been invited to collaborate on the project: {0},Siz loyihada hamkorlik qilish uchun taklif qilingan: {0},
diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv
index 5c74694..650ac28 100644
--- a/erpnext/translations/vi.csv
+++ b/erpnext/translations/vi.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',Bạn không thể xóa Loại dự án &#39;Bên ngoài&#39;,
 You cannot edit root node.,Bạn không thể chỉnh sửa nút gốc.,
 You cannot restart a Subscription that is not cancelled.,Bạn không thể khởi động lại Đăng ký không bị hủy.,
-You don't have enought Loyalty Points to redeem,Bạn không có Điểm trung thành đủ để đổi,
+You don't have enough Loyalty Points to redeem,Bạn không có Điểm trung thành đủ để đổi,
 You have already assessed for the assessment criteria {}.,Bạn đã đánh giá các tiêu chí đánh giá {}.,
 You have already selected items from {0} {1},Bạn đã chọn các mục từ {0} {1},
 You have been invited to collaborate on the project: {0},Bạn được lời mời cộng tác trong dự án: {0},
diff --git a/erpnext/translations/zh-TW.csv b/erpnext/translations/zh-TW.csv
index 25204f1..0209f44 100644
--- a/erpnext/translations/zh-TW.csv
+++ b/erpnext/translations/zh-TW.csv
@@ -1542,7 +1542,7 @@
 Course Intro,課程介紹
 MWS Auth Token,MWS Auth Token,
 Stock Entry {0} created,庫存輸入{0}創建
-You don't have enought Loyalty Points to redeem,您沒有獲得忠誠度積分兌換
+You don't have enough Loyalty Points to redeem,您沒有獲得忠誠度積分兌換
 Please set associated account in Tax Withholding Category {0} against Company {1},請在針對公司{1}的預扣稅分類{0}中設置關聯帳戶
 Row #{0}: Rejected Qty can not be entered in Purchase Return,行#{0}:駁回採購退貨數量不能進入
 Changing Customer Group for the selected Customer is not allowed.,不允許更改所選客戶的客戶組。
diff --git a/erpnext/translations/zh.csv b/erpnext/translations/zh.csv
index 9b2fbf0..d51bf6b 100644
--- a/erpnext/translations/zh.csv
+++ b/erpnext/translations/zh.csv
@@ -3094,7 +3094,7 @@
 You cannot delete Project Type 'External',您不能删除“外部”类型的项目,
 You cannot edit root node.,您不能编辑根节点。,
 You cannot restart a Subscription that is not cancelled.,您无法重新启动未取消的订阅。,
-You don't have enought Loyalty Points to redeem,您没有获得忠诚度积分兑换,
+You don't have enough Loyalty Points to redeem,您没有获得忠诚度积分兑换,
 You have already assessed for the assessment criteria {}.,您已经评估了评估标准{}。,
 You have already selected items from {0} {1},您已经选择从项目{0} {1},
 You have been invited to collaborate on the project: {0},您已被邀请在项目上进行合作:{0},
diff --git a/erpnext/translations/zh_tw.csv b/erpnext/translations/zh_tw.csv
index 54eb86a..75157f0 100644
--- a/erpnext/translations/zh_tw.csv
+++ b/erpnext/translations/zh_tw.csv
@@ -3127,7 +3127,7 @@
 You cannot delete Project Type 'External',您不能刪除項目類型“外部”,
 You cannot edit root node.,您不能編輯根節點。,
 You cannot restart a Subscription that is not cancelled.,您無法重新啟動未取消的訂閱。,
-You don't have enought Loyalty Points to redeem,您沒有獲得忠誠度積分兌換,
+You don't have enough Loyalty Points to redeem,您沒有獲得忠誠度積分兌換,
 You have already assessed for the assessment criteria {}.,您已經評估了評估標準{}。,
 You have already selected items from {0} {1},您已經選擇從項目{0} {1},
 You have been invited to collaborate on the project: {0},您已被邀請在項目上進行合作:{0},