diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
index 75f8f06..9e67c4c 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/chart_of_accounts.py
@@ -29,6 +29,7 @@
 					"root_type",
 					"is_group",
 					"tax_rate",
+					"account_currency",
 				]:
 
 					account_number = cstr(child.get("account_number")).strip()
@@ -95,7 +96,17 @@
 		is_group = child.get("is_group")
 	elif len(
 		set(child.keys())
-		- set(["account_name", "account_type", "root_type", "is_group", "tax_rate", "account_number"])
+		- set(
+			[
+				"account_name",
+				"account_type",
+				"root_type",
+				"is_group",
+				"tax_rate",
+				"account_number",
+				"account_currency",
+			]
+		)
 	):
 		is_group = 1
 	else:
@@ -185,6 +196,7 @@
 			"root_type",
 			"tax_rate",
 			"account_number",
+			"account_currency",
 		],
 		order_by="lft, rgt",
 	)
@@ -267,6 +279,7 @@
 				"root_type",
 				"is_group",
 				"tax_rate",
+				"account_currency",
 			]:
 				continue
 
diff --git a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py
index 220b747..cb7da17 100644
--- a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py
+++ b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py
@@ -36,7 +36,7 @@
 
 	no_of_columns = max([len(d) for d in data])
 
-	if no_of_columns > 7:
+	if no_of_columns > 8:
 		frappe.throw(
 			_("More columns found than expected. Please compare the uploaded file with standard template"),
 			title=(_("Wrong Template")),
@@ -233,6 +233,7 @@
 			is_group,
 			account_type,
 			root_type,
+			account_currency,
 		) = i
 
 		if not account_name:
@@ -253,6 +254,8 @@
 			charts_map[account_name]["account_type"] = account_type
 		if root_type:
 			charts_map[account_name]["root_type"] = root_type
+		if account_currency:
+			charts_map[account_name]["account_currency"] = account_currency
 		path = return_parent(data, account_name)[::-1]
 		paths.append(path)  # List of path is created
 		line_no += 1
@@ -315,6 +318,7 @@
 		"Is Group",
 		"Account Type",
 		"Root Type",
+		"Account Currency",
 	]
 	writer = UnicodeWriter()
 	writer.writerow(fields)
diff --git a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
index d67d59b..a4f6a74 100644
--- a/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
+++ b/erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
@@ -211,8 +211,7 @@
 			# Handle Accounts with '0' balance in Account/Base Currency
 			for d in [x for x in account_details if x.zero_balance]:
 
-				# TODO: Set new balance in Base/Account currency
-				if d.balance > 0:
+				if d.balance != 0:
 					current_exchange_rate = new_exchange_rate = 0
 
 					new_balance_in_account_currency = 0  # this will be '0'
@@ -399,6 +398,9 @@
 
 		journal_entry_accounts = []
 		for d in accounts:
+			if not flt(d.get("balance_in_account_currency"), d.precision("balance_in_account_currency")):
+				continue
+
 			dr_or_cr = (
 				"debit_in_account_currency"
 				if d.get("balance_in_account_currency") > 0
@@ -448,7 +450,13 @@
 				}
 			)
 
-		journal_entry_accounts.append(
+		journal_entry.set("accounts", journal_entry_accounts)
+		journal_entry.set_amounts_in_company_currency()
+		journal_entry.set_total_debit_credit()
+
+		self.gain_loss_unbooked += journal_entry.difference - self.gain_loss_unbooked
+		journal_entry.append(
+			"accounts",
 			{
 				"account": unrealized_exchange_gain_loss_account,
 				"balance": get_balance_on(unrealized_exchange_gain_loss_account),
@@ -460,10 +468,9 @@
 				"exchange_rate": 1,
 				"reference_type": "Exchange Rate Revaluation",
 				"reference_name": self.name,
-			}
+			},
 		)
 
-		journal_entry.set("accounts", journal_entry_accounts)
 		journal_entry.set_amounts_in_company_currency()
 		journal_entry.set_total_debit_credit()
 		journal_entry.save()
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.json b/erpnext/accounts/doctype/journal_entry/journal_entry.json
index 498fc7c..80e7222 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.json
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -137,7 +137,8 @@
    "fieldname": "finance_book",
    "fieldtype": "Link",
    "label": "Finance Book",
-   "options": "Finance Book"
+   "options": "Finance Book",
+   "read_only": 1
   },
   {
    "fieldname": "2_add_edit_gl_entries",
@@ -538,7 +539,7 @@
  "idx": 176,
  "is_submittable": 1,
  "links": [],
- "modified": "2023-01-17 12:53:53.280620",
+ "modified": "2023-03-01 14:58:59.286591",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Journal Entry",
diff --git a/erpnext/accounts/doctype/payment_request/payment_request.py b/erpnext/accounts/doctype/payment_request/payment_request.py
index 2f43914..7005c17 100644
--- a/erpnext/accounts/doctype/payment_request/payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/payment_request.py
@@ -495,26 +495,22 @@
 	"""get amount based on doctype"""
 	dt = ref_doc.doctype
 	if dt in ["Sales Order", "Purchase Order"]:
-		grand_total = flt(ref_doc.rounded_total) - flt(ref_doc.advance_paid)
-
+		grand_total = flt(ref_doc.rounded_total) or flt(ref_doc.grand_total)
 	elif dt in ["Sales Invoice", "Purchase Invoice"]:
 		if ref_doc.party_account_currency == ref_doc.currency:
 			grand_total = flt(ref_doc.outstanding_amount)
 		else:
 			grand_total = flt(ref_doc.outstanding_amount) / ref_doc.conversion_rate
-
 	elif dt == "POS Invoice":
 		for pay in ref_doc.payments:
 			if pay.type == "Phone" and pay.account == payment_account:
 				grand_total = pay.amount
 				break
-
 	elif dt == "Fees":
 		grand_total = ref_doc.outstanding_amount
 
 	if grand_total > 0:
 		return grand_total
-
 	else:
 		frappe.throw(_("Payment Entry is already created"))
 
diff --git a/erpnext/accounts/doctype/payment_request/test_payment_request.py b/erpnext/accounts/doctype/payment_request/test_payment_request.py
index 477c726..4279aa4 100644
--- a/erpnext/accounts/doctype/payment_request/test_payment_request.py
+++ b/erpnext/accounts/doctype/payment_request/test_payment_request.py
@@ -45,7 +45,10 @@
 				frappe.get_doc(method).insert(ignore_permissions=True)
 
 	def test_payment_request_linkings(self):
-		so_inr = make_sales_order(currency="INR")
+		so_inr = make_sales_order(currency="INR", do_not_save=True)
+		so_inr.disable_rounded_total = 1
+		so_inr.save()
+
 		pr = make_payment_request(
 			dt="Sales Order",
 			dn=so_inr.name,
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
index a1239d6..b40649b 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
@@ -161,7 +161,7 @@
 
 		bold_item_name = frappe.bold(item.item_name)
 		bold_extra_batch_qty_needed = frappe.bold(
-			abs(available_batch_qty - reserved_batch_qty - item.qty)
+			abs(available_batch_qty - reserved_batch_qty - item.stock_qty)
 		)
 		bold_invalid_batch_no = frappe.bold(item.batch_no)
 
@@ -172,7 +172,7 @@
 				).format(item.idx, bold_invalid_batch_no, bold_item_name),
 				title=_("Item Unavailable"),
 			)
-		elif (available_batch_qty - reserved_batch_qty - item.qty) < 0:
+		elif (available_batch_qty - reserved_batch_qty - item.stock_qty) < 0:
 			frappe.throw(
 				_(
 					"Row #{}: Batch No. {} of item {} has less than required stock available, {} more required"
@@ -246,7 +246,7 @@
 						),
 						title=_("Item Unavailable"),
 					)
-				elif is_stock_item and flt(available_stock) < flt(d.qty):
+				elif is_stock_item and flt(available_stock) < flt(d.stock_qty):
 					frappe.throw(
 						_(
 							"Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}."
@@ -651,7 +651,7 @@
 		item_pos_reserved_qty = get_pos_reserved_qty(item.item_code, warehouse)
 		available_qty = item_bin_qty - item_pos_reserved_qty
 
-		max_available_bundles = available_qty / item.qty
+		max_available_bundles = available_qty / item.stock_qty
 		if bundle_bin_qty > max_available_bundles and frappe.get_value(
 			"Item", item.item_code, "is_stock_item"
 		):
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 21addab..b79af71 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -1485,11 +1485,17 @@
 		if po_details:
 			updated_pr += update_billed_amount_based_on_po(po_details, update_modified)
 
+		adjust_incoming_rate = frappe.db.get_single_value(
+			"Buying Settings", "set_landed_cost_based_on_purchase_invoice_rate"
+		)
+
 		for pr in set(updated_pr):
 			from erpnext.stock.doctype.purchase_receipt.purchase_receipt import update_billing_percentage
 
 			pr_doc = frappe.get_doc("Purchase Receipt", pr)
-			update_billing_percentage(pr_doc, update_modified=update_modified)
+			update_billing_percentage(
+				pr_doc, update_modified=update_modified, adjust_incoming_rate=adjust_incoming_rate
+			)
 
 	def get_pr_details_billed_amt(self):
 		# Get billed amount based on purchase receipt item reference (pr_detail) in purchase invoice
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index f901257..a6d7df6 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -1523,6 +1523,94 @@
 		company.enable_provisional_accounting_for_non_stock_items = 0
 		company.save()
 
+	def test_adjust_incoming_rate(self):
+		frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 0)
+
+		frappe.db.set_single_value(
+			"Buying Settings", "set_landed_cost_based_on_purchase_invoice_rate", 1
+		)
+
+		# Increase the cost of the item
+
+		pr = make_purchase_receipt(qty=1, rate=100)
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 100)
+
+		pi = create_purchase_invoice_from_receipt(pr.name)
+		for row in pi.items:
+			row.rate = 150
+
+		pi.save()
+		pi.submit()
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 150)
+
+		# Reduce the cost of the item
+
+		pr = make_purchase_receipt(qty=1, rate=100)
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 100)
+
+		pi = create_purchase_invoice_from_receipt(pr.name)
+		for row in pi.items:
+			row.rate = 50
+
+		pi.save()
+		pi.submit()
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 50)
+
+		frappe.db.set_single_value(
+			"Buying Settings", "set_landed_cost_based_on_purchase_invoice_rate", 0
+		)
+
+		# Don't adjust incoming rate
+
+		pr = make_purchase_receipt(qty=1, rate=100)
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 100)
+
+		pi = create_purchase_invoice_from_receipt(pr.name)
+		for row in pi.items:
+			row.rate = 50
+
+		pi.save()
+		pi.submit()
+
+		stock_value_difference = frappe.db.get_value(
+			"Stock Ledger Entry",
+			{"voucher_type": "Purchase Receipt", "voucher_no": pr.name},
+			"stock_value_difference",
+		)
+		self.assertEqual(stock_value_difference, 100)
+
+		frappe.db.set_single_value("Buying Settings", "maintain_same_rate", 1)
+
 	def test_item_less_defaults(self):
 
 		pi = frappe.new_doc("Purchase Invoice")
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 ddee9fc..7b60800 100644
--- a/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
+++ b/erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py
@@ -138,7 +138,8 @@
 		for data in [asset_data, liability_data, equity_data]:
 			if data:
 				account_name = get_root_account_name(data[0].root_type, company)
-				opening_value += get_opening_balance(account_name, data, company) or 0.0
+				if account_name:
+					opening_value += get_opening_balance(account_name, data, company) or 0.0
 
 		opening_balance[company] = opening_value
 
@@ -155,7 +156,7 @@
 
 
 def get_root_account_name(root_type, company):
-	return frappe.get_all(
+	root_account = frappe.get_all(
 		"Account",
 		fields=["account_name"],
 		filters={
@@ -165,7 +166,10 @@
 			"parent_account": ("is", "not set"),
 		},
 		as_list=1,
-	)[0][0]
+	)
+
+	if root_account:
+		return root_account[0][0]
 
 
 def get_profit_loss_data(fiscal_year, companies, columns, filters):
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.html b/erpnext/accounts/report/general_ledger/general_ledger.html
index 475be92..2d5ca49 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.html
+++ b/erpnext/accounts/report/general_ledger/general_ledger.html
@@ -38,8 +38,11 @@
 			{% if(data[i].posting_date) { %}
 				<td>{%= frappe.datetime.str_to_user(data[i].posting_date) %}</td>
 				<td>{%= data[i].voucher_type %}
-					<br>{%= data[i].voucher_no %}</td>
-				<td>
+					<br>{%= data[i].voucher_no %}
+				</td>
+				{% var longest_word = cstr(data[i].remarks).split(" ").reduce((longest, word) => word.length > longest.length ? word : longest, ""); %}
+				<td {% if longest_word.length > 45 %} class="overflow-wrap-anywhere" {% endif %}>
+					<span>
 					{% if(!(filters.party || filters.account)) { %}
 						{%= data[i].party || data[i].account %}
 						<br>
@@ -49,11 +52,14 @@
 					{% if(data[i].bill_no) { %}
 						<br>{%= __("Supplier Invoice No") %}: {%= data[i].bill_no %}
 					{% } %}
-					</td>
-					<td style="text-align: right">
-						{%= format_currency(data[i].debit, filters.presentation_currency || data[i].account_currency) %}</td>
-					<td style="text-align: right">
-						{%= format_currency(data[i].credit, filters.presentation_currency || data[i].account_currency) %}</td>
+					</span>
+				</td>
+				<td style="text-align: right">
+					{%= format_currency(data[i].debit, filters.presentation_currency) %}
+				</td>
+				<td style="text-align: right">
+					{%= format_currency(data[i].credit, filters.presentation_currency) %}
+				</td>
 			{% } else { %}
 				<td></td>
 				<td></td>
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.js b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.js
index c28b2b3..3d2dff1 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.js
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.js
@@ -43,9 +43,9 @@
 	if(frm.doc.depreciation_method != "Manual") return;
 
 	var accumulated_depreciation = flt(frm.doc.opening_accumulated_depreciation);
-	$.each(frm.doc.schedules || [], function(i, row) {
+
+	$.each(frm.doc.depreciation_schedule || [], function(i, row) {
 		accumulated_depreciation  += flt(row.depreciation_amount);
-		frappe.model.set_value(row.doctype, row.name,
-			"accumulated_depreciation_amount", accumulated_depreciation);
+		frappe.model.set_value(row.doctype, row.name, "accumulated_depreciation_amount", accumulated_depreciation);
 	})
 };
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
index 898c482..d38508d 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.json
@@ -10,7 +10,9 @@
   "asset",
   "naming_series",
   "column_break_2",
+  "gross_purchase_amount",
   "opening_accumulated_depreciation",
+  "number_of_depreciations_booked",
   "finance_book",
   "finance_book_id",
   "depreciation_details_section",
@@ -148,18 +150,36 @@
    "read_only": 1
   },
   {
-   "depends_on": "opening_accumulated_depreciation",
    "fieldname": "opening_accumulated_depreciation",
    "fieldtype": "Currency",
+   "hidden": 1,
    "label": "Opening Accumulated Depreciation",
    "options": "Company:company:default_currency",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "gross_purchase_amount",
+   "fieldtype": "Currency",
+   "hidden": 1,
+   "label": "Gross Purchase Amount",
+   "options": "Company:company:default_currency",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "number_of_depreciations_booked",
+   "fieldtype": "Int",
+   "hidden": 1,
+   "label": "Number of Depreciations Booked",
+   "print_hide": 1,
    "read_only": 1
   }
  ],
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2023-01-16 21:08:21.421260",
+ "modified": "2023-02-26 16:37:23.734806",
  "modified_by": "Administrator",
  "module": "Assets",
  "name": "Asset Depreciation Schedule",
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
index 6f02662..b75fbcb 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -4,7 +4,15 @@
 import frappe
 from frappe import _
 from frappe.model.document import Document
-from frappe.utils import add_days, add_months, cint, flt, get_last_day, is_last_day_of_the_month
+from frappe.utils import (
+	add_days,
+	add_months,
+	cint,
+	flt,
+	get_last_day,
+	getdate,
+	is_last_day_of_the_month,
+)
 
 
 class AssetDepreciationSchedule(Document):
@@ -83,15 +91,58 @@
 		date_of_return=None,
 		update_asset_finance_book_row=True,
 	):
+		have_asset_details_been_modified = self.have_asset_details_been_modified(asset_doc)
+		not_manual_depr_or_have_manual_depr_details_been_modified = (
+			self.not_manual_depr_or_have_manual_depr_details_been_modified(row)
+		)
+
 		self.set_draft_asset_depr_schedule_details(asset_doc, row)
-		self.make_depr_schedule(asset_doc, row, date_of_disposal, update_asset_finance_book_row)
-		self.set_accumulated_depreciation(row, date_of_disposal, date_of_return)
+
+		if self.should_prepare_depreciation_schedule(
+			have_asset_details_been_modified, not_manual_depr_or_have_manual_depr_details_been_modified
+		):
+			self.make_depr_schedule(asset_doc, row, date_of_disposal, update_asset_finance_book_row)
+			self.set_accumulated_depreciation(row, date_of_disposal, date_of_return)
+
+	def have_asset_details_been_modified(self, asset_doc):
+		return (
+			asset_doc.gross_purchase_amount != self.gross_purchase_amount
+			or asset_doc.opening_accumulated_depreciation != self.opening_accumulated_depreciation
+			or asset_doc.number_of_depreciations_booked != self.number_of_depreciations_booked
+		)
+
+	def not_manual_depr_or_have_manual_depr_details_been_modified(self, row):
+		return (
+			self.depreciation_method != "Manual"
+			or row.total_number_of_depreciations != self.total_number_of_depreciations
+			or row.frequency_of_depreciation != self.frequency_of_depreciation
+			or getdate(row.depreciation_start_date) != self.get("depreciation_schedule")[0].schedule_date
+			or row.expected_value_after_useful_life != self.expected_value_after_useful_life
+		)
+
+	def should_prepare_depreciation_schedule(
+		self, have_asset_details_been_modified, not_manual_depr_or_have_manual_depr_details_been_modified
+	):
+		if not self.get("depreciation_schedule"):
+			return True
+
+		old_asset_depr_schedule_doc = self.get_doc_before_save()
+
+		if self.docstatus != 0 and not old_asset_depr_schedule_doc:
+			return True
+
+		if have_asset_details_been_modified or not_manual_depr_or_have_manual_depr_details_been_modified:
+			return True
+
+		return False
 
 	def set_draft_asset_depr_schedule_details(self, asset_doc, row):
 		self.asset = asset_doc.name
 		self.finance_book = row.finance_book
 		self.finance_book_id = row.idx
 		self.opening_accumulated_depreciation = asset_doc.opening_accumulated_depreciation
+		self.number_of_depreciations_booked = asset_doc.number_of_depreciations_booked
+		self.gross_purchase_amount = asset_doc.gross_purchase_amount
 		self.depreciation_method = row.depreciation_method
 		self.total_number_of_depreciations = row.total_number_of_depreciations
 		self.frequency_of_depreciation = row.frequency_of_depreciation
@@ -102,7 +153,7 @@
 	def make_depr_schedule(
 		self, asset_doc, row, date_of_disposal, update_asset_finance_book_row=True
 	):
-		if row.depreciation_method != "Manual" and not self.get("depreciation_schedule"):
+		if not self.get("depreciation_schedule"):
 			self.depreciation_schedule = []
 
 		if not asset_doc.available_for_use_date:
@@ -293,7 +344,9 @@
 		ignore_booked_entry=False,
 	):
 		straight_line_idx = [
-			d.idx for d in self.get("depreciation_schedule") if d.depreciation_method == "Straight Line"
+			d.idx
+			for d in self.get("depreciation_schedule")
+			if d.depreciation_method == "Straight Line" or d.depreciation_method == "Manual"
 		]
 
 		accumulated_depreciation = flt(self.opening_accumulated_depreciation)
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.json b/erpnext/buying/doctype/buying_settings/buying_settings.json
index 652dcf0..95857e4 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.json
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.json
@@ -18,6 +18,7 @@
   "pr_required",
   "column_break_12",
   "maintain_same_rate",
+  "set_landed_cost_based_on_purchase_invoice_rate",
   "allow_multiple_items",
   "bill_for_rejected_quantity_in_purchase_invoice",
   "disable_last_purchase_rate",
@@ -147,6 +148,14 @@
    "fieldname": "show_pay_button",
    "fieldtype": "Check",
    "label": "Show Pay Button in Purchase Order Portal"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: !doc.maintain_same_rate",
+   "description": "Users can enable the checkbox If they want to adjust the incoming rate (set using purchase receipt) based on the purchase invoice rate.",
+   "fieldname": "set_landed_cost_based_on_purchase_invoice_rate",
+   "fieldtype": "Check",
+   "label": "Set Landed Cost Based on Purchase Invoice Rate"
   }
  ],
  "icon": "fa fa-cog",
@@ -154,7 +163,7 @@
  "index_web_pages_for_search": 1,
  "issingle": 1,
  "links": [],
- "modified": "2023-02-15 14:42:10.200679",
+ "modified": "2023-02-28 15:41:32.686805",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Buying Settings",
diff --git a/erpnext/buying/doctype/buying_settings/buying_settings.py b/erpnext/buying/doctype/buying_settings/buying_settings.py
index be1ebde..4680a88 100644
--- a/erpnext/buying/doctype/buying_settings/buying_settings.py
+++ b/erpnext/buying/doctype/buying_settings/buying_settings.py
@@ -21,3 +21,10 @@
 			self.get("supp_master_name") == "Naming Series",
 			hide_name_field=False,
 		)
+
+	def before_save(self):
+		self.check_maintain_same_rate()
+
+	def check_maintain_same_rate(self):
+		if self.maintain_same_rate:
+			self.set_landed_cost_based_on_purchase_invoice_rate = 0
diff --git a/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js b/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js
index 6304a09..9db769d 100644
--- a/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js
+++ b/erpnext/buying/report/subcontracted_item_to_be_received/subcontracted_item_to_be_received.js
@@ -22,14 +22,14 @@
 			fieldname:"from_date",
 			label: __("From Date"),
 			fieldtype: "Date",
-			default: frappe.datetime.add_months(frappe.datetime.month_start(), -1),
+			default: frappe.datetime.add_months(frappe.datetime.get_today(), -1),
 			reqd: 1
 		},
 		{
 			fieldname:"to_date",
 			label: __("To Date"),
 			fieldtype: "Date",
-			default: frappe.datetime.add_days(frappe.datetime.month_start(),-1),
+			default: frappe.datetime.get_today(),
 			reqd: 1
 		},
 	]
diff --git a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js
index b6739fe..7e5338f 100644
--- a/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js
+++ b/erpnext/buying/report/subcontracted_raw_materials_to_be_transferred/subcontracted_raw_materials_to_be_transferred.js
@@ -22,14 +22,14 @@
 			fieldname:"from_date",
 			label: __("From Date"),
 			fieldtype: "Date",
-			default: frappe.datetime.add_months(frappe.datetime.month_start(), -1),
+			default: frappe.datetime.add_months(frappe.datetime.get_today(), -1),
 			reqd: 1
 		},
 		{
 			fieldname:"to_date",
 			label: __("To Date"),
 			fieldtype: "Date",
-			default: frappe.datetime.add_days(frappe.datetime.month_start(),-1),
+			default: frappe.datetime.get_today(),
 			reqd: 1
 		},
 	]
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 4f7d9ad..e15b612 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -265,7 +265,10 @@
 					) / qty_in_stock_uom
 				else:
 					item.valuation_rate = (
-						item.base_net_amount + item.item_tax_amount + flt(item.landed_cost_voucher_amount)
+						item.base_net_amount
+						+ item.item_tax_amount
+						+ flt(item.landed_cost_voucher_amount)
+						+ flt(item.get("rate_difference_with_purchase_invoice"))
 					) / qty_in_stock_uom
 			else:
 				item.valuation_rate = 0.0
diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py
index fc6793a..15c270e 100644
--- a/erpnext/controllers/sales_and_purchase_return.py
+++ b/erpnext/controllers/sales_and_purchase_return.py
@@ -131,7 +131,7 @@
 					)
 
 				elif ref.serial_no:
-					if not d.serial_no:
+					if d.qty and not d.serial_no:
 						frappe.throw(_("Row # {0}: Serial No is mandatory").format(d.idx))
 					else:
 						serial_nos = get_serial_nos(d.serial_no)
@@ -252,7 +252,6 @@
 			child.parent = par.name and par.docstatus = 1
 			and par.is_return = 1 and par.return_against = %s
 		group by item_code
-		for update
 	""".format(
 			column, doc.doctype, doc.doctype
 		),
@@ -401,6 +400,16 @@
 			if serial_nos:
 				target_doc.serial_no = "\n".join(serial_nos)
 
+		if source_doc.get("rejected_serial_no"):
+			returned_serial_nos = get_returned_serial_nos(
+				source_doc, source_parent, serial_no_field="rejected_serial_no"
+			)
+			rejected_serial_nos = list(
+				set(get_serial_nos(source_doc.rejected_serial_no)) - set(returned_serial_nos)
+			)
+			if rejected_serial_nos:
+				target_doc.rejected_serial_no = "\n".join(rejected_serial_nos)
+
 		if doctype in ["Purchase Receipt", "Subcontracting Receipt"]:
 			returned_qty_map = get_returned_qty_map_for_row(
 				source_parent.name, source_parent.supplier, source_doc.name, doctype
@@ -611,7 +620,7 @@
 	return filters
 
 
-def get_returned_serial_nos(child_doc, parent_doc):
+def get_returned_serial_nos(child_doc, parent_doc, serial_no_field="serial_no"):
 	from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos
 
 	return_ref_field = frappe.scrub(child_doc.doctype)
@@ -620,7 +629,7 @@
 
 	serial_nos = []
 
-	fields = ["`{0}`.`serial_no`".format("tab" + child_doc.doctype)]
+	fields = [f"`{'tab' + child_doc.doctype}`.`{serial_no_field}`"]
 
 	filters = [
 		[parent_doc.doctype, "return_against", "=", parent_doc.name],
@@ -630,6 +639,6 @@
 	]
 
 	for row in frappe.get_all(parent_doc.doctype, fields=fields, filters=filters):
-		serial_nos.extend(get_serial_nos(row.serial_no))
+		serial_nos.extend(get_serial_nos(row.get(serial_no_field)))
 
 	return serial_nos
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 8b4d28b..fc16a91 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -136,7 +136,7 @@
 			self.in_words = money_in_words(amount, self.currency)
 
 	def calculate_commission(self):
-		if not self.meta.get_field("commission_rate"):
+		if not self.meta.get_field("commission_rate") or self.docstatus.is_submitted():
 			return
 
 		self.round_floats_in(self, ("amount_eligible_for_commission", "commission_rate"))
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index 8c403aa..1edd7bf 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -24,11 +24,19 @@
 	def __init__(self, doc: Document):
 		self.doc = doc
 		frappe.flags.round_off_applicable_accounts = []
+
+		self._items = self.filter_rows() if self.doc.doctype == "Quotation" else self.doc.get("items")
+
 		get_round_off_applicable_accounts(self.doc.company, frappe.flags.round_off_applicable_accounts)
 		self.calculate()
 
+	def filter_rows(self):
+		"""Exclude rows, that do not fulfill the filter criteria, from totals computation."""
+		items = list(filter(lambda item: not item.get("is_alternative"), self.doc.get("items")))
+		return items
+
 	def calculate(self):
-		if not len(self.doc.get("items")):
+		if not len(self._items):
 			return
 
 		self.discount_amount_applied = False
@@ -70,7 +78,7 @@
 		if hasattr(self.doc, "tax_withholding_net_total"):
 			sum_net_amount = 0
 			sum_base_net_amount = 0
-			for item in self.doc.get("items"):
+			for item in self._items:
 				if hasattr(item, "apply_tds") and item.apply_tds:
 					sum_net_amount += item.net_amount
 					sum_base_net_amount += item.base_net_amount
@@ -79,7 +87,7 @@
 			self.doc.base_tax_withholding_net_total = sum_base_net_amount
 
 	def validate_item_tax_template(self):
-		for item in self.doc.get("items"):
+		for item in self._items:
 			if item.item_code and item.get("item_tax_template"):
 				item_doc = frappe.get_cached_doc("Item", item.item_code)
 				args = {
@@ -137,7 +145,7 @@
 			return
 
 		if not self.discount_amount_applied:
-			for item in self.doc.get("items"):
+			for item in self._items:
 				self.doc.round_floats_in(item)
 
 				if item.discount_percentage == 100:
@@ -236,7 +244,7 @@
 		if not any(cint(tax.included_in_print_rate) for tax in self.doc.get("taxes")):
 			return
 
-		for item in self.doc.get("items"):
+		for item in self._items:
 			item_tax_map = self._load_item_tax_rate(item.item_tax_rate)
 			cumulated_tax_fraction = 0
 			total_inclusive_tax_amount_per_qty = 0
@@ -317,7 +325,7 @@
 			self.doc.total
 		) = self.doc.base_total = self.doc.net_total = self.doc.base_net_total = 0.0
 
-		for item in self.doc.get("items"):
+		for item in self._items:
 			self.doc.total += item.amount
 			self.doc.total_qty += item.qty
 			self.doc.base_total += item.base_amount
@@ -354,7 +362,7 @@
 			]
 		)
 
-		for n, item in enumerate(self.doc.get("items")):
+		for n, item in enumerate(self._items):
 			item_tax_map = self._load_item_tax_rate(item.item_tax_rate)
 			for i, tax in enumerate(self.doc.get("taxes")):
 				# tax_amount represents the amount of tax for the current step
@@ -363,7 +371,7 @@
 				# Adjust divisional loss to the last item
 				if tax.charge_type == "Actual":
 					actual_tax_dict[tax.idx] -= current_tax_amount
-					if n == len(self.doc.get("items")) - 1:
+					if n == len(self._items) - 1:
 						current_tax_amount += actual_tax_dict[tax.idx]
 
 				# accumulate tax amount into tax.tax_amount
@@ -391,7 +399,7 @@
 					)
 
 				# set precision in the last item iteration
-				if n == len(self.doc.get("items")) - 1:
+				if n == len(self._items) - 1:
 					self.round_off_totals(tax)
 					self._set_in_company_currency(tax, ["tax_amount", "tax_amount_after_discount_amount"])
 
@@ -570,7 +578,7 @@
 	def calculate_total_net_weight(self):
 		if self.doc.meta.get_field("total_net_weight"):
 			self.doc.total_net_weight = 0.0
-			for d in self.doc.items:
+			for d in self._items:
 				if d.total_weight:
 					self.doc.total_net_weight += d.total_weight
 
@@ -630,7 +638,7 @@
 
 			if total_for_discount_amount:
 				# calculate item amount after Discount Amount
-				for i, item in enumerate(self.doc.get("items")):
+				for i, item in enumerate(self._items):
 					distributed_amount = (
 						flt(self.doc.discount_amount) * item.net_amount / total_for_discount_amount
 					)
@@ -643,7 +651,7 @@
 						self.doc.apply_discount_on == "Net Total"
 						or not taxes
 						or total_for_discount_amount == self.doc.net_total
-					) and i == len(self.doc.get("items")) - 1:
+					) and i == len(self._items) - 1:
 						discount_amount_loss = flt(
 							self.doc.net_total - net_total - self.doc.discount_amount, self.doc.precision("net_total")
 						)
diff --git a/erpnext/controllers/website_list_for_contact.py b/erpnext/controllers/website_list_for_contact.py
index 4673230..7c3c387 100644
--- a/erpnext/controllers/website_list_for_contact.py
+++ b/erpnext/controllers/website_list_for_contact.py
@@ -76,12 +76,9 @@
 	ignore_permissions = False
 
 	if not filters:
-		filters = []
+		filters = {}
 
-	if doctype in ["Supplier Quotation", "Purchase Invoice"]:
-		filters.append((doctype, "docstatus", "<", 2))
-	else:
-		filters.append((doctype, "docstatus", "=", 1))
+	filters["docstatus"] = ["<", "2"] if doctype in ["Supplier Quotation", "Purchase Invoice"] else 1
 
 	if (user != "Guest" and is_website_user()) or doctype == "Request for Quotation":
 		parties_doctype = (
@@ -92,12 +89,12 @@
 
 		if customers:
 			if doctype == "Quotation":
-				filters.append(("quotation_to", "=", "Customer"))
-				filters.append(("party_name", "in", customers))
+				filters["quotation_to"] = "Customer"
+				filters["party_name"] = ["in", customers]
 			else:
-				filters.append(("customer", "in", customers))
+				filters["customer"] = ["in", customers]
 		elif suppliers:
-			filters.append(("supplier", "in", suppliers))
+			filters["supplier"] = ["in", suppliers]
 		elif not custom:
 			return []
 
@@ -110,7 +107,7 @@
 
 		if not customers and not suppliers and custom:
 			ignore_permissions = False
-			filters = []
+			filters = {}
 
 	transactions = get_list_for_transactions(
 		doctype,
diff --git a/erpnext/crm/doctype/opportunity/opportunity.js b/erpnext/crm/doctype/opportunity/opportunity.js
index 1f76a1a..b261795 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.js
+++ b/erpnext/crm/doctype/opportunity/opportunity.js
@@ -19,10 +19,6 @@
 				}
 			}
 		});
-
-		if (frm.doc.opportunity_from && frm.doc.party_name){
-			frm.trigger('set_contact_link');
-		}
 	},
 
 	validate: function(frm) {
@@ -130,6 +126,10 @@
 		} else {
 			frappe.contacts.clear_address_and_contact(frm);
 		}
+
+		if (frm.doc.opportunity_from && frm.doc.party_name) {
+			frm.trigger('set_contact_link');
+		}
 	},
 
 	set_contact_link: function(frm) {
@@ -137,6 +137,8 @@
 			frappe.dynamic_link = {doc: frm.doc, fieldname: 'party_name', doctype: 'Customer'}
 		} else if(frm.doc.opportunity_from == "Lead" && frm.doc.party_name) {
 			frappe.dynamic_link = {doc: frm.doc, fieldname: 'party_name', doctype: 'Lead'}
+		} else if (frm.doc.opportunity_from == "Prospect" && frm.doc.party_name) {
+			frappe.dynamic_link = {doc: frm.doc, fieldname: 'party_name', doctype: 'Prospect'}
 		}
 	},
 
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index fba886c..dbfbcc9 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -356,7 +356,7 @@
 
 scheduler_events = {
 	"cron": {
-		"0/5 * * * *": [
+		"0/15 * * * *": [
 			"erpnext.manufacturing.doctype.bom_update_log.bom_update_log.resume_bom_cost_update_jobs",
 		],
 		"0/30 * * * *": [
diff --git a/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json b/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
index 158f143..ba05355 100644
--- a/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
+++ b/erpnext/maintenance/doctype/maintenance_visit_purpose/maintenance_visit_purpose.json
@@ -64,8 +64,6 @@
    "fieldtype": "Section Break"
   },
   {
-   "fetch_from": "prevdoc_detail_docname.sales_person",
-   "fetch_if_empty": 1,
    "fieldname": "service_person",
    "fieldtype": "Link",
    "in_list_view": 1,
@@ -110,13 +108,15 @@
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2021-05-27 17:47:21.474282",
+ "modified": "2023-02-27 11:09:33.114458",
  "modified_by": "Administrator",
  "module": "Maintenance",
  "name": "Maintenance Visit Purpose",
+ "naming_rule": "Random",
  "owner": "Administrator",
  "permissions": [],
  "sort_field": "modified",
  "sort_order": "DESC",
+ "states": [],
  "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py b/erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py
index c3f52d4..51f7b24 100644
--- a/erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py
+++ b/erpnext/manufacturing/doctype/bom_update_log/bom_update_log.py
@@ -212,7 +212,7 @@
 			["name", "boms_updated", "status"],
 		)
 		incomplete_level = any(row.get("status") == "Pending" for row in bom_batches)
-		if not bom_batches or incomplete_level:
+		if not bom_batches or not incomplete_level:
 			continue
 
 		# Prep parent BOMs & updated processed BOMs for next level
@@ -252,6 +252,9 @@
 	current_boms = []
 
 	for row in bom_batches:
+		if not row.boms_updated:
+			continue
+
 		boms_updated = json.loads(row.boms_updated)
 		current_boms.extend(boms_updated)
 		boms_updated_dict = {bom: True for bom in boms_updated}
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index 3133628..e82f379 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -561,7 +561,34 @@
 		)
 
 	def set_transferred_qty_in_job_card_item(self, ste_doc):
-		from frappe.query_builder.functions import Sum
+		def _get_job_card_items_transferred_qty(ste_doc):
+			from frappe.query_builder.functions import Sum
+
+			job_card_items_transferred_qty = {}
+			job_card_items = [
+				x.get("job_card_item") for x in ste_doc.get("items") if x.get("job_card_item")
+			]
+
+			if job_card_items:
+				se = frappe.qb.DocType("Stock Entry")
+				sed = frappe.qb.DocType("Stock Entry Detail")
+
+				query = (
+					frappe.qb.from_(sed)
+					.join(se)
+					.on(sed.parent == se.name)
+					.select(sed.job_card_item, Sum(sed.qty))
+					.where(
+						(sed.job_card_item.isin(job_card_items))
+						& (se.docstatus == 1)
+						& (se.purpose == "Material Transfer for Manufacture")
+					)
+					.groupby(sed.job_card_item)
+				)
+
+				job_card_items_transferred_qty = frappe._dict(query.run(as_list=True))
+
+			return job_card_items_transferred_qty
 
 		def _validate_over_transfer(row, transferred_qty):
 			"Block over transfer of items if not allowed in settings."
@@ -578,29 +605,23 @@
 					exc=JobCardOverTransferError,
 				)
 
-		for row in ste_doc.items:
-			if not row.job_card_item:
-				continue
+		job_card_items_transferred_qty = _get_job_card_items_transferred_qty(ste_doc)
 
-			sed = frappe.qb.DocType("Stock Entry Detail")
-			se = frappe.qb.DocType("Stock Entry")
-			transferred_qty = (
-				frappe.qb.from_(sed)
-				.join(se)
-				.on(sed.parent == se.name)
-				.select(Sum(sed.qty))
-				.where(
-					(sed.job_card_item == row.job_card_item)
-					& (se.docstatus == 1)
-					& (se.purpose == "Material Transfer for Manufacture")
-				)
-			).run()[0][0]
-
+		if job_card_items_transferred_qty:
 			allow_excess = frappe.db.get_single_value("Manufacturing Settings", "job_card_excess_transfer")
-			if not allow_excess:
-				_validate_over_transfer(row, transferred_qty)
 
-			frappe.db.set_value("Job Card Item", row.job_card_item, "transferred_qty", flt(transferred_qty))
+			for row in ste_doc.items:
+				if not row.job_card_item:
+					continue
+
+				transferred_qty = flt(job_card_items_transferred_qty.get(row.job_card_item))
+
+				if not allow_excess:
+					_validate_over_transfer(row, transferred_qty)
+
+				frappe.db.set_value(
+					"Job Card Item", row.job_card_item, "transferred_qty", flt(transferred_qty)
+				)
 
 	def set_transferred_qty(self, update_status=False):
 		"Set total FG Qty in Job Card for which RM was transferred."
diff --git a/erpnext/manufacturing/doctype/work_order/work_order.js b/erpnext/manufacturing/doctype/work_order/work_order.js
index 4aff42c..97480b2 100644
--- a/erpnext/manufacturing/doctype/work_order/work_order.js
+++ b/erpnext/manufacturing/doctype/work_order/work_order.js
@@ -506,7 +506,7 @@
 				callback: function(r) {
 					if (r.message) {
 						frappe.model.set_value(cdt, cdn, {
-							"required_qty": 1,
+							"required_qty": row.required_qty || 1,
 							"item_name": r.message.item_name,
 							"description": r.message.description,
 							"source_warehouse": r.message.default_warehouse,
diff --git a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py
index cdf1541..3573a3a 100644
--- a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py
+++ b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py
@@ -4,7 +4,8 @@
 
 import frappe
 from frappe import _
-from frappe.query_builder.functions import Sum
+from frappe.query_builder.functions import Floor, Sum
+from frappe.utils import cint
 from pypika.terms import ExistsCriterion
 
 
@@ -34,57 +35,55 @@
 
 
 def get_bom_stock(filters):
-	qty_to_produce = filters.get("qty_to_produce") or 1
-	if int(qty_to_produce) < 0:
-		frappe.throw(_("Quantity to Produce can not be less than Zero"))
+	qty_to_produce = filters.get("qty_to_produce")
+	if cint(qty_to_produce) <= 0:
+		frappe.throw(_("Quantity to Produce should be greater than zero."))
 
 	if filters.get("show_exploded_view"):
 		bom_item_table = "BOM Explosion Item"
 	else:
 		bom_item_table = "BOM Item"
 
-	bin = frappe.qb.DocType("Bin")
-	bom = frappe.qb.DocType("BOM")
-	bom_item = frappe.qb.DocType(bom_item_table)
-
-	query = (
-		frappe.qb.from_(bom)
-		.inner_join(bom_item)
-		.on(bom.name == bom_item.parent)
-		.left_join(bin)
-		.on(bom_item.item_code == bin.item_code)
-		.select(
-			bom_item.item_code,
-			bom_item.description,
-			bom_item.stock_qty,
-			bom_item.stock_uom,
-			(bom_item.stock_qty / bom.quantity) * qty_to_produce,
-			Sum(bin.actual_qty),
-			Sum(bin.actual_qty) / (bom_item.stock_qty / bom.quantity),
-		)
-		.where((bom_item.parent == filters.get("bom")) & (bom_item.parenttype == "BOM"))
-		.groupby(bom_item.item_code)
+	warehouse_details = frappe.db.get_value(
+		"Warehouse", filters.get("warehouse"), ["lft", "rgt"], as_dict=1
 	)
 
-	if filters.get("warehouse"):
-		warehouse_details = frappe.db.get_value(
-			"Warehouse", filters.get("warehouse"), ["lft", "rgt"], as_dict=1
-		)
+	BOM = frappe.qb.DocType("BOM")
+	BOM_ITEM = frappe.qb.DocType(bom_item_table)
+	BIN = frappe.qb.DocType("Bin")
+	WH = frappe.qb.DocType("Warehouse")
+	CONDITIONS = ()
 
-		if warehouse_details:
-			wh = frappe.qb.DocType("Warehouse")
-			query = query.where(
-				ExistsCriterion(
-					frappe.qb.from_(wh)
-					.select(wh.name)
-					.where(
-						(wh.lft >= warehouse_details.lft)
-						& (wh.rgt <= warehouse_details.rgt)
-						& (bin.warehouse == wh.name)
-					)
-				)
+	if warehouse_details:
+		CONDITIONS = ExistsCriterion(
+			frappe.qb.from_(WH)
+			.select(WH.name)
+			.where(
+				(WH.lft >= warehouse_details.lft)
+				& (WH.rgt <= warehouse_details.rgt)
+				& (BIN.warehouse == WH.name)
 			)
-		else:
-			query = query.where(bin.warehouse == filters.get("warehouse"))
+		)
+	else:
+		CONDITIONS = BIN.warehouse == filters.get("warehouse")
 
-	return query.run()
+	QUERY = (
+		frappe.qb.from_(BOM)
+		.inner_join(BOM_ITEM)
+		.on(BOM.name == BOM_ITEM.parent)
+		.left_join(BIN)
+		.on((BOM_ITEM.item_code == BIN.item_code) & (CONDITIONS))
+		.select(
+			BOM_ITEM.item_code,
+			BOM_ITEM.description,
+			BOM_ITEM.stock_qty,
+			BOM_ITEM.stock_uom,
+			BOM_ITEM.stock_qty * qty_to_produce / BOM.quantity,
+			Sum(BIN.actual_qty).as_("actual_qty"),
+			Sum(Floor(BIN.actual_qty / (BOM_ITEM.stock_qty * qty_to_produce / BOM.quantity))),
+		)
+		.where((BOM_ITEM.parent == filters.get("bom")) & (BOM_ITEM.parenttype == "BOM"))
+		.groupby(BOM_ITEM.item_code)
+	)
+
+	return QUERY.run()
diff --git a/erpnext/manufacturing/report/bom_stock_report/test_bom_stock_report.py b/erpnext/manufacturing/report/bom_stock_report/test_bom_stock_report.py
new file mode 100644
index 0000000..1c56ebe
--- /dev/null
+++ b/erpnext/manufacturing/report/bom_stock_report/test_bom_stock_report.py
@@ -0,0 +1,108 @@
+# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+
+import frappe
+from frappe.exceptions import ValidationError
+from frappe.tests.utils import FrappeTestCase
+from frappe.utils import floor
+
+from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
+from erpnext.manufacturing.report.bom_stock_report.bom_stock_report import (
+	get_bom_stock as bom_stock_report,
+)
+from erpnext.stock.doctype.item.test_item import make_item
+from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
+
+
+class TestBomStockReport(FrappeTestCase):
+	def setUp(self):
+		self.warehouse = "_Test Warehouse - _TC"
+		self.fg_item, self.rm_items = create_items()
+		make_stock_entry(target=self.warehouse, item_code=self.rm_items[0], qty=20, basic_rate=100)
+		make_stock_entry(target=self.warehouse, item_code=self.rm_items[1], qty=40, basic_rate=200)
+		self.bom = make_bom(item=self.fg_item, quantity=1, raw_materials=self.rm_items, rm_qty=10)
+
+	def test_bom_stock_report(self):
+		# Test 1: When `qty_to_produce` is 0.
+		filters = frappe._dict(
+			{
+				"bom": self.bom.name,
+				"warehouse": "Stores - _TC",
+				"qty_to_produce": 0,
+			}
+		)
+		self.assertRaises(ValidationError, bom_stock_report, filters)
+
+		# Test 2: When stock is not available.
+		data = bom_stock_report(
+			frappe._dict(
+				{
+					"bom": self.bom.name,
+					"warehouse": "Stores - _TC",
+					"qty_to_produce": 1,
+				}
+			)
+		)
+		expected_data = get_expected_data(self.bom, "Stores - _TC", 1)
+		self.assertSetEqual(set(tuple(x) for x in data), set(tuple(x) for x in expected_data))
+
+		# Test 3: When stock is available.
+		data = bom_stock_report(
+			frappe._dict(
+				{
+					"bom": self.bom.name,
+					"warehouse": self.warehouse,
+					"qty_to_produce": 1,
+				}
+			)
+		)
+		expected_data = get_expected_data(self.bom, self.warehouse, 1)
+		self.assertSetEqual(set(tuple(x) for x in data), set(tuple(x) for x in expected_data))
+
+
+def create_items():
+	fg_item = make_item(properties={"is_stock_item": 1}).name
+	rm_item1 = make_item(
+		properties={
+			"is_stock_item": 1,
+			"standard_rate": 100,
+			"opening_stock": 100,
+			"last_purchase_rate": 100,
+		}
+	).name
+	rm_item2 = make_item(
+		properties={
+			"is_stock_item": 1,
+			"standard_rate": 200,
+			"opening_stock": 200,
+			"last_purchase_rate": 200,
+		}
+	).name
+
+	return fg_item, [rm_item1, rm_item2]
+
+
+def get_expected_data(bom, warehouse, qty_to_produce, show_exploded_view=False):
+	expected_data = []
+
+	for item in bom.get("exploded_items") if show_exploded_view else bom.get("items"):
+		in_stock_qty = frappe.get_cached_value(
+			"Bin", {"item_code": item.item_code, "warehouse": warehouse}, "actual_qty"
+		)
+
+		expected_data.append(
+			[
+				item.item_code,
+				item.description,
+				item.stock_qty,
+				item.stock_uom,
+				item.stock_qty * qty_to_produce / bom.quantity,
+				in_stock_qty,
+				floor(in_stock_qty / (item.stock_qty * qty_to_produce / bom.quantity))
+				if in_stock_qty
+				else None,
+			]
+		)
+
+	return expected_data
diff --git a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
index 371ecbc..5c46bf3 100644
--- a/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
+++ b/erpnext/patches/v15_0/create_asset_depreciation_schedules_from_assets.py
@@ -27,7 +27,13 @@
 
 	records = (
 		frappe.qb.from_(asset)
-		.select(asset.name, asset.opening_accumulated_depreciation, asset.docstatus)
+		.select(
+			asset.name,
+			asset.opening_accumulated_depreciation,
+			asset.gross_purchase_amount,
+			asset.number_of_depreciations_booked,
+			asset.docstatus,
+		)
 		.where(asset.calculate_depreciation == 1)
 		.where(asset.docstatus < 2)
 	).run(as_dict=True)
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index a87c3ec..d1a55e6 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -91,6 +91,9 @@
 	}
 
 	_calculate_taxes_and_totals() {
+		const is_quotation = this.frm.doc.doctype == "Quotation";
+		this.frm.doc._items = is_quotation ? this.filtered_items() : this.frm.doc.items;
+
 		this.validate_conversion_rate();
 		this.calculate_item_values();
 		this.initialize_taxes();
@@ -122,7 +125,7 @@
 	calculate_item_values() {
 		var me = this;
 		if (!this.discount_amount_applied) {
-			for (const item of this.frm.doc.items || []) {
+			for (const item of this.frm.doc._items || []) {
 				frappe.model.round_floats_in(item);
 				item.net_rate = item.rate;
 				item.qty = item.qty === undefined ? (me.frm.doc.is_return ? -1 : 1) : item.qty;
@@ -131,8 +134,8 @@
 					item.net_amount = item.amount = flt(item.rate * item.qty, precision("amount", item));
 				}
 				else {
-					let qty = item.qty || 1;
-					qty = me.frm.doc.is_return ? -1 * qty : qty;
+					// allow for '0' qty on Credit/Debit notes
+					let qty = item.qty || -1
 					item.net_amount = item.amount = flt(item.rate * qty, precision("amount", item));
 				}
 
@@ -206,7 +209,7 @@
 		});
 		if(has_inclusive_tax==false) return;
 
-		$.each(me.frm.doc["items"] || [], function(n, item) {
+		$.each(me.frm.doc._items || [], function(n, item) {
 			var item_tax_map = me._load_item_tax_rate(item.item_tax_rate);
 			var cumulated_tax_fraction = 0.0;
 			var total_inclusive_tax_amount_per_qty = 0;
@@ -277,7 +280,7 @@
 		var me = this;
 		this.frm.doc.total_qty = this.frm.doc.total = this.frm.doc.base_total = this.frm.doc.net_total = this.frm.doc.base_net_total = 0.0;
 
-		$.each(this.frm.doc["items"] || [], function(i, item) {
+		$.each(this.frm.doc._items || [], function(i, item) {
 			me.frm.doc.total += item.amount;
 			me.frm.doc.total_qty += item.qty;
 			me.frm.doc.base_total += item.base_amount;
@@ -330,7 +333,7 @@
 			}
 		});
 
-		$.each(this.frm.doc["items"] || [], function(n, item) {
+		$.each(this.frm.doc._items || [], function(n, item) {
 			var item_tax_map = me._load_item_tax_rate(item.item_tax_rate);
 			$.each(me.frm.doc["taxes"] || [], function(i, tax) {
 				// tax_amount represents the amount of tax for the current step
@@ -339,7 +342,7 @@
 				// Adjust divisional loss to the last item
 				if (tax.charge_type == "Actual") {
 					actual_tax_dict[tax.idx] -= current_tax_amount;
-					if (n == me.frm.doc["items"].length - 1) {
+					if (n == me.frm.doc._items.length - 1) {
 						current_tax_amount += actual_tax_dict[tax.idx];
 					}
 				}
@@ -376,7 +379,7 @@
 				}
 
 				// set precision in the last item iteration
-				if (n == me.frm.doc["items"].length - 1) {
+				if (n == me.frm.doc._items.length - 1) {
 					me.round_off_totals(tax);
 					me.set_in_company_currency(tax,
 						["tax_amount", "tax_amount_after_discount_amount"]);
@@ -599,10 +602,11 @@
 
 	_cleanup() {
 		this.frm.doc.base_in_words = this.frm.doc.in_words = "";
+		let items = this.frm.doc._items;
 
-		if(this.frm.doc["items"] && this.frm.doc["items"].length) {
-			if(!frappe.meta.get_docfield(this.frm.doc["items"][0].doctype, "item_tax_amount", this.frm.doctype)) {
-				$.each(this.frm.doc["items"] || [], function(i, item) {
+		if(items && items.length) {
+			if(!frappe.meta.get_docfield(items[0].doctype, "item_tax_amount", this.frm.doctype)) {
+				$.each(items || [], function(i, item) {
 					delete item["item_tax_amount"];
 				});
 			}
@@ -655,7 +659,7 @@
 			var net_total = 0;
 			// calculate item amount after Discount Amount
 			if (total_for_discount_amount) {
-				$.each(this.frm.doc["items"] || [], function(i, item) {
+				$.each(this.frm.doc._items || [], function(i, item) {
 					distributed_amount = flt(me.frm.doc.discount_amount) * item.net_amount / total_for_discount_amount;
 					item.net_amount = flt(item.net_amount - distributed_amount,
 						precision("base_amount", item));
@@ -663,7 +667,7 @@
 
 					// discount amount rounding loss adjustment if no taxes
 					if ((!(me.frm.doc.taxes || []).length || total_for_discount_amount==me.frm.doc.net_total || (me.frm.doc.apply_discount_on == "Net Total"))
-							&& i == (me.frm.doc.items || []).length - 1) {
+							&& i == (me.frm.doc._items || []).length - 1) {
 						var discount_amount_loss = flt(me.frm.doc.net_total - net_total
 							- me.frm.doc.discount_amount, precision("net_total"));
 						item.net_amount = flt(item.net_amount + discount_amount_loss,
@@ -892,4 +896,8 @@
 		}
 
 	}
+
+	filtered_items() {
+		return this.frm.doc.items.filter(item => !item["is_alternative"]);
+	}
 };
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 09f2c5d..8d69ea0 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -488,7 +488,7 @@
 								() => {
 									var d = locals[cdt][cdn];
 									me.add_taxes_from_item_tax_template(d.item_tax_rate);
-									if (d.free_item_data) {
+									if (d.free_item_data && d.free_item_data.length > 0) {
 										me.apply_product_discount(d);
 									}
 								},
@@ -1884,11 +1884,13 @@
 
 	get_advances() {
 		if(!this.frm.is_return) {
+			var me = this;
 			return this.frm.call({
 				method: "set_advances",
 				doc: this.frm.doc,
 				callback: function(r, rt) {
 					refresh_field("advances");
+					me.frm.dirty();
 				}
 			})
 		}
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index b348bd3..81ef44d 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -90,7 +90,7 @@
 				|| frappe.datetime.get_diff(doc.valid_till, frappe.datetime.get_today()) >= 0) {
 					this.frm.add_custom_button(
 						__("Sales Order"),
-						this.frm.cscript["Make Sales Order"],
+						() => this.make_sales_order(),
 						__("Create")
 					);
 				}
@@ -145,6 +145,20 @@
 
 	}
 
+	make_sales_order() {
+		var me = this;
+
+		let has_alternative_item = this.frm.doc.items.some((item) => item.is_alternative);
+		if (has_alternative_item) {
+			this.show_alternative_items_dialog();
+		} else {
+			frappe.model.open_mapped_doc({
+				method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
+				frm: me.frm
+			});
+		}
+	}
+
 	set_dynamic_field_label(){
 		if (this.frm.doc.quotation_to == "Customer")
 		{
@@ -220,17 +234,111 @@
 			}
 		})
 	}
+
+	show_alternative_items_dialog() {
+		let me = this;
+
+		const table_fields = [
+		{
+			fieldtype:"Data",
+			fieldname:"name",
+			label: __("Name"),
+			read_only: 1,
+		},
+		{
+			fieldtype:"Link",
+			fieldname:"item_code",
+			options: "Item",
+			label: __("Item Code"),
+			read_only: 1,
+			in_list_view: 1,
+			columns: 2,
+			formatter: (value, df, options, doc) => {
+				return doc.is_alternative ? `<span class="indicator yellow">${value}</span>` : value;
+			}
+		},
+		{
+			fieldtype:"Data",
+			fieldname:"description",
+			label: __("Description"),
+			in_list_view: 1,
+			read_only: 1,
+		},
+		{
+			fieldtype:"Currency",
+			fieldname:"amount",
+			label: __("Amount"),
+			options: "currency",
+			in_list_view: 1,
+			read_only: 1,
+		},
+		{
+			fieldtype:"Check",
+			fieldname:"is_alternative",
+			label: __("Is Alternative"),
+			read_only: 1,
+		}];
+
+
+		this.data = this.frm.doc.items.filter(
+			(item) => item.is_alternative || item.has_alternative_item
+		).map((item) => {
+			return {
+				"name": item.name,
+				"item_code": item.item_code,
+				"description": item.description,
+				"amount": item.amount,
+				"is_alternative": item.is_alternative,
+			}
+		});
+
+		const dialog = new frappe.ui.Dialog({
+			title: __("Select Alternative Items for Sales Order"),
+			fields: [
+				{
+					fieldname: "info",
+					fieldtype: "HTML",
+					read_only: 1
+				},
+				{
+					fieldname: "alternative_items",
+					fieldtype: "Table",
+					cannot_add_rows: true,
+					in_place_edit: true,
+					reqd: 1,
+					data: this.data,
+					description: __("Select an item from each set to be used in the Sales Order."),
+					get_data: () => {
+						return this.data;
+					},
+					fields: table_fields
+				},
+			],
+			primary_action: function() {
+				frappe.model.open_mapped_doc({
+					method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
+					frm: me.frm,
+					args: {
+						selected_items: dialog.fields_dict.alternative_items.grid.get_selected_children()
+					}
+				});
+				dialog.hide();
+			},
+			primary_action_label: __('Continue')
+		});
+
+		dialog.fields_dict.info.$wrapper.html(
+			`<p class="small text-muted">
+				<span class="indicator yellow"></span>
+				Alternative Items
+			</p>`
+		)
+		dialog.show();
+	}
 };
 
 cur_frm.script_manager.make(erpnext.selling.QuotationController);
 
-cur_frm.cscript['Make Sales Order'] = function() {
-	frappe.model.open_mapped_doc({
-		method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
-		frm: cur_frm
-	})
-}
-
 frappe.ui.form.on("Quotation Item", "items_on_form_rendered", "packed_items_on_form_rendered", function(frm, cdt, cdn) {
 	// enable tax_amount field if Actual
 })
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 063813b..fc66db2 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -35,6 +35,9 @@
 
 		make_packing_list(self)
 
+	def before_submit(self):
+		self.set_has_alternative_item()
+
 	def validate_valid_till(self):
 		if self.valid_till and getdate(self.valid_till) < getdate(self.transaction_date):
 			frappe.throw(_("Valid till date cannot be before transaction date"))
@@ -59,7 +62,18 @@
 					title=_("Unpublished Item"),
 				)
 
+	def set_has_alternative_item(self):
+		"""Mark 'Has Alternative Item' for rows."""
+		if not any(row.is_alternative for row in self.get("items")):
+			return
+
+		items_with_alternatives = self.get_rows_with_alternatives()
+		for row in self.get("items"):
+			if not row.is_alternative and row.name in items_with_alternatives:
+				row.has_alternative_item = 1
+
 	def get_ordered_status(self):
+		status = "Open"
 		ordered_items = frappe._dict(
 			frappe.db.get_all(
 				"Sales Order Item",
@@ -70,16 +84,40 @@
 			)
 		)
 
-		status = "Open"
-		if ordered_items:
+		if not ordered_items:
+			return status
+
+		has_alternatives = any(row.is_alternative for row in self.get("items"))
+		self._items = self.get_valid_items() if has_alternatives else self.get("items")
+
+		if any(row.qty > ordered_items.get(row.item_code, 0.0) for row in self._items):
+			status = "Partially Ordered"
+		else:
 			status = "Ordered"
 
-			for item in self.get("items"):
-				if item.qty > ordered_items.get(item.item_code, 0.0):
-					status = "Partially Ordered"
-
 		return status
 
+	def get_valid_items(self):
+		"""
+		Filters out items in an alternatives set that were not ordered.
+		"""
+
+		def is_in_sales_order(row):
+			in_sales_order = bool(
+				frappe.db.exists(
+					"Sales Order Item", {"quotation_item": row.name, "item_code": row.item_code, "docstatus": 1}
+				)
+			)
+			return in_sales_order
+
+		def can_map(row) -> bool:
+			if row.is_alternative or row.has_alternative_item:
+				return is_in_sales_order(row)
+
+			return True
+
+		return list(filter(can_map, self.get("items")))
+
 	def is_fully_ordered(self):
 		return self.get_ordered_status() == "Ordered"
 
@@ -176,6 +214,22 @@
 	def on_recurring(self, reference_doc, auto_repeat_doc):
 		self.valid_till = None
 
+	def get_rows_with_alternatives(self):
+		rows_with_alternatives = []
+		table_length = len(self.get("items"))
+
+		for idx, row in enumerate(self.get("items")):
+			if row.is_alternative:
+				continue
+
+			if idx == (table_length - 1):
+				break
+
+			if self.get("items")[idx + 1].is_alternative:
+				rows_with_alternatives.append(row.name)
+
+		return rows_with_alternatives
+
 
 def get_list_context(context=None):
 	from erpnext.controllers.website_list_for_contact import get_list_context
@@ -221,6 +275,8 @@
 		)
 	)
 
+	selected_rows = [x.get("name") for x in frappe.flags.get("args", {}).get("selected_items", [])]
+
 	def set_missing_values(source, target):
 		if customer:
 			target.customer = customer.name
@@ -244,6 +300,24 @@
 			target.blanket_order = obj.blanket_order
 			target.blanket_order_rate = obj.blanket_order_rate
 
+	def can_map_row(item) -> bool:
+		"""
+		Row mapping from Quotation to Sales order:
+		1. If no selections, map all non-alternative rows (that sum up to the grand total)
+		2. If selections: Is Alternative Item/Has Alternative Item: Map if selected and adequate qty
+		3. If selections: Simple row: Map if adequate qty
+		"""
+		has_qty = item.qty > 0
+
+		if not selected_rows:
+			return not item.is_alternative
+
+		if selected_rows and (item.is_alternative or item.has_alternative_item):
+			return (item.name in selected_rows) and has_qty
+
+		# Simple row
+		return has_qty
+
 	doclist = get_mapped_doc(
 		"Quotation",
 		source_name,
@@ -253,7 +327,7 @@
 				"doctype": "Sales Order Item",
 				"field_map": {"parent": "prevdoc_docname", "name": "quotation_item"},
 				"postprocess": update_item,
-				"condition": lambda doc: doc.qty > 0,
+				"condition": can_map_row,
 			},
 			"Sales Taxes and Charges": {"doctype": "Sales Taxes and Charges", "add_if_empty": True},
 			"Sales Team": {"doctype": "Sales Team", "add_if_empty": True},
@@ -322,7 +396,11 @@
 		source_name,
 		{
 			"Quotation": {"doctype": "Sales Invoice", "validation": {"docstatus": ["=", 1]}},
-			"Quotation Item": {"doctype": "Sales Invoice Item", "postprocess": update_item},
+			"Quotation Item": {
+				"doctype": "Sales Invoice Item",
+				"postprocess": update_item,
+				"condition": lambda row: not row.is_alternative,
+			},
 			"Sales Taxes and Charges": {"doctype": "Sales Taxes and Charges", "add_if_empty": True},
 			"Sales Team": {"doctype": "Sales Team", "add_if_empty": True},
 		},
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index cdf5f5d..67f6518 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -457,6 +457,139 @@
 			expected_index = id + 1
 			self.assertEqual(item.idx, expected_index)
 
+	def test_alternative_items_with_stock_items(self):
+		"""
+		Check if taxes & totals considers only non-alternative items with:
+		- One set of non-alternative & alternative items [first 3 rows]
+		- One simple stock item
+		"""
+		from erpnext.stock.doctype.item.test_item import make_item
+
+		item_list = []
+		stock_items = {
+			"_Test Simple Item 1": 100,
+			"_Test Alt 1": 120,
+			"_Test Alt 2": 110,
+			"_Test Simple Item 2": 200,
+		}
+
+		for item, rate in stock_items.items():
+			make_item(item, {"is_stock_item": 1})
+			item_list.append(
+				{
+					"item_code": item,
+					"qty": 1,
+					"rate": rate,
+					"is_alternative": bool("Alt" in item),
+				}
+			)
+
+		quotation = make_quotation(item_list=item_list, do_not_submit=1)
+		quotation.append(
+			"taxes",
+			{
+				"account_head": "_Test Account VAT - _TC",
+				"charge_type": "On Net Total",
+				"cost_center": "_Test Cost Center - _TC",
+				"description": "VAT",
+				"doctype": "Sales Taxes and Charges",
+				"rate": 10,
+			},
+		)
+		quotation.submit()
+
+		self.assertEqual(quotation.net_total, 300)
+		self.assertEqual(quotation.grand_total, 330)
+
+	def test_alternative_items_with_service_items(self):
+		"""
+		Check if taxes & totals considers only non-alternative items with:
+		- One set of non-alternative & alternative service items [first 3 rows]
+		- One simple non-alternative service item
+		All having the same item code and unique item name/description due to
+		dynamic services
+		"""
+		from erpnext.stock.doctype.item.test_item import make_item
+
+		item_list = []
+		service_items = {
+			"Tiling with Standard Tiles": 100,
+			"Alt Tiling with Durable Tiles": 150,
+			"Alt Tiling with Premium Tiles": 180,
+			"False Ceiling with Material #234": 190,
+		}
+
+		make_item("_Test Dynamic Service Item", {"is_stock_item": 0})
+
+		for name, rate in service_items.items():
+			item_list.append(
+				{
+					"item_code": "_Test Dynamic Service Item",
+					"item_name": name,
+					"description": name,
+					"qty": 1,
+					"rate": rate,
+					"is_alternative": bool("Alt" in name),
+				}
+			)
+
+		quotation = make_quotation(item_list=item_list, do_not_submit=1)
+		quotation.append(
+			"taxes",
+			{
+				"account_head": "_Test Account VAT - _TC",
+				"charge_type": "On Net Total",
+				"cost_center": "_Test Cost Center - _TC",
+				"description": "VAT",
+				"doctype": "Sales Taxes and Charges",
+				"rate": 10,
+			},
+		)
+		quotation.submit()
+
+		self.assertEqual(quotation.net_total, 290)
+		self.assertEqual(quotation.grand_total, 319)
+
+	def test_alternative_items_sales_order_mapping_with_stock_items(self):
+		from erpnext.selling.doctype.quotation.quotation import make_sales_order
+		from erpnext.stock.doctype.item.test_item import make_item
+
+		frappe.flags.args = frappe._dict()
+		item_list = []
+		stock_items = {
+			"_Test Simple Item 1": 100,
+			"_Test Alt 1": 120,
+			"_Test Alt 2": 110,
+			"_Test Simple Item 2": 200,
+		}
+
+		for item, rate in stock_items.items():
+			make_item(item, {"is_stock_item": 1})
+			item_list.append(
+				{
+					"item_code": item,
+					"qty": 1,
+					"rate": rate,
+					"is_alternative": bool("Alt" in item),
+					"warehouse": "_Test Warehouse - _TC",
+				}
+			)
+
+		quotation = make_quotation(item_list=item_list)
+
+		frappe.flags.args.selected_items = [quotation.items[2]]
+		sales_order = make_sales_order(quotation.name)
+		sales_order.delivery_date = add_days(sales_order.transaction_date, 10)
+		sales_order.save()
+
+		self.assertEqual(sales_order.items[0].item_code, "_Test Alt 2")
+		self.assertEqual(sales_order.items[1].item_code, "_Test Simple Item 2")
+		self.assertEqual(sales_order.net_total, 310)
+
+		sales_order.submit()
+		quotation.reload()
+		self.assertEqual(quotation.status, "Ordered")
+
 
 test_records = frappe.get_test_records("Quotation")
 
diff --git a/erpnext/selling/doctype/quotation_item/quotation_item.json b/erpnext/selling/doctype/quotation_item/quotation_item.json
index ca7dfd2..f2aabc5 100644
--- a/erpnext/selling/doctype/quotation_item/quotation_item.json
+++ b/erpnext/selling/doctype/quotation_item/quotation_item.json
@@ -49,6 +49,8 @@
   "pricing_rules",
   "stock_uom_rate",
   "is_free_item",
+  "is_alternative",
+  "has_alternative_item",
   "section_break_43",
   "valuation_rate",
   "column_break_45",
@@ -643,12 +645,28 @@
    "no_copy": 1,
    "options": "currency",
    "read_only": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "is_alternative",
+   "fieldtype": "Check",
+   "label": "Is Alternative",
+   "print_hide": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "has_alternative_item",
+   "fieldtype": "Check",
+   "hidden": 1,
+   "label": "Has Alternative Item",
+   "print_hide": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2022-12-25 02:49:53.926625",
+ "modified": "2023-02-06 11:00:07.042364",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Quotation Item",
@@ -656,5 +674,6 @@
  "permissions": [],
  "sort_field": "modified",
  "sort_order": "DESC",
+ "states": [],
  "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index fb64772..449d461 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -275,7 +275,7 @@
 		if (this.frm.doc.docstatus===0) {
 			this.frm.add_custom_button(__('Quotation'),
 				function() {
-					erpnext.utils.map_current_doc({
+					let d = erpnext.utils.map_current_doc({
 						method: "erpnext.selling.doctype.quotation.quotation.make_sales_order",
 						source_doctype: "Quotation",
 						target: me.frm,
@@ -293,7 +293,16 @@
 							docstatus: 1,
 							status: ["!=", "Lost"]
 						}
-					})
+					});
+
+					setTimeout(() => {
+						d.$parent.append(`
+							<span class='small text-muted'>
+								${__("Note: Please create Sales Orders from individual Quotations to select from among Alternative Items.")}
+							</span>
+					`);
+					}, 200);
+
 				}, __("Get Items From"));
 		}
 
@@ -309,9 +318,12 @@
 
 	make_work_order() {
 		var me = this;
-		this.frm.call({
-			doc: this.frm.doc,
-			method: 'get_work_order_items',
+		me.frm.call({
+			method: "erpnext.selling.doctype.sales_order.sales_order.get_work_order_items",
+			args: {
+				sales_order: this.frm.docname,
+			},
+			freeze: true,
 			callback: function(r) {
 				if(!r.message) {
 					frappe.msgprint({
@@ -321,14 +333,7 @@
 					});
 					return;
 				}
-				else if(!r.message) {
-					frappe.msgprint({
-						title: __('Work Order not created'),
-						message: __('Work Order already created for all items with BOM'),
-						indicator: 'orange'
-					});
-					return;
-				} else {
+				else {
 					const fields = [{
 						label: 'Items',
 						fieldtype: 'Table',
@@ -429,9 +434,9 @@
 	make_raw_material_request() {
 		var me = this;
 		this.frm.call({
-			doc: this.frm.doc,
-			method: 'get_work_order_items',
+			method: "erpnext.selling.doctype.sales_order.sales_order.get_work_order_items",
 			args: {
+				sales_order: this.frm.docname,
 				for_raw_material_request: 1
 			},
 			callback: function(r) {
@@ -450,6 +455,7 @@
 	}
 
 	make_raw_material_request_dialog(r) {
+		var me = this;
 		var fields = [
 			{fieldtype:'Check', fieldname:'include_exploded_items',
 				label: __('Include Exploded Items')},
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index ca6a51a..385d0f3 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -6,11 +6,12 @@
 
 import frappe
 import frappe.utils
-from frappe import _
+from frappe import _, qb
 from frappe.contacts.doctype.address.address import get_company_address
 from frappe.desk.notifications import clear_doctype_notifications
 from frappe.model.mapper import get_mapped_doc
 from frappe.model.utils import get_fetch_values
+from frappe.query_builder.functions import Sum
 from frappe.utils import add_days, cint, cstr, flt, get_link_to_form, getdate, nowdate, strip_html
 
 from erpnext.accounts.doctype.sales_invoice.sales_invoice import (
@@ -414,51 +415,6 @@
 			self.indicator_color = "green"
 			self.indicator_title = _("Paid")
 
-	@frappe.whitelist()
-	def get_work_order_items(self, for_raw_material_request=0):
-		"""Returns items with BOM that already do not have a linked work order"""
-		items = []
-		item_codes = [i.item_code for i in self.items]
-		product_bundle_parents = [
-			pb.new_item_code
-			for pb in frappe.get_all(
-				"Product Bundle", {"new_item_code": ["in", item_codes]}, ["new_item_code"]
-			)
-		]
-
-		for table in [self.items, self.packed_items]:
-			for i in table:
-				bom = get_default_bom(i.item_code)
-				stock_qty = i.qty if i.doctype == "Packed Item" else i.stock_qty
-
-				if not for_raw_material_request:
-					total_work_order_qty = flt(
-						frappe.db.sql(
-							"""select sum(qty) from `tabWork Order`
-						where production_item=%s and sales_order=%s and sales_order_item = %s and docstatus<2""",
-							(i.item_code, self.name, i.name),
-						)[0][0]
-					)
-					pending_qty = stock_qty - total_work_order_qty
-				else:
-					pending_qty = stock_qty
-
-				if pending_qty and i.item_code not in product_bundle_parents:
-					items.append(
-						dict(
-							name=i.name,
-							item_code=i.item_code,
-							description=i.description,
-							bom=bom or "",
-							warehouse=i.warehouse,
-							pending_qty=pending_qty,
-							required_qty=pending_qty if for_raw_material_request else 0,
-							sales_order_item=i.name,
-						)
-					)
-
-		return items
-
 	def on_recurring(self, reference_doc, auto_repeat_doc):
 		def _get_delivery_date(ref_doc_delivery_date, red_doc_transaction_date, transaction_date):
 			delivery_date = auto_repeat_doc.get_next_schedule_date(schedule_date=ref_doc_delivery_date)
@@ -1350,3 +1306,57 @@
 		return
 
 	frappe.db.set_value("Sales Order Item", sales_order_item, "produced_qty", total_produced_qty)
+
+
+@frappe.whitelist()
+def get_work_order_items(sales_order, for_raw_material_request=0):
+	"""Returns items with BOM that already do not have a linked work order"""
+	if sales_order:
+		so = frappe.get_doc("Sales Order", sales_order)
+
+		wo = qb.DocType("Work Order")
+
+		items = []
+		item_codes = [i.item_code for i in so.items]
+		product_bundle_parents = [
+			pb.new_item_code
+			for pb in frappe.get_all(
+				"Product Bundle", {"new_item_code": ["in", item_codes]}, ["new_item_code"]
+			)
+		]
+
+		for table in [so.items, so.packed_items]:
+			for i in table:
+				bom = get_default_bom(i.item_code)
+				stock_qty = i.qty if i.doctype == "Packed Item" else i.stock_qty
+
+				if not for_raw_material_request:
+					total_work_order_qty = flt(
+						qb.from_(wo)
+						.select(Sum(wo.qty))
+						.where(
+							(wo.production_item == i.item_code)
+							& (wo.sales_order == so.name) * (wo.sales_order_item == i.name)
+							& (wo.docstatus.lte(2))
+						)
+						.run()[0][0]
+					)
+					pending_qty = stock_qty - total_work_order_qty
+				else:
+					pending_qty = stock_qty
+
+				if pending_qty and i.item_code not in product_bundle_parents:
+					items.append(
+						dict(
+							name=i.name,
+							item_code=i.item_code,
+							description=i.description,
+							bom=bom or "",
+							warehouse=i.warehouse,
+							pending_qty=pending_qty,
+							required_qty=pending_qty if for_raw_material_request else 0,
+							sales_order_item=i.name,
+						)
+					)
+
+		return items
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index d4d7c58..627914f 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -1217,6 +1217,8 @@
 		self.assertTrue(si.get("payment_schedule"))
 
 	def test_make_work_order(self):
+		from erpnext.selling.doctype.sales_order.sales_order import get_work_order_items
+
 		# Make a new Sales Order
 		so = make_sales_order(
 			**{
@@ -1230,7 +1232,7 @@
 		# Raise Work Orders
 		po_items = []
 		so_item_name = {}
-		for item in so.get_work_order_items():
+		for item in get_work_order_items(so.name):
 			po_items.append(
 				{
 					"warehouse": item.get("warehouse"),
@@ -1448,6 +1450,7 @@
 
 		from erpnext.controllers.item_variant import create_variant
 		from erpnext.manufacturing.doctype.production_plan.test_production_plan import make_bom
+		from erpnext.selling.doctype.sales_order.sales_order import get_work_order_items
 
 		make_item(  # template item
 			"Test-WO-Tshirt",
@@ -1487,7 +1490,7 @@
 				]
 			}
 		)
-		wo_items = so.get_work_order_items()
+		wo_items = get_work_order_items(so.name)
 
 		self.assertEqual(wo_items[0].get("item_code"), "Test-WO-Tshirt-R")
 		self.assertEqual(wo_items[0].get("bom"), red_var_bom.name)
@@ -1497,6 +1500,8 @@
 		self.assertEqual(wo_items[1].get("bom"), template_bom.name)
 
 	def test_request_for_raw_materials(self):
+		from erpnext.selling.doctype.sales_order.sales_order import get_work_order_items
+
 		item = make_item(
 			"_Test Finished Item",
 			{
@@ -1529,7 +1534,7 @@
 		so = make_sales_order(**{"item_list": [{"item_code": item.item_code, "qty": 1, "rate": 1000}]})
 		so.submit()
 		mr_dict = frappe._dict()
-		items = so.get_work_order_items(1)
+		items = get_work_order_items(so.name, 1)
 		mr_dict["items"] = items
 		mr_dict["include_exploded_items"] = 0
 		mr_dict["ignore_existing_ordered_qty"] = 1
diff --git a/erpnext/selling/page/point_of_sale/pos_controller.js b/erpnext/selling/page/point_of_sale/pos_controller.js
index c442774..46320e5 100644
--- a/erpnext/selling/page/point_of_sale/pos_controller.js
+++ b/erpnext/selling/page/point_of_sale/pos_controller.js
@@ -522,7 +522,7 @@
 
 			const from_selector = field === 'qty' && value === "+1";
 			if (from_selector)
-				value = flt(item_row.qty) + flt(value);
+				value = flt(item_row.stock_qty) + flt(value);
 
 			if (item_row_exists) {
 				if (field === 'qty')
diff --git a/erpnext/selling/report/payment_terms_status_for_sales_order/test_payment_terms_status_for_sales_order.py b/erpnext/selling/report/payment_terms_status_for_sales_order/test_payment_terms_status_for_sales_order.py
index 525ae8e..58516f6 100644
--- a/erpnext/selling/report/payment_terms_status_for_sales_order/test_payment_terms_status_for_sales_order.py
+++ b/erpnext/selling/report/payment_terms_status_for_sales_order/test_payment_terms_status_for_sales_order.py
@@ -2,7 +2,7 @@
 
 import frappe
 from frappe.tests.utils import FrappeTestCase
-from frappe.utils import add_days, nowdate
+from frappe.utils import add_days, add_months, nowdate
 
 from erpnext.selling.doctype.sales_order.sales_order import make_sales_invoice
 from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
@@ -15,9 +15,16 @@
 
 
 class TestPaymentTermsStatusForSalesOrder(FrappeTestCase):
+	def setUp(self):
+		self.cleanup_old_entries()
+
 	def tearDown(self):
 		frappe.db.rollback()
 
+	def cleanup_old_entries(self):
+		frappe.db.delete("Sales Invoice", filters={"company": "_Test Company"})
+		frappe.db.delete("Sales Order", filters={"company": "_Test Company"})
+
 	def create_payment_terms_template(self):
 		# create template for 50-50 payments
 		template = None
@@ -348,7 +355,7 @@
 		item = create_item(item_code="_Test Excavator 1", is_stock_item=0)
 		transaction_date = nowdate()
 		so = make_sales_order(
-			transaction_date=add_days(transaction_date, -30),
+			transaction_date=add_months(transaction_date, -1),
 			delivery_date=add_days(transaction_date, -15),
 			item=item.item_code,
 			qty=10,
@@ -369,13 +376,15 @@
 		sinv.items[0].qty = 6
 		sinv.insert()
 		sinv.submit()
+
+		first_due_date = add_days(add_months(transaction_date, -1), 15)
 		columns, data, message, chart = execute(
 			frappe._dict(
 				{
 					"company": "_Test Company",
 					"item": item.item_code,
-					"from_due_date": add_days(transaction_date, -30),
-					"to_due_date": add_days(transaction_date, -15),
+					"from_due_date": add_months(transaction_date, -1),
+					"to_due_date": first_due_date,
 				}
 			)
 		)
@@ -384,11 +393,11 @@
 			{
 				"name": so.name,
 				"customer": so.customer,
-				"submitted": datetime.date.fromisoformat(add_days(transaction_date, -30)),
+				"submitted": datetime.date.fromisoformat(add_months(transaction_date, -1)),
 				"status": "Completed",
 				"payment_term": None,
 				"description": "_Test 50-50",
-				"due_date": datetime.date.fromisoformat(add_days(transaction_date, -15)),
+				"due_date": datetime.date.fromisoformat(first_due_date),
 				"invoice_portion": 50.0,
 				"currency": "INR",
 				"base_payment_amount": 500000.0,
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 5ce6e9c..f1df3a1 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -253,7 +253,7 @@
 	}
 
 	calculate_commission() {
-		if(!this.frm.fields_dict.commission_rate) return;
+		if(!this.frm.fields_dict.commission_rate || this.frm.doc.docstatus === 1) return;
 
 		if(this.frm.doc.commission_rate > 100) {
 			this.frm.set_value("commission_rate", 100);
diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js
index 5bcb05a..9a9ddf4 100644
--- a/erpnext/stock/doctype/item/item.js
+++ b/erpnext/stock/doctype/item/item.js
@@ -33,6 +33,9 @@
 			'Material Request': () => {
 				open_form(frm, "Material Request", "Material Request Item", "items");
 			},
+			'Stock Entry': () => {
+				open_form(frm, "Stock Entry", "Stock Entry Detail", "items");
+			},
 		};
 
 	},
@@ -893,6 +896,9 @@
 		new_child_doc.item_name = frm.doc.item_name;
 		new_child_doc.uom = frm.doc.stock_uom;
 		new_child_doc.description = frm.doc.description;
+		if (!new_child_doc.qty) {
+			new_child_doc.qty = 1.0;
+		}
 
 		frappe.run_serially([
 			() => frappe.ui.form.make_quick_entry(doctype, null, null, new_doc),
diff --git a/erpnext/stock/doctype/item_alternative/item_alternative.py b/erpnext/stock/doctype/item_alternative/item_alternative.py
index fb1a28d..0c24d3c 100644
--- a/erpnext/stock/doctype/item_alternative/item_alternative.py
+++ b/erpnext/stock/doctype/item_alternative/item_alternative.py
@@ -54,7 +54,7 @@
 		if not item_data.allow_alternative_item:
 			frappe.throw(alternate_item_check_msg.format(self.item_code))
 		if self.two_way and not alternative_item_data.allow_alternative_item:
-			frappe.throw(alternate_item_check_msg.format(self.item_code))
+			frappe.throw(alternate_item_check_msg.format(self.alternative_item_code))
 
 	def validate_duplicate(self):
 		if frappe.db.get_value(
diff --git a/erpnext/stock/doctype/item_price/item_price.js b/erpnext/stock/doctype/item_price/item_price.js
index 12cf6cf..ce489ff 100644
--- a/erpnext/stock/doctype/item_price/item_price.js
+++ b/erpnext/stock/doctype/item_price/item_price.js
@@ -2,7 +2,18 @@
 // License: GNU General Public License v3. See license.txt
 
 frappe.ui.form.on("Item Price", {
-	onload: function (frm) {
+	setup(frm) {
+		frm.set_query("item_code", function() {
+			return {
+				filters: {
+					"disabled": 0,
+					"has_variants": 0
+				}
+			};
+		});
+	},
+
+	onload(frm) {
 		// Fetch price list details
 		frm.add_fetch("price_list", "buying", "buying");
 		frm.add_fetch("price_list", "selling", "selling");
diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py
index bcd31ad..54d1ae6 100644
--- a/erpnext/stock/doctype/item_price/item_price.py
+++ b/erpnext/stock/doctype/item_price/item_price.py
@@ -3,7 +3,7 @@
 
 
 import frappe
-from frappe import _
+from frappe import _, bold
 from frappe.model.document import Document
 from frappe.query_builder import Criterion
 from frappe.query_builder.functions import Cast_
@@ -21,6 +21,7 @@
 		self.update_price_list_details()
 		self.update_item_details()
 		self.check_duplicates()
+		self.validate_item_template()
 
 	def validate_item(self):
 		if not frappe.db.exists("Item", self.item_code):
@@ -49,6 +50,12 @@
 				"Item", self.item_code, ["item_name", "description"]
 			)
 
+	def validate_item_template(self):
+		if frappe.get_cached_value("Item", self.item_code, "has_variants"):
+			msg = f"Item Price cannot be created for the template item {bold(self.item_code)}"
+
+			frappe.throw(_(msg))
+
 	def check_duplicates(self):
 
 		item_price = frappe.qb.DocType("Item Price")
diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py
index 30d933e..8fd4938 100644
--- a/erpnext/stock/doctype/item_price/test_item_price.py
+++ b/erpnext/stock/doctype/item_price/test_item_price.py
@@ -16,6 +16,28 @@
 		frappe.db.sql("delete from `tabItem Price`")
 		make_test_records_for_doctype("Item Price", force=True)
 
+	def test_template_item_price(self):
+		from erpnext.stock.doctype.item.test_item import make_item
+
+		item = make_item(
+			"Test Template Item 1",
+			{
+				"has_variants": 1,
+				"variant_based_on": "Manufacturer",
+			},
+		)
+
+		doc = frappe.get_doc(
+			{
+				"doctype": "Item Price",
+				"price_list": "_Test Price List",
+				"item_code": item.name,
+				"price_list_rate": 100,
+			}
+		)
+
+		self.assertRaises(frappe.ValidationError, doc.save)
+
 	def test_duplicate_item(self):
 		doc = frappe.copy_doc(test_records[0])
 		self.assertRaises(ItemPriceDuplicateItem, doc.save)
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 6426fe8..8aeb751 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -10,6 +10,7 @@
 import frappe
 from frappe import _, msgprint
 from frappe.model.mapper import get_mapped_doc
+from frappe.query_builder.functions import Sum
 from frappe.utils import cint, cstr, flt, get_link_to_form, getdate, new_line_sep, nowdate
 
 from erpnext.buying.utils import check_on_hold_or_closed_status, validate_for_items
@@ -180,6 +181,34 @@
 		self.update_requested_qty()
 		self.update_requested_qty_in_production_plan()
 
+	def get_mr_items_ordered_qty(self, mr_items):
+		mr_items_ordered_qty = {}
+		mr_items = [d.name for d in self.get("items") if d.name in mr_items]
+
+		doctype = qty_field = None
+		if self.material_request_type in ("Material Issue", "Material Transfer", "Customer Provided"):
+			doctype = frappe.qb.DocType("Stock Entry Detail")
+			qty_field = doctype.transfer_qty
+		elif self.material_request_type == "Manufacture":
+			doctype = frappe.qb.DocType("Work Order")
+			qty_field = doctype.qty
+
+		if doctype and qty_field:
+			query = (
+				frappe.qb.from_(doctype)
+				.select(doctype.material_request_item, Sum(qty_field))
+				.where(
+					(doctype.material_request == self.name)
+					& (doctype.material_request_item.isin(mr_items))
+					& (doctype.docstatus == 1)
+				)
+				.groupby(doctype.material_request_item)
+			)
+
+			mr_items_ordered_qty = frappe._dict(query.run())
+
+		return mr_items_ordered_qty
+
 	def update_completed_qty(self, mr_items=None, update_modified=True):
 		if self.material_request_type == "Purchase":
 			return
@@ -187,18 +216,13 @@
 		if not mr_items:
 			mr_items = [d.name for d in self.get("items")]
 
+		mr_items_ordered_qty = self.get_mr_items_ordered_qty(mr_items)
+		mr_qty_allowance = frappe.db.get_single_value("Stock Settings", "mr_qty_allowance")
+
 		for d in self.get("items"):
 			if d.name in mr_items:
 				if self.material_request_type in ("Material Issue", "Material Transfer", "Customer Provided"):
-					d.ordered_qty = flt(
-						frappe.db.sql(
-							"""select sum(transfer_qty)
-						from `tabStock Entry Detail` where material_request = %s
-						and material_request_item = %s and docstatus = 1""",
-							(self.name, d.name),
-						)[0][0]
-					)
-					mr_qty_allowance = frappe.db.get_single_value("Stock Settings", "mr_qty_allowance")
+					d.ordered_qty = flt(mr_items_ordered_qty.get(d.name))
 
 					if mr_qty_allowance:
 						allowed_qty = d.qty + (d.qty * (mr_qty_allowance / 100))
@@ -217,14 +241,7 @@
 						)
 
 				elif self.material_request_type == "Manufacture":
-					d.ordered_qty = flt(
-						frappe.db.sql(
-							"""select sum(qty)
-						from `tabWork Order` where material_request = %s
-						and material_request_item = %s and docstatus = 1""",
-							(self.name, d.name),
-						)[0][0]
-					)
+					d.ordered_qty = flt(mr_items_ordered_qty.get(d.name))
 
 				frappe.db.set_value(d.doctype, d.name, "ordered_qty", d.ordered_qty)
 
@@ -587,6 +604,9 @@
 
 	def set_missing_values(source, target):
 		target.purpose = source.material_request_type
+		target.from_warehouse = source.set_from_warehouse
+		target.to_warehouse = source.set_warehouse
+
 		if source.job_card:
 			target.purpose = "Material Transfer for Manufacture"
 
@@ -722,6 +742,7 @@
 def make_in_transit_stock_entry(source_name, in_transit_warehouse):
 	ste_doc = make_stock_entry(source_name)
 	ste_doc.add_to_transit = 1
+	ste_doc.to_warehouse = in_transit_warehouse
 
 	for row in ste_doc.items:
 		row.t_warehouse = in_transit_warehouse
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index bb318f7..c1abd31 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -293,6 +293,7 @@
 			get_purchase_document_details,
 		)
 
+		stock_rbnb = None
 		if erpnext.is_perpetual_inventory_enabled(self.company):
 			stock_rbnb = self.get_company_default("stock_received_but_not_billed")
 			landed_cost_entries = get_item_account_wise_additional_cost(self.name)
@@ -450,6 +451,21 @@
 								item=d,
 							)
 
+					if d.rate_difference_with_purchase_invoice and stock_rbnb:
+						account_currency = get_account_currency(stock_rbnb)
+						self.add_gl_entry(
+							gl_entries=gl_entries,
+							account=stock_rbnb,
+							cost_center=d.cost_center,
+							debit=0.0,
+							credit=flt(d.rate_difference_with_purchase_invoice),
+							remarks=_("Adjustment based on Purchase Invoice rate"),
+							against_account=warehouse_account_name,
+							account_currency=account_currency,
+							project=d.project,
+							item=d,
+						)
+
 					# sub-contracting warehouse
 					if flt(d.rm_supp_cost) and warehouse_account.get(self.supplier_warehouse):
 						self.add_gl_entry(
@@ -470,10 +486,11 @@
 						+ flt(d.landed_cost_voucher_amount)
 						+ flt(d.rm_supp_cost)
 						+ flt(d.item_tax_amount)
+						+ flt(d.rate_difference_with_purchase_invoice)
 					)
 
 					divisional_loss = flt(
-						valuation_amount_as_per_doc - stock_value_diff, d.precision("base_net_amount")
+						valuation_amount_as_per_doc - flt(stock_value_diff), d.precision("base_net_amount")
 					)
 
 					if divisional_loss:
@@ -765,7 +782,7 @@
 			updated_pr += update_billed_amount_based_on_po(po_details, update_modified)
 
 		for pr in set(updated_pr):
-			pr_doc = self if (pr == self.name) else frappe.get_cached_doc("Purchase Receipt", pr)
+			pr_doc = self if (pr == self.name) else frappe.get_doc("Purchase Receipt", pr)
 			update_billing_percentage(pr_doc, update_modified=update_modified)
 
 		self.load_from_db()
@@ -881,7 +898,7 @@
 	return {d.po_detail: flt(d.billed_amt) for d in query}
 
 
-def update_billing_percentage(pr_doc, update_modified=True):
+def update_billing_percentage(pr_doc, update_modified=True, adjust_incoming_rate=False):
 	# Reload as billed amount was set in db directly
 	pr_doc.load_from_db()
 
@@ -897,6 +914,12 @@
 
 		total_amount += total_billable_amount
 		total_billed_amount += flt(item.billed_amt)
+		if adjust_incoming_rate:
+			adjusted_amt = 0.0
+			if item.billed_amt and item.amount:
+				adjusted_amt = flt(item.billed_amt) - flt(item.amount)
+
+			item.db_set("rate_difference_with_purchase_invoice", adjusted_amt, update_modified=False)
 
 	percent_billed = round(100 * (total_billed_amount / (total_amount or 1)), 6)
 	pr_doc.db_set("per_billed", percent_billed)
@@ -906,6 +929,26 @@
 		pr_doc.set_status(update=True)
 		pr_doc.notify_update()
 
+	if adjust_incoming_rate:
+		adjust_incoming_rate_for_pr(pr_doc)
+
+
+def adjust_incoming_rate_for_pr(doc):
+	doc.update_valuation_rate(reset_outgoing_rate=False)
+
+	for item in doc.get("items"):
+		item.db_update()
+
+	doc.docstatus = 2
+	doc.update_stock_ledger(allow_negative_stock=True, via_landed_cost_voucher=True)
+	doc.make_gl_entries_on_cancel()
+
+	# update stock & gl entries for submit state of PR
+	doc.docstatus = 1
+	doc.update_stock_ledger(allow_negative_stock=True, via_landed_cost_voucher=True)
+	doc.make_gl_entries()
+	doc.repost_future_sle_and_gle()
+
 
 def get_item_wise_returned_qty(pr_doc):
 	items = [d.name for d in pr_doc.items]
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
index 7a350b9..cd320fd 100644
--- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
+++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -69,6 +69,7 @@
   "item_tax_amount",
   "rm_supp_cost",
   "landed_cost_voucher_amount",
+  "rate_difference_with_purchase_invoice",
   "billed_amt",
   "warehouse_and_reference",
   "warehouse",
@@ -1007,12 +1008,20 @@
    "fieldtype": "Check",
    "label": "Has Item Scanned",
    "read_only": 1
+  },
+  {
+   "fieldname": "rate_difference_with_purchase_invoice",
+   "fieldtype": "Currency",
+   "label": "Rate Difference with Purchase Invoice",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2023-01-18 15:48:58.114923",
+ "modified": "2023-02-28 15:43:04.470104",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Purchase Receipt Item",
diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.py b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
index 2a9f091..9673c81 100644
--- a/erpnext/stock/doctype/quality_inspection/quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
@@ -6,7 +6,7 @@
 from frappe import _
 from frappe.model.document import Document
 from frappe.model.mapper import get_mapped_doc
-from frappe.utils import cint, cstr, flt
+from frappe.utils import cint, cstr, flt, get_number_format_info
 
 from erpnext.stock.doctype.quality_inspection_template.quality_inspection_template import (
 	get_template_details,
@@ -156,7 +156,9 @@
 		for i in range(1, 11):
 			reading_value = reading.get("reading_" + str(i))
 			if reading_value is not None and reading_value.strip():
-				result = flt(reading.get("min_value")) <= flt(reading_value) <= flt(reading.get("max_value"))
+				result = (
+					flt(reading.get("min_value")) <= parse_float(reading_value) <= flt(reading.get("max_value"))
+				)
 				if not result:
 					return False
 		return True
@@ -196,7 +198,7 @@
 			# numeric readings
 			for i in range(1, 11):
 				field = "reading_" + str(i)
-				data[field] = flt(reading.get(field))
+				data[field] = parse_float(reading.get(field))
 			data["mean"] = self.calculate_mean(reading)
 
 		return data
@@ -210,7 +212,7 @@
 		for i in range(1, 11):
 			reading_value = reading.get("reading_" + str(i))
 			if reading_value is not None and reading_value.strip():
-				readings_list.append(flt(reading_value))
+				readings_list.append(parse_float(reading_value))
 
 		actual_mean = mean(readings_list) if readings_list else 0
 		return actual_mean
@@ -324,3 +326,19 @@
 	)
 
 	return doc
+
+
+def parse_float(num: str) -> float:
+	"""Since reading_# fields are `Data` field they might contain number which
+	is representation in user's prefered number format instead of machine
+	readable format. This function converts them to machine readable format."""
+
+	number_format = frappe.db.get_default("number_format") or "#,###.##"
+	decimal_str, comma_str, _number_format_precision = get_number_format_info(number_format)
+
+	if decimal_str == "," and comma_str == ".":
+		num = num.replace(",", "#$")
+		num = num.replace(".", ",")
+		num = num.replace("#$", ".")
+
+	return flt(num)
diff --git a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
index 4f19643..9d2e139 100644
--- a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
@@ -2,7 +2,7 @@
 # See license.txt
 
 import frappe
-from frappe.tests.utils import FrappeTestCase
+from frappe.tests.utils import FrappeTestCase, change_settings
 from frappe.utils import nowdate
 
 from erpnext.controllers.stock_controller import (
@@ -216,6 +216,40 @@
 		qa.save()
 		self.assertEqual(qa.status, "Accepted")
 
+	@change_settings("System Settings", {"number_format": "#.###,##"})
+	def test_diff_number_format(self):
+		self.assertEqual(frappe.db.get_default("number_format"), "#.###,##")  # sanity check
+
+		# Test QI based on acceptance values (Non formula)
+		dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
+		readings = [
+			{
+				"specification": "Iron Content",  # numeric reading
+				"min_value": 60,
+				"max_value": 100,
+				"reading_1": "70,000",
+			},
+			{
+				"specification": "Iron Content",  # numeric reading
+				"min_value": 60,
+				"max_value": 100,
+				"reading_1": "1.100,00",
+			},
+		]
+
+		qa = create_quality_inspection(
+			reference_type="Delivery Note", reference_name=dn.name, readings=readings, do_not_save=True
+		)
+
+		qa.save()
+
+		# status must be auto set as per formula
+		self.assertEqual(qa.readings[0].status, "Accepted")
+		self.assertEqual(qa.readings[1].status, "Rejected")
+
+		qa.delete()
+		dn.delete()
+
 
 def create_quality_inspection(**args):
 	args = frappe._dict(args)
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 398b3c9..3f6a2c8 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -397,6 +397,7 @@
 				"voucher_type": self.doctype,
 				"voucher_no": self.name,
 				"voucher_detail_no": row.name,
+				"actual_qty": 0,
 				"company": self.company,
 				"stock_uom": frappe.db.get_value("Item", row.item_code, "stock_uom"),
 				"is_cancelled": 1 if self.docstatus == 2 else 0,
@@ -423,6 +424,8 @@
 				data.valuation_rate = flt(row.valuation_rate)
 				data.stock_value_difference = -1 * flt(row.amount_difference)
 
+		self.update_inventory_dimensions(row, data)
+
 		return data
 
 	def make_sle_on_cancel(self):
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index b53f429..489ec6e 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -8,6 +8,7 @@
 from frappe import _, throw
 from frappe.model import child_table_fields, default_fields
 from frappe.model.meta import get_field_precision
+from frappe.query_builder.functions import CombineDatetime, IfNull, Sum
 from frappe.utils import add_days, add_months, cint, cstr, flt, getdate
 
 from erpnext import get_company_currency
@@ -526,12 +527,8 @@
 
 	itemwise_barcode = {}
 	for item in items_list:
-		barcodes = frappe.db.sql(
-			"""
-			select barcode from `tabItem Barcode` where parent = %s
-		""",
-			item.item_code,
-			as_dict=1,
+		barcodes = frappe.db.get_all(
+			"Item Barcode", filters={"parent": item.item_code}, fields="barcode"
 		)
 
 		for barcode in barcodes:
@@ -891,34 +888,36 @@
 	:param item_code: str, Item Doctype field item_code
 	"""
 
-	args["item_code"] = item_code
-
-	conditions = """where item_code=%(item_code)s
-		and price_list=%(price_list)s
-		and ifnull(uom, '') in ('', %(uom)s)"""
-
-	conditions += "and ifnull(batch_no, '') in ('', %(batch_no)s)"
+	ip = frappe.qb.DocType("Item Price")
+	query = (
+		frappe.qb.from_(ip)
+		.select(ip.name, ip.price_list_rate, ip.uom)
+		.where(
+			(ip.item_code == item_code)
+			& (ip.price_list == args.get("price_list"))
+			& (IfNull(ip.uom, "").isin(["", args.get("uom")]))
+			& (IfNull(ip.batch_no, "").isin(["", args.get("batch_no")]))
+		)
+		.orderby(ip.valid_from, order=frappe.qb.desc)
+		.orderby(IfNull(ip.batch_no, ""), order=frappe.qb.desc)
+		.orderby(ip.uom, order=frappe.qb.desc)
+	)
 
 	if not ignore_party:
 		if args.get("customer"):
-			conditions += " and customer=%(customer)s"
+			query = query.where(ip.customer == args.get("customer"))
 		elif args.get("supplier"):
-			conditions += " and supplier=%(supplier)s"
+			query = query.where(ip.supplier == args.get("supplier"))
 		else:
-			conditions += "and (customer is null or customer = '') and (supplier is null or supplier = '')"
+			query = query.where((IfNull(ip.customer, "") == "") & (IfNull(ip.supplier, "") == ""))
 
 	if args.get("transaction_date"):
-		conditions += """ and %(transaction_date)s between
-			ifnull(valid_from, '2000-01-01') and ifnull(valid_upto, '2500-12-31')"""
+		query = query.where(
+			(IfNull(ip.valid_from, "2000-01-01") <= args["transaction_date"])
+			& (IfNull(ip.valid_upto, "2500-12-31") >= args["transaction_date"])
+		)
 
-	return frappe.db.sql(
-		""" select name, price_list_rate, uom
-		from `tabItem Price` {conditions}
-		order by valid_from desc, ifnull(batch_no, '') desc, uom desc """.format(
-			conditions=conditions
-		),
-		args,
-	)
+	return query.run()
 
 
 def get_price_list_rate_for(args, item_code):
@@ -1091,91 +1090,68 @@
 	if not user:
 		user = frappe.session["user"]
 
-	condition = "pfu.user = %(user)s AND pfu.default=1"
-	if user and company:
-		condition = "pfu.user = %(user)s AND pf.company = %(company)s AND pfu.default=1"
+	pf = frappe.qb.DocType("POS Profile")
+	pfu = frappe.qb.DocType("POS Profile User")
 
-	pos_profile = frappe.db.sql(
-		"""SELECT pf.*
-		FROM
-			`tabPOS Profile` pf LEFT JOIN `tabPOS Profile User` pfu
-		ON
-				pf.name = pfu.parent
-		WHERE
-			{cond} AND pf.disabled = 0
-	""".format(
-			cond=condition
-		),
-		{"user": user, "company": company},
-		as_dict=1,
+	query = (
+		frappe.qb.from_(pf)
+		.left_join(pfu)
+		.on(pf.name == pfu.parent)
+		.select(pf.star)
+		.where((pfu.user == user) & (pfu.default == 1))
 	)
 
+	if company:
+		query = query.where(pf.company == company)
+
+	pos_profile = query.run(as_dict=True)
+
 	if not pos_profile and company:
-		pos_profile = frappe.db.sql(
-			"""SELECT pf.*
-			FROM
-				`tabPOS Profile` pf LEFT JOIN `tabPOS Profile User` pfu
-			ON
-					pf.name = pfu.parent
-			WHERE
-				pf.company = %(company)s AND pf.disabled = 0
-		""",
-			{"company": company},
-			as_dict=1,
-		)
+		pos_profile = (
+			frappe.qb.from_(pf)
+			.left_join(pfu)
+			.on(pf.name == pfu.parent)
+			.select(pf.star)
+			.where((pf.company == company) & (pf.disabled == 0))
+		).run(as_dict=True)
 
 	return pos_profile and pos_profile[0] or None
 
 
 def get_serial_nos_by_fifo(args, sales_order=None):
 	if frappe.db.get_single_value("Stock Settings", "automatically_set_serial_nos_based_on_fifo"):
-		return "\n".join(
-			frappe.db.sql_list(
-				"""select name from `tabSerial No`
-			where item_code=%(item_code)s and warehouse=%(warehouse)s and
-			sales_order=IF(%(sales_order)s IS NULL, sales_order, %(sales_order)s)
-			order by timestamp(purchase_date, purchase_time)
-			asc limit %(qty)s""",
-				{
-					"item_code": args.item_code,
-					"warehouse": args.warehouse,
-					"qty": abs(cint(args.stock_qty)),
-					"sales_order": sales_order,
-				},
-			)
+		sn = frappe.qb.DocType("Serial No")
+		query = (
+			frappe.qb.from_(sn)
+			.select(sn.name)
+			.where((sn.item_code == args.item_code) & (sn.warehouse == args.warehouse))
+			.orderby(CombineDatetime(sn.purchase_date, sn.purchase_time))
+			.limit(abs(cint(args.stock_qty)))
 		)
 
+		if sales_order:
+			query = query.where(sn.sales_order == sales_order)
+		if args.batch_no:
+			query = query.where(sn.batch_no == args.batch_no)
 
-def get_serial_no_batchwise(args, sales_order=None):
-	if frappe.db.get_single_value("Stock Settings", "automatically_set_serial_nos_based_on_fifo"):
-		return "\n".join(
-			frappe.db.sql_list(
-				"""select name from `tabSerial No`
-			where item_code=%(item_code)s and warehouse=%(warehouse)s and
-			sales_order=IF(%(sales_order)s IS NULL, sales_order, %(sales_order)s)
-			and batch_no=IF(%(batch_no)s IS NULL, batch_no, %(batch_no)s) order
-			by timestamp(purchase_date, purchase_time) asc limit %(qty)s""",
-				{
-					"item_code": args.item_code,
-					"warehouse": args.warehouse,
-					"batch_no": args.batch_no,
-					"qty": abs(cint(args.stock_qty)),
-					"sales_order": sales_order,
-				},
-			)
-		)
+		serial_nos = query.run(as_list=True)
+		serial_nos = [s[0] for s in serial_nos]
+
+		return "\n".join(serial_nos)
 
 
 @frappe.whitelist()
 def get_conversion_factor(item_code, uom):
 	variant_of = frappe.db.get_value("Item", item_code, "variant_of", cache=True)
 	filters = {"parent": item_code, "uom": uom}
+
 	if variant_of:
 		filters["parent"] = ("in", (item_code, variant_of))
 	conversion_factor = frappe.db.get_value("UOM Conversion Detail", filters, "conversion_factor")
 	if not conversion_factor:
 		stock_uom = frappe.db.get_value("Item", item_code, "stock_uom")
 		conversion_factor = get_uom_conv_factor(uom, stock_uom)
+
 	return {"conversion_factor": conversion_factor or 1.0}
 
 
@@ -1217,12 +1193,16 @@
 
 
 def get_company_total_stock(item_code, company):
-	return frappe.db.sql(
-		"""SELECT sum(actual_qty) from
-		(`tabBin` INNER JOIN `tabWarehouse` ON `tabBin`.warehouse = `tabWarehouse`.name)
-		WHERE `tabWarehouse`.company = %s and `tabBin`.item_code = %s""",
-		(company, item_code),
-	)[0][0]
+	bin = frappe.qb.DocType("Bin")
+	wh = frappe.qb.DocType("Warehouse")
+
+	return (
+		frappe.qb.from_(bin)
+		.inner_join(wh)
+		.on(bin.warehouse == wh.name)
+		.select(Sum(bin.actual_qty))
+		.where((wh.company == company) & (bin.item_code == item_code))
+	).run()[0][0]
 
 
 @frappe.whitelist()
@@ -1231,6 +1211,7 @@
 		{"item_code": item_code, "warehouse": warehouse, "stock_qty": stock_qty, "serial_no": serial_no}
 	)
 	serial_no = get_serial_no(args)
+
 	return {"serial_no": serial_no}
 
 
@@ -1250,6 +1231,7 @@
 		bin_details_and_serial_nos.update(
 			get_serial_no_details(item_code, warehouse, stock_qty, serial_no)
 		)
+
 	return bin_details_and_serial_nos
 
 
@@ -1264,6 +1246,7 @@
 		)
 		serial_no = get_serial_no(args)
 		batch_qty_and_serial_no.update({"serial_no": serial_no})
+
 	return batch_qty_and_serial_no
 
 
@@ -1336,7 +1319,6 @@
 def apply_price_list_on_item(args):
 	item_doc = frappe.db.get_value("Item", args.item_code, ["name", "variant_of"], as_dict=1)
 	item_details = get_price_list_rate(args, item_doc)
-
 	item_details.update(get_pricing_rule_for_item(args))
 
 	return item_details
@@ -1420,12 +1402,12 @@
 		) or {"valuation_rate": 0}
 
 	elif not item.get("is_stock_item"):
-		valuation_rate = frappe.db.sql(
-			"""select sum(base_net_amount) / sum(qty*conversion_factor)
-			from `tabPurchase Invoice Item`
-			where item_code = %s and docstatus=1""",
-			item_code,
-		)
+		pi_item = frappe.qb.DocType("Purchase Invoice Item")
+		valuation_rate = (
+			frappe.qb.from_(pi_item)
+			.select((Sum(pi_item.base_net_amount) / Sum(pi_item.qty * pi_item.conversion_factor)))
+			.where((pi_item.docstatus == 1) & (pi_item.item_code == item_code))
+		).run()
 
 		if valuation_rate:
 			return {"valuation_rate": valuation_rate[0][0] or 0.0}
@@ -1451,7 +1433,7 @@
 	if args.get("warehouse") and args.get("stock_qty") and args.get("item_code"):
 		has_serial_no = frappe.get_value("Item", {"item_code": args.item_code}, "has_serial_no")
 		if args.get("batch_no") and has_serial_no == 1:
-			return get_serial_no_batchwise(args, sales_order)
+			return get_serial_nos_by_fifo(args, sales_order)
 		elif has_serial_no == 1:
 			args = json.dumps(
 				{
@@ -1483,31 +1465,35 @@
 		args = frappe._dict(json.loads(args))
 
 	blanket_order_details = None
-	condition = ""
-	if args.item_code:
-		if args.customer and args.doctype == "Sales Order":
-			condition = " and bo.customer=%(customer)s"
-		elif args.supplier and args.doctype == "Purchase Order":
-			condition = " and bo.supplier=%(supplier)s"
-		if args.blanket_order:
-			condition += " and bo.name =%(blanket_order)s"
-		if args.transaction_date:
-			condition += " and bo.to_date>=%(transaction_date)s"
 
-		blanket_order_details = frappe.db.sql(
-			"""
-				select boi.rate as blanket_order_rate, bo.name as blanket_order
-				from `tabBlanket Order` bo, `tabBlanket Order Item` boi
-				where bo.company=%(company)s and boi.item_code=%(item_code)s
-					and bo.docstatus=1 and bo.name = boi.parent {0}
-			""".format(
-				condition
-			),
-			args,
-			as_dict=True,
+	if args.item_code:
+		bo = frappe.qb.DocType("Blanket Order")
+		bo_item = frappe.qb.DocType("Blanket Order Item")
+
+		query = (
+			frappe.qb.from_(bo)
+			.from_(bo_item)
+			.select(bo_item.rate.as_("blanket_order_rate"), bo.name.as_("blanket_order"))
+			.where(
+				(bo.company == args.company)
+				& (bo_item.item_code == args.item_code)
+				& (bo.docstatus == 1)
+				& (bo.name == bo_item.parent)
+			)
 		)
 
+		if args.customer and args.doctype == "Sales Order":
+			query = query.where(bo.customer == args.customer)
+		elif args.supplier and args.doctype == "Purchase Order":
+			query = query.where(bo.supplier == args.supplier)
+		if args.blanket_order:
+			query = query.where(bo.name == args.blanket_order)
+		if args.transaction_date:
+			query = query.where(bo.to_date >= args.transaction_date)
+
+		blanket_order_details = query.run(as_dict=True)
 		blanket_order_details = blanket_order_details[0] if blanket_order_details else ""
+
 	return blanket_order_details
 
 
@@ -1517,10 +1503,10 @@
 		if get_reserved_qty_for_so(args.get("against_sales_order"), args.get("item_code")):
 			reserved_so = args.get("against_sales_order")
 	elif args.get("against_sales_invoice"):
-		sales_order = frappe.db.sql(
-			"""select sales_order from `tabSales Invoice Item` where
-		parent=%s and item_code=%s""",
-			(args.get("against_sales_invoice"), args.get("item_code")),
+		sales_order = frappe.db.get_all(
+			"Sales Invoice Item",
+			filters={"parent": args.get("against_sales_invoice"), "item_code": args.get("item_code")},
+			fields="sales_order",
 		)
 		if sales_order and sales_order[0]:
 			if get_reserved_qty_for_so(sales_order[0][0], args.get("item_code")):
@@ -1532,13 +1518,14 @@
 
 
 def get_reserved_qty_for_so(sales_order, item_code):
-	reserved_qty = frappe.db.sql(
-		"""select sum(qty) from `tabSales Order Item`
-	where parent=%s and item_code=%s and ensure_delivery_based_on_produced_serial_no=1
-	""",
-		(sales_order, item_code),
+	reserved_qty = frappe.db.get_value(
+		"Sales Order Item",
+		filters={
+			"parent": sales_order,
+			"item_code": item_code,
+			"ensure_delivery_based_on_produced_serial_no": 1,
+		},
+		fieldname="sum(qty)",
 	)
-	if reserved_qty and reserved_qty[0][0]:
-		return reserved_qty[0][0]
-	else:
-		return 0
+
+	return reserved_qty or 0
diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py
index f4fd4de..95dbc83 100644
--- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py
+++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py
@@ -191,14 +191,17 @@
 
 	def validate_available_qty_for_consumption(self):
 		for item in self.get("supplied_items"):
+			precision = item.precision("consumed_qty")
 			if (
-				item.available_qty_for_consumption and item.available_qty_for_consumption < item.consumed_qty
+				item.available_qty_for_consumption
+				and flt(item.available_qty_for_consumption, precision) - flt(item.consumed_qty, precision) < 0
 			):
-				frappe.throw(
-					_(
-						"Row {0}: Consumed Qty must be less than or equal to Available Qty For Consumption in Consumed Items Table."
-					).format(item.idx)
-				)
+				msg = f"""Row {item.idx}: Consumed Qty {flt(item.consumed_qty, precision)}
+					must be less than or equal to Available Qty For Consumption
+					{flt(item.available_qty_for_consumption, precision)}
+					in Consumed Items Table."""
+
+				frappe.throw(_(msg))
 
 	def validate_items_qty(self):
 		for item in self.items:
diff --git a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
index 7f4e9ef..2a078c4 100644
--- a/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
+++ b/erpnext/support/doctype/service_level_agreement/service_level_agreement.py
@@ -13,8 +13,8 @@
 	get_datetime,
 	get_datetime_str,
 	get_link_to_form,
+	get_system_timezone,
 	get_time,
-	get_time_zone,
 	get_weekdays,
 	getdate,
 	nowdate,
@@ -981,7 +981,7 @@
 
 
 def get_tz(user):
-	return frappe.db.get_value("User", user, "time_zone") or get_time_zone()
+	return frappe.db.get_value("User", user, "time_zone") or get_system_timezone()
 
 
 @frappe.whitelist()
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index 5a0a863..bec3ce2 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -9916,3 +9916,5 @@
 Delivered at Place,Geliefert benannter Ort,
 Delivered at Place Unloaded,Geliefert benannter Ort entladen,
 Delivered Duty Paid,Geliefert verzollt,
+Discount Validity,Frist für den Rabatt,
+Discount Validity Based On,Frist für den Rabatt berechnet sich nach,
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index b65494c..3fade89 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -24,66 +24,66 @@
 A qustion must have at least one correct options,Bir soru en az bir doğru seçeneğe sahip olmalıdır,
 A {0} exists between {1} and {2} (,{1} ve {2} arasında bir {0} var (,
 A4,A4,
-API Endpoint,API Bitiş Noktası,
-API Key,API Anahtarı,
+API Endpoint,API Endpoint,
+API Key,API Key,
 Abbr can not be blank or space,Kısaltma boş veya boşluktan oluşamaz,
 Abbreviation already used for another company,Kısaltma zaten başka bir şirket için kullanılıyor,
-Abbreviation cannot have more than 5 characters,Kısaltma 5 karakterden fazla olamaz.,
+Abbreviation cannot have more than 5 characters,Kısaltma 5 karakterden fazlası olamaz.,
 Abbreviation is mandatory,Kısaltma zorunludur,
 About the Company,Şirket hakkında,
 About your company,Şirketiniz hakkında,
-Above,yukarıdaki,
+Above,Yukarıdaki,
 Absent,Eksik,
 Academic Term,Akademik Dönem,
-Academic Term: ,Akademik Dönem:,
-Academic Year,Akademik yıl,
-Academic Year: ,Akademik yıl:,
+Academic Term: ,Akademik Dönem: ,
+Academic Year,Akademik Yıl,
+Academic Year: ,Akademik Yıl: ,
 Accepted + Rejected Qty must be equal to Received quantity for Item {0},Onaylanan ve reddedilen miktarların toplamı alınan ürün miktarına eşit olmak zorundadır. {0},
 Access Token,Erişim Anahtarı,
 Accessable Value,Erişilebilir Değer,
-Account,hesap,
-Account Number,Hesap numarası,
-Account Number {0} already used in account {1},{1} hesapta {0} hesap numarası zaten kullanıldı,
-Account Pay Only,Hesabı yalnızca öde,
-Account Type,hesap tipi,
+Account,Hesap,
+Account Number,Hesap Numarası,
+Account Number {0} already used in account {1},{1} hesapta {0} hesap numarası zaten sınırları,
+Account Pay Only,Sadece Ödeme Hesabı,
+Account Type,Hesap Türü,
 Account Type for {0} must be {1},{0} için hesap türü {1} olmalı,
 "Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'",Bakiye alacaklı durumdaysa borçlu duruma çevrilemez.,
-"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'",Bakiye borçlu durumdaysa alacaklı duruma çevrilemez.,
+"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'",Bakiye borçlu durumdaysa alacaklı durumuna çevrilemez.,
 Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Hesap {0} için hesap numarası mevcut değil. <br> Lütfen Hesap Tablonuzu doğru ayarlayın.,
 Account with child nodes cannot be converted to ledger,Alt hesapları bulunan hesaplar muhasebe defterine dönüştürülemez.,
 Account with child nodes cannot be set as ledger,Alt düğümleri olan hesaplar Hesap Defteri olarak ayarlanamaz,
-Account with existing transaction can not be converted to group.,İşlem görmüş hesaplar gruba dönüştürülemez.,
+Account with existing transaction can not be converted to group.,İşlem görmüş hesap kartları dönüştürülemez.,
 Account with existing transaction can not be deleted,İşlem görmüş hesaplar silinemez.,
 Account with existing transaction cannot be converted to ledger,İşlem görmüş hesaplar muhasebe defterine dönüştürülemez.,
 Account {0} does not belong to company: {1},Hesap {0} Şirkete ait değil: {1},
 Account {0} does not belongs to company {1},Hesap {0} yapan şirkete ait değil {1},
 Account {0} does not exist,Hesap {0} yok,
 Account {0} does not exists,Hesap {0} yok,
-Account {0} does not match with Company {1} in Mode of Account: {2},"Hesap {0}, Şirket {1} Hesap Modu'yla eşleşmiyor: {2}",
+Account {0} does not match with Company {1} in Mode of Account: {2},"Hesap {0}, hesap modunda {1} şirketi ile eşleşmez: {2}",
 Account {0} has been entered multiple times,Hesap {0} birden çok kez girilmiş,
-Account {0} is added in the child company {1},{1} alt şirketine {0} hesabı eklendi,
+Account {0} is added in the child company {1},{1} alt barındırma {0} hesabı eklendi,
 Account {0} is frozen,Hesap {0} donduruldu,
-Account {0} is invalid. Account Currency must be {1},Hesap {0} geçersiz. Hesap Para olmalıdır {1},
+Account {0} is invalid. Account Currency must be {1},Hesap {0} geçersiz. Hesap Para Birimi olmalıdır {1},
 Account {0}: Parent account {1} can not be a ledger,Hesap {0}: Ana hesap {1} bir defter olamaz,
 Account {0}: Parent account {1} does not belong to company: {2},Hesap {0}: Ana hesap {1} şirkete ait değil: {2},
 Account {0}: Parent account {1} does not exist,Hesap {0}: Ana hesap {1} yok,
-Account {0}: You can not assign itself as parent account,Hesap {0}: Kendisini bir ana hesap olarak atayamazsınız,
+Account {0}: You can not assign itself as parent account,Hesap {0}: üretken bir ana hesap olarak atayamazsınız,
 Account: {0} can only be updated via Stock Transactions,Hesap: {0} sadece Stok İşlemleri üzerinden güncellenebilir,
 Account: {0} with currency: {1} can not be selected,Hesap: {0} para ile: {1} seçilemez,
 Accountant,Muhasebeci,
 Accounting,Muhasebe,
-Accounting Entry for Asset,Varlıklar için Muhasebe Girişi,
-Accounting Entry for Stock,Stokta Muhasebe Giriş,
-Accounting Entry for {0}: {1} can only be made in currency: {2},{1} sadece para yapılabilir: {0} Muhasebe Kayıt {2},
-Accounting Ledger,Muhasebe defteri,
-Accounting journal entries.,Muhasebe günlük girişleri.,
+Accounting Entry for Asset,Varlık Muhasebe Kaydı,
+Accounting Entry for Stock,Stok Muhasebe Kaydı,
+Accounting Entry for {0}: {1} can only be made in currency: {2},{1} sadece para için yapılabilir: {0} Muhasebe Kayıt {2},
+Accounting Ledger,muhasebe defteri,
+Accounting journal entries.,Muhasebe yevmiye kayıtları.,
 Accounts,Hesaplar,
 Accounts Manager,Hesap Yöneticisi,
-Accounts Payable,Vadesi gelmiş hesaplar,
-Accounts Payable Summary,Ödeme Hesabı Özeti,
-Accounts Receivable,Alacak hesapları,
-Accounts Receivable Summary,Alacak Hesapları Özeti,
-Accounts User,Muhasebe Kullanıcıları,
+Accounts Payable,Borç Hesabı,
+Accounts Payable Summary,Borç Hesabı Özeti,
+Accounts Receivable,Alacak Hesabı,
+Accounts Receivable Summary,Alacak Hesabı Özeti,
+Accounts User,Muhasebe Kullanıcısı,
 Accounts table cannot be blank.,Hesap Tablosu boş olamaz.,
 Accrual Journal Entry for salaries from {0} to {1},{0} - {1} tarihleri arasında maaşlar için Günlük Tahakkuk  Girişi,
 Accumulated Depreciation,Birikmiş Amortisman,
@@ -91,48 +91,48 @@
 Accumulated Depreciation as on,Tarihinde olduğu gibi birikmiş amortisman,
 Accumulated Monthly,Aylık Birikim,
 Accumulated Values,Birikmiş Değerler,
-Accumulated Values in Group Company,Grup Şirketi&#39;nde Birikmiş Değerler,
+Accumulated Values in Group Company,Grup Şirketi'nde Birikmiş Değerler,
 Achieved ({}),Elde Edildi ({}),
-Action,Eylem,
-Action Initialised,Eylem Başlatıldı,
-Actions,Eylemler,
-Active,Etkin,
-Activity Cost exists for Employee {0} against Activity Type - {1},Çalışan {0} için Etkinlik Türü  - {1} karşılığında Etkinlik Maliyeti var,
-Activity Cost per Employee,Çalışan Başına Etkinlik Maliyeti,
+Action,İşlem,
+Action Initialised,İşlem Başlatıldı,
+Actions,İşlemler,
+Active,Aktif,
+Activity Cost exists for Employee {0} against Activity Type - {1},Çalışan {0} için Faaliyet Türü  - {1} karşılığında Faaliyet Maliyeti var,
+Activity Cost per Employee,Çalışan Başına Faaliyet Maliyeti,
 Activity Type,Faaliyet Türü,
-Actual Cost,Asıl maliyet,
+Actual Cost,Fiili Maliyet,
 Actual Delivery Date,Gerçek teslim tarihi,
-Actual Qty,Gerçek Adet,
-Actual Qty is mandatory,Gerçek Adet zorunludur,
-Actual Qty {0} / Waiting Qty {1},Gerçekleşen Miktar {0} / Bekleyen Miktar {1},
-Actual Qty: Quantity available in the warehouse.,Gerçek Adet: Depoda mevcut miktar.,
+Actual Qty,Fiili Miktar,
+Actual Qty is mandatory,Fiili Miktar zorunludur,
+Actual Qty {0} / Waiting Qty {1},Fiili Miktar {0} / Bekleyen Miktar {1},
+Actual Qty: Quantity available in the warehouse.,Gerçek Adet: Depoda Fiili miktar.,
 Actual qty in stock,Güncel stok miktarı,
 Actual type tax cannot be included in Item rate in row {0},Gerçek tip vergi satırda Öğe fiyatına dahil edilemez {0},
 Add,Ekle,
 Add / Edit Prices,Fiyatları Ekle / Düzenle,
 Add Comment,Yorum Ekle,
-Add Customers,Müşteri(ler) Ekle,
-Add Employees,Çalışan ekle,
+Add Customers,Müşteri Ekle,
+Add Employees,Çalışan Ekle,
 Add Item,Ürün Ekle,
 Add Items,Ürünler Ekle,
 Add Leads,Teklif Ekle,
 Add Multiple Tasks,Birden Fazla Görev Ekle,
-Add Row,Satır ekle,
+Add Row,Satır Ekle,
 Add Sales Partners,Satış Ortakları Ekleyin,
 Add Serial No,Seri No Ekle,
-Add Students,Öğrenci ekle,
-Add Suppliers,Tedarikçi ekle,
-Add Time Slots,Zaman Dilimleri Ekleme,
+Add Students,Öğrenci Ekle,
+Add Suppliers,Tedarikçi Ekle,
+Add Time Slots,Zaman Dilimi Ekle,
 Add Timesheets,Zaman Çizelgesi Ekle,
 Add Timeslots,Zaman Dilimi Ekle,
-Add Users to Marketplace,Kullanıcıları Pazara Eklemek,
+Add Users to Marketplace,Kullanıcıları Pazaryerine Ekle,
 Add a new address,yeni bir adres ekleyin,
 Add cards or custom sections on homepage,Ana sayfaya kart veya özel bölüm ekleme,
 Add more items or open full form,Daha fazla ürün ekle veya Tam formu aç,
-Add notes,Not ekle,
-Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Kuruluşunuzun geri kalanını kullanıcı olarak ekleyin. Ayrıca Müşterilerinizi Rehbere ekleyerek onları portala  davet edebilirsiniz,
-Add to Details,Ayrıntılara ekle,
-Add/Remove Recipients,Alıcı Ekle/Kaldır,
+Add notes,Not Ekle,
+Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,"Kuruluşunuzun geri kalanını kullanıcı olarak ekleyin. Ayrıca, müşterileri portalınıza ilave ederek, bunları kişilerden ekleyerek de ekleyebilirsiniz.",
+Add to Details,Ayrıntılara Ekle,
+Add/Remove Recipients,Alıcıları Ekle/Kaldır,
 Added,Eklendi,
 Added to details,Ayrıntılara eklendi,
 Added {0} users,{0} kullanıcı eklendi,
@@ -142,13 +142,13 @@
 Address Name,Adres adı,
 Address Title,Adres Başlığı,
 Address Type,Adres Tipi,
-Administrative Expenses,Yönetim giderleri,
+Administrative Expenses,Yönetim Giderleri,
 Administrative Officer,İdari Memur,
 Administrator,Yönetici,
 Admission,Başvuru,
 Admission and Enrollment,Kabul ve Kayıt,
 Admissions for {0},{0} için kabul,
-Admit,Kabul et,
+Admit,Başvur,
 Admitted,Başvuruldu,
 Advance Amount,Avans Tutarı,
 Advance Payments,Avans Ödemeleri,
@@ -157,12 +157,12 @@
 Advertising,Reklamcılık,
 Aerospace,Havacılık ve Uzay;,
 Against,Karşı,
-Against Account,Hesap karşılığı,
+Against Account,Hesap Karşılığı,
 Against Journal Entry {0} does not have any unmatched {1} entry,Journal Karşı giriş {0} herhangi eşsiz {1} girişi yok,
 Against Journal Entry {0} is already adjusted against some other voucher,Journal Karşı giriş {0} zaten başka çeki karşı ayarlanır,
 Against Supplier Invoice {0} dated {1},{1} tarihli {0} Tedarikçi Faturası karşılığı,
-Against Voucher,Dekont karşılığı,
-Against Voucher Type,Dekont Tipi karşılığı,
+Against Voucher,Fiş Karşılığı,
+Against Voucher Type,Fiş Tipi Karşılığı,
 Age,Yaş,
 Age (Days),Yaş (Gün),
 Ageing Based On,Yaşlandırma Temeli,
@@ -172,70 +172,70 @@
 Agriculture,Tarım,
 Agriculture (beta),Tarım (beta),
 Airline,Havayolu,
-All Accounts,Bütün hesaplar,
-All Addresses.,Tüm adresler.,
-All Assessment Groups,Bütün Değerlendirme Grupları,
-All BOMs,Tüm malzeme listeleri,
-All Contacts.,Tüm Kişiler.,
-All Customer Groups,Bütün Müşteri Grupları,
-All Day,Bütün Gün,
-All Departments,Bütün bölümler,
+All Accounts,Tüm Hesaplar,
+All Addresses.,Tüm Adresler,
+All Assessment Groups,Tüm Değerlendirme Grupları,
+All BOMs,Tüm Ürün Ağaçları,
+All Contacts.,Tüm Kişiler,
+All Customer Groups,Tüm Müşteri Grupları,
+All Day,Tüm Gün,
+All Departments,Tüm Departmanlar,
 All Healthcare Service Units,Tüm Sağlık Hizmeti Birimleri,
-All Item Groups,Bütün Ürün Grupları,
+All Item Groups,Tüm Ürün Grupları,
 All Jobs,Tüm işler,
-All Products,Tüm ürünler,
-All Products or Services.,Bütün Ürünler veya Hizmetler.,
+All Products,Tüm Ürünler,
+All Products or Services.,Tüm Ürünler veya Hizmetler.,
 All Student Admissions,Tüm Öğrenci Kabulleri,
 All Supplier Groups,Tüm Tedarikçi Grupları,
 All Supplier scorecards.,Tüm Tedarikçi puan kartları.,
-All Territories,Bütün Bölgeler,
+All Territories,Tüm Bölgeler,
 All Warehouses,Tüm Depolar,
 All communications including and above this shall be moved into the new Issue,"Bunları içeren ve bunun üstündeki tüm iletişim, yeni sayıya taşınacaktır.",
 All items have already been transferred for this Work Order.,Bu İş Emri için tüm öğeler zaten aktarıldı.,
-All other ITC,Diğer tüm ITC,
+All other ITC,Diğer Tüm ITC,
 All the mandatory Task for employee creation hasn't been done yet.,Çalışan yaratmak için tüm zorunlu görev henüz yapılmamış.,
 Allocate Payment Amount,Ödeme Tutarı ayır,
-Allocated Amount,Ayrılan miktar,
-Allocated Leaves,Ayrılmış Yapraklar,
-Allocating leaves...,Yaprakları tahsis ...,
+Allocated Amount,Ayrılan Tutar,
+Allocated Leaves,Ayrılmış İzinler,
+Allocating leaves...,İzinler tahsis ediliyor ...,
 Already record exists for the item {0},Zaten {0} öğesi için kayıt var,
 "Already set default in pos profile {0} for user {1}, kindly disabled default","{1} kullanıcısı için {0} pos profilinde varsayılan olarak varsayılan değer ayarladınız, varsayılan olarak lütfen devre dışı bırakıldı",
 Alternate Item,Alternatif Öğe,
 Alternative item must not be same as item code,"Alternatif öğe, ürün koduyla aynı olmamalıdır",
 Amended From,İtibaren değiştirilmiş,
 Amount,Tutar,
-Amount After Depreciation,Değer kaybı sonrası miktar,
+Amount After Depreciation,Değer kaybı sonrası tutar,
 Amount of Integrated Tax,Entegre Vergi Miktarı,
-Amount of TDS Deducted,TDS&#39;den Düşülen Tutar,
+Amount of TDS Deducted,TDS'den Düşülen Tutar,
 Amount should not be less than zero.,Miktar sıfırdan daha az olmamalıdır.,
 Amount to Bill,Faturalanacak Tutar,
-Amount {0} {1} against {2} {3},Miktar {0} {2} karşılığı {1} {3},
+Amount {0} {1} against {2} {3},Miktar {0} {2} yani {1} {3},
 Amount {0} {1} deducted against {2},{2}'ye karşılık düşülecek miktar {0} {1},
 Amount {0} {1} transferred from {2} to {3},{0} {1} miktarı {2}'den {3}'e aktarılacak,
 Amount {0} {1} {2} {3},Miktar {0} {1} {2} {3},
-Amt,Amt,
-"An Item Group exists with same name, please change the item name or rename the item group","Bir Ürün grubu aynı isimle bulunuyorsa, lütfen Ürün veya Ürün grubu adını değiştirin",
-An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Bu &#39;Akademik Yılı&#39; ile akademik bir terim {0} ve &#39;Vadeli Adı&#39; {1} zaten var. Bu girişleri değiştirmek ve tekrar deneyin.,
+Amt,Tutar,
+"An Item Group exists with same name, please change the item name or rename the item group","Bir Ürün grubu aynı isimle bulunuyorsa, lütfen Ürün veya Ürün grubu etiketine bakın",
+An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Bu &#39;Akademik Yılı&#39; ile akademik bir terim {0} ve &#39;Vadeli Adı&#39; {1} zaten var. Bu girişleri değiştirin ve tekrar deneyin.,
 An error occurred during the update process,Güncelleme işlemi sırasında bir hata oluştu,
-"An item exists with same name ({0}), please change the item group name or rename the item","Bir Ürün aynı isimle bulunuyorsa ({0}), lütfen madde grubunun veya maddenin adını değiştirin",
-Analyst,analist,
+"An item exists with same name ({0}), please change the item group name or rename the item","Bir Ürün aynı isimle bulunuyorsa ({0}), lütfen madde grubunu veya çıldırtıcı etiketini",
+Analyst,Analist,
 Analytics,Analitikler,
 Annual Billing: {0},Yıllık Fatura: {0},
-Annual Salary,Yıllık gelir,
+Annual Salary,Yıllık Maaş,
 Anonymous,Anonim,
-Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},{1} &#39;{2}&#39; a karşı bir başka Bütçe kaydı &#39;{0}&#39; zaten var ve {4} mali yılı için &#39;{3}&#39; hesabı var,
+Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},{1} &#39;{2}&#39; karşı bir başka bütçe kitabı &#39;{0}&#39; zaten var ve {4} mali yılı için &#39;{3}&#39; hesap var,
 Another Period Closing Entry {0} has been made after {1},{1} den sonra başka bir dönem kapatma girdisi {0} yapılmıştır,
-Another Sales Person {0} exists with the same Employee id,Başka Satış Kişi {0} aynı Çalışan kimliği ile var,
+Another Sales Person {0} exists with the same Employee id,Başka Satış Kişi {0} aynı çalışan pozisyonu ile var,
 Antibiotic,Antibiyotik,
 Apparel & Accessories,Giyim ve Aksesuar,
-Applicable For,İçin uygulanabilir,
+Applicable For,Uygulanabilir:,
 "Applicable if the company is SpA, SApA or SRL","Şirket SpA, SApA veya SRL ise uygulanabilir",
-Applicable if the company is a limited liability company,Şirket limited şirket ise uygulanabilir,
+Applicable if the company is a limited liability company,Şirket limited şirketi ise uygulanabilir,
 Applicable if the company is an Individual or a Proprietorship,Şirket Birey veya Mülkiyet ise uygulanabilir,
-Applicant,Başvuru sahibi,
+Applicant,Başvuru Sahibi,
 Applicant Type,Başvuru Sahibi Türü,
-Application of Funds (Assets),Fon (varlık) başvurusu,
-Application period cannot be across two allocation records,Başvuru süresi iki tahsis kaydı boyunca olamaz,
+Application of Funds (Assets),fon (varlık) çalışması,
+Application period cannot be across two allocation records,Başvuru süresi iki ödenek boyunca kaydırılamaz,
 Application period cannot be outside leave allocation period,Uygulama süresi dışında izin tahsisi dönemi olamaz,
 Applied,Başvuruldu,
 Apply Now,Şimdi Başvur,
@@ -245,35 +245,35 @@
 Appointment {0} and Sales Invoice {1} cancelled,Randevu {0} ve Satış Faturası {1} iptal edildi,
 Appointments and Encounters,Randevular ve Karşılaşmalar,
 Appointments and Patient Encounters,Randevular ve Hasta Buluşmaları,
-Appraisal {0} created for Employee {1} in the given date range,Verilen aralıkta Çalışan {1} için oluşturulan değerlendirme {0},
+Appraisal {0} created for Employee {1} in the given date range,Verilen aralıkta çalışan {1} için çalıştırılan değerlendirme {0},
 Apprentice,Çırak,
 Approval Status,Onay Durumu,
 Approval Status must be 'Approved' or 'Rejected',Onay Durumu 'Onaylandı' veya 'Reddedildi' olmalıdır,
 Approve,Onayla,
-Approving Role cannot be same as role the rule is Applicable To,Onaylama Rolü kuralın uygulanabilir olduğu rolle aynı olamaz,
-Approving User cannot be same as user the rule is Applicable To,Onaylayan Kullanıcı kuralın uygulanabilir olduğu kullanıcı ile aynı olamaz,
-"Apps using current key won't be able to access, are you sure?","Geçerli anahtarı kullanan uygulamalar erişemez, emin misiniz?",
+Approving Role cannot be same as role the rule is Applicable To,Onaylayan Rol kuralın geçerli olduğu rolle aynı olamaz,
+Approving User cannot be same as user the rule is Applicable To,Onaylayan Kullanıcı kuralın Uygulandığı Kullanıcı ile aynı olamaz,
+"Apps using current key won't be able to access, are you sure?","Geçerli anahtarı kullanan uygulamalar erişemeyecek, emin misiniz??",
 Are you sure you want to cancel this appointment?,Bu randevuyu iptal etmek istediğinize emin misiniz?,
-Arrear,bakiye,
-As Examiner,Müfettiş Olarak,
+Arrear,Borç/Bakiye,
+As Examiner,Denetmen olarak,
 As On Date,Tarihinde gibi,
 As Supervisor,Süpervizör olarak,
-As per rules 42 & 43 of CGST Rules,CGST Kurallarının 42 ve 43 numaralı kuralları uyarınca,
-As per section 17(5),Bölüm 17&#39;ye göre (5),
+As per rules 42 & 43 of CGST Rules,CGST Kurallarının 42 ve 43 numaralı kuralları yönetmeliği,
+As per section 17(5),Bölüm 17'ye göre (5),
 As per your assigned Salary Structure you cannot apply for benefits,"Atanan Maaş Yapınıza göre, faydalar için başvuruda bulunamazsınız.",
-Assessment,değerlendirme,
+Assessment,Değerlendirme,
 Assessment Criteria,Değerlendirme Kriterleri,
 Assessment Group,Değerlendirme Grubu,
 Assessment Group: ,Değerlendirme Grubu:,
 Assessment Plan,Değerlendirme Planı,
 Assessment Plan Name,Değerlendirme Planı Adı,
-Assessment Report,Değerlendirme raporu,
+Assessment Report,değerlendirme raporu,
 Assessment Reports,Değerlendirme Raporları,
 Assessment Result,Değerlendirme Sonucu,
 Assessment Result record {0} already exists.,Değerlendirme Sonuç kaydı {0} zaten var.,
 Asset,Varlık,
 Asset Category,Varlık Kategorisi,
-Asset Category is mandatory for Fixed Asset item,Sabit Varlık için Varlık Kategorisi zorunludur,
+Asset Category is mandatory for Fixed Asset item,Sabit Kıymet için Varlık Kategorisi zorunludur,
 Asset Maintenance,Varlık Bakımı,
 Asset Movement,Varlık Hareketi,
 Asset Movement record {0} created,Varlık Hareket kaydı {0} oluşturuldu,
@@ -281,25 +281,25 @@
 Asset Received But Not Billed,Alınan ancak Faturalandırılmayan Öğe,
 Asset Value Adjustment,Varlık Değeri Ayarlaması,
 "Asset cannot be cancelled, as it is already {0}","Varlık iptal edilemez, hala  {0}",
-Asset scrapped via Journal Entry {0},"Varlık, Kayıt Girdisi {0} ile hurda edildi",
+Asset scrapped via Journal Entry {0},"Varlık, Yevmiye Kaydı {0} ile hurda edildi",
 "Asset {0} cannot be scrapped, as it is already {1}","{0} varlığı hurda edilemez, {1} da var olarak gözüküyor",
 Asset {0} does not belong to company {1},"Varlık {0}, {1} firmasına ait değil",
 Asset {0} must be submitted,{0} ın varlığı onaylanmalı,
 Assets,Varlıklar,
-Assign,Atamak,
+Assign,Ata,
 Assign Salary Structure,Maaş Yapısı Atama,
 Assign To,Ata,
-Assign to Employees,Çalışanlara ata,
-Assigning Structures...,Yapılara ata...,
-Associate,ortak,
+Assign to Employees,Çalışanlara Ata,
+Assigning Structures...,Yapılar atanıyor...,
+Associate,Ortak,
 At least one mode of payment is required for POS invoice.,Ödeme en az bir mod POS fatura için gereklidir.,
 Atleast one item should be entered with negative quantity in return document,En az bir öğe dönüş belgesinde negatif miktar ile girilmelidir,
 Atleast one of the Selling or Buying must be selected,Satış veya Alıştan en az biri seçilmelidir,
 Atleast one warehouse is mandatory,En az bir depo zorunludur,
-Attach Logo,Logo Ekleyin,
-Attachment,Haciz,
-Attachments,Eklentiler,
-Attendance,katılım,
+Attach Logo,Logo Ekle,
+Attachment,Ek dosya,
+Attachments,Ek dosyalar,
+Attendance,Puantaj,
 Attendance From Date and Attendance To Date is mandatory,tarihinden  Tarihine kadar katılım zorunludur,
 Attendance can not be marked for future dates,İlerideki tarihler için katılım işaretlenemez,
 Attendance date can not be less than employee's joining date,Seyirci tarih çalışanın katılmadan tarihten daha az olamaz,
@@ -317,22 +317,22 @@
 Auto repeat document updated,Otomatik tekrar dokümanı güncellendi,
 Automotive,Otomotiv,
 Available,Mevcut,
-Available Leaves,Mevcut yaprakları,
+Available Leaves,Mevcut İzinler,
 Available Qty,Mevcut Miktar,
-Available Selling,Mevcut satış,
+Available Selling,Mevcut Satış,
 Available for use date is required,Kullanılabilir olacağı tarih gereklidir,
 Available slots,Kullanılabilir alanlar,
 Available {0},Mevcut {0},
-Available-for-use Date should be after purchase date,"Kullanıma hazır tarih, satın alma tarihinden sonra olmalıdır.",
-Average Age,Ortalama yaş,
-Average Rate,Ortalama oran,
+Available-for-use Date should be after purchase date,"Kullanıma hazır tarih, Satınalma tarihinden sonra olmalıdır.",
+Average Age,Ortalama Yaş,
+Average Rate,Ortalama Oran,
 Avg Daily Outgoing,Ort. Günlük Giden,
 Avg. Buying Price List Rate,Ort. Alış Fiyatı Liste Oranı,
 Avg. Selling Price List Rate,Ort. Satış Fiyatı Liste Oranı,
-Avg. Selling Rate,Ort. Satış oranı,
+Avg. Selling Rate,Ort. Satış Oranı,
 BOM,Ürün Ağacı,
 BOM Browser,Ürün Ağacı Tarayıcı,
-BOM No,BOM numarası,
+BOM No,BOM Numarası,
 BOM Rate,Ürün Ağacı Oranı,
 BOM Stock Report,Ürün Ağacı Stok Raporu,
 BOM and Manufacturing Quantity are required,Ürün Ağacı ve Üretim Miktarı gereklidir,
@@ -345,89 +345,89 @@
 Balance ({0}),Bakiye ({0}),
 Balance Qty,Denge Adet,
 Balance Sheet,Bilanço,
-Balance Value,Denge Değeri,
+Balance Value,Mevcut Maliyet,
 Balance for Account {0} must always be {1},Hesap {0} her zaman dengede olmalı {1},
 Bank,Banka,
-Bank Account,Banka hesabı,
+Bank Account,Banka Hesabı,
 Bank Accounts,Banka Hesapları,
 Bank Draft,Banka Havalesi,
 Bank Entries,Banka Girişleri,
-Bank Name,Banka adı,
+Bank Name,Banka Adı,
 Bank Overdraft Account,Banka Kredili Mevduat Hesabı,
-Bank Reconciliation,Banka Uzlaşma,
+Bank Reconciliation,Banka Mutabakatı,
 Bank Reconciliation Statement,Banka Mutabakat Kaydı,
-Bank Statement,Hesap durumu,
+Bank Statement,Banka Ekstresi,
 Bank Statement Settings,Banka Ekstre Ayarları,
 Bank Statement balance as per General Ledger,Genel Muhasebe uyarınca Banka Hesap bakiyesi,
 Bank account cannot be named as {0},Banka hesabı adı {0} olamaz,
-Bank/Cash transactions against party or for internal transfer,partiye karşı veya dahili transfer için Banka / Para Çekme işlemleri,
-Banking,Bankacılık,
-Banking and Payments,Bankacılık ve Ödemeler,
+Bank/Cash transactions against party or for internal transfer,Cariye karşı veya iç transfer için Banka / Kasa işlemleri,
+Banking,Banka İşlemleri,
+Banking and Payments,Banka İşlemleri ve Ödemeler,
 Barcode {0} already used in Item {1},{0} barkodu zaten {1} ürününde kullanılmış,
 Barcode {0} is not a valid {1} code,"Barkod {0}, geçerli bir {1} kodu değil",
-Base,baz,
+Base,Temel,
 Base URL,Temel URL,
-Based On,Göre,
-Based On Payment Terms,Ödeme Koşullarına Göre,
+Based On,Buna göre,
+Based On Payment Terms,Ödeme Vadesine göre,
 Basic,Temel,
-Batch,yığın,
-Batch Entries,Toplu Girişler,
-Batch ID is mandatory,Parti numarası zorunludur,
+Batch,Parti (Batch),
+Batch Entries,Parti Girişleri,
+Batch ID is mandatory,Parti Numarası zorunludur,
 Batch Inventory,Parti Envanteri,
 Batch Name,Parti Adı,
 Batch No,Parti No,
 Batch number is mandatory for Item {0},{0} ürünü için parti numarası zorunludur,
 Batch {0} of Item {1} has expired.,{0} partisindeki {1} ürününün ömrü doldu,
 Batch {0} of Item {1} is disabled.,Öğe {1} öğesinin {0} tanesi devre dışı bırakıldı.,
-Batch: ,Toplu:,
+Batch: ,Parti (Batch): ,
 Batches,Partiler,
 Become a Seller,Satıcı Ol,
 Beginner,Acemi,
-Bill,fatura,
-Bill Date,Fatura tarihi,
+Bill,Fatura,
+Bill Date,Fatura Tarihi,
 Bill No,Fatura No,
-Bill of Materials,Malzeme Listesi,
-Bill of Materials (BOM),Malzeme Listesi (BOM),
+Bill of Materials,Ürün Ağacı / Reçete,
+Bill of Materials (BOM),Ürün Ağacı (BOM),
 Billable Hours,Faturalandırılabilir Saatler,
-Billed,Faturalanmış,
-Billed Amount,Faturalı Tutar,
+Billed,Faturalanan,
+Billed Amount,Faturalanan Tutar,
 Billing,Faturalama,
-Billing Address,Faturalama  Adresi,
+Billing Address,Fatura Adresi,
 Billing Address is same as Shipping Address,"Fatura Adresi, Teslimat Adresiyle aynı",
 Billing Amount,Fatura Tutarı,
 Billing Status,Fatura Durumu,
-Billing currency must be equal to either default company's currency or party account currency,"Faturalandırma para birimi, varsayılan şirketin para birimi veya parti hesabı para birimine eşit olmalıdır",
+Billing currency must be equal to either default company's currency or party account currency,"Faturalandırma para birimi, varsayılan şirketin para birimi veya Cari hesabı para birimine eşit olmalıdır",
 Bills raised by Suppliers.,Tedarikçiler tarafından artırılan faturalar,
 Bills raised to Customers.,Müşterilere artırılan faturalar,
 Biotechnology,Biyoteknoloji,
 Birthday Reminder,Doğum Günü Hatırlatıcısı,
 Black,Siyah,
-Blanket Orders from Costumers.,Müşterilerden Battaniye Siparişleri.,
+Blanket Orders from Costumers.,Müşterilerden gelen Açık Siparişler,
 Block Invoice,Faturayı Engelle,
 Boms,Ürün Ağaçları,
 Bonus Payment Date cannot be a past date,Bonus Ödeme Tarihi bir tarih olamaz,
 Both Trial Period Start Date and Trial Period End Date must be set,Her iki Deneme Süresi Başlangıç Tarihi ve Deneme Dönemi Bitiş Tarihi ayarlanmalıdır,
 Both Warehouse must belong to same Company,Her iki Depo da aynı Şirkete ait olmalıdır,
-Branch,şube,
-Broadcasting,yayın,
-Brokerage,komisyonculuk,
-Browse BOM,BOM Araştır,
-Budget Against,bütçe Karşı,
+Branch,Şube,
+Broadcasting,Yayın,
+Brokerage,Komisyonculuk,
+Browse BOM,BOMa Gözat,
+Budget Against,Bütçe Karşılığı,
 Budget List,Bütçe Listesi,
 Budget Variance Report,Bütçe Fark Raporu,
 Budget cannot be assigned against Group Account {0},Bütçe Grubu Hesabı karşı atanamayan {0},
 "Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bir gelir ya da gider hesabı değil gibi Bütçe, karşı {0} atanamaz",
 Buildings,Binalar,
 Bundle items at time of sale.,Satış zamanı toplam Ürünler.,
-Business Development Manager,İş Geliştirme Müdürü,
+Business Development Manager,İş Geliştirme Yöneticisi,
 Buy,Satın al,
-Buying,Satın alma,
-Buying Amount,Alım Miktarı,
-Buying Price List,Alış Fiyatı Listesi,
-Buying Rate,Alış oranı,
-"Buying must be checked, if Applicable For is selected as {0}","Eğer Uygulanabilir {0} olarak seçilirse, alım kontrol edilmelidir.",
+Buying,Satınalma,
+Buying Amount,Alış Tutarı,
+Buying Price List,Alış Fiyat Listesi,
+Buying Rate,Alış Fiyatı,
+"Buying must be checked, if Applicable For is selected as {0}","Eğer uygulanabilir {0} olarak seçilirse, alım kontrolü yapılmalıdır.",
 By {0},{0} tarafından,
-Bypass credit check at Sales Order ,Satış Siparişinde kredi kontrolünü atla,
+Bypass credit check at Sales Order ,Satış siparişinde kredi kontrolünü atla ,
 C-Form records,C-Form kayıtları,
 C-form is not applicable for Invoice: {0},C-Formu bu fatura için uygulanamaz: {0},
 CEO,CEO,
@@ -435,62 +435,62 @@
 CGST Amount,CGST Tutarı,
 CRM,CRM,
 CWIP Account,CWIP Hesabı,
-Calculated Bank Statement balance,Hesaplanan Banka Hesap bakiyesi,
+Calculated Bank Statement balance,Hesaplanan Banka Hesap Bakiyesi,
 Calls,Aramalar,
 Campaign,Kampanya,
-Can be approved by {0},{0} tarafından onaylanmış,
-"Can not filter based on Account, if grouped by Account","Hesap, olarak gruplandırıldı ise Hesaba dayalı filtreleme yapamaz",
-"Can not filter based on Voucher No, if grouped by Voucher","Dekont, olarak gruplandırıldı ise Makbuz numarasına dayalı filtreleme yapamaz",
+Can be approved by {0},{0} tarafından onaylandı,
+"Can not filter based on Account, if grouped by Account","Hesap, olarak gruplandırıldı ise Hesaba tabanlı yönetim yönetimi",
+"Can not filter based on Voucher No, if grouped by Voucher","Dekont, olarak gruplandırıldıysa, Makbuz numarasına dayalı yönetim yönetimi",
 "Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Yatan Kayıt Deşarjı işaretlenemiyor, Faturalandırılmamış Faturalar var {0}",
-Can only make payment against unbilled {0},Sadece karşı ödeme yapabilirsiniz faturalanmamış {0},
-Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Eğer ücret biçimi 'Önceki Ham Miktar' veya 'Önceki Ham Totk' ise referans verebilir,
-"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method",Kendi değerleme yöntemine sahip olmayan bazı ürünlere karşı işlemler olduğu için değerleme yöntemini değiştiremezsiniz,
-Can't create standard criteria. Please rename the criteria,Standart ölçütler oluşturulamıyor. Lütfen ölçütleri yeniden adlandırın,
+Can only make payment against unbilled {0},Sadece karşı ödeme yapamazsınız faturalanmamış {0},
+Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Eğer ücret tipi 'Önceki Satır Tutarında' veya 'Önceki Satır Toplamı' ise referans verebilir,
+"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method",Kendi değerleme yöntemine sahip olmayan bazı ürünlere karşı işlemler olduğu için değerleme kullanımı değiştiremezsiniz,
+Can't create standard criteria. Please rename the criteria,Standart ölçüler oluşturulamıyor. Lütfen ölçütleri yeniden tanımlayanın,
 Cancel,İptal,
-Cancel Material Visit {0} before cancelling this Warranty Claim,Malzeme ziyaret {0} Bu Garanti Talep iptal etmeden önce iptal,
+Cancel Material Visit {0} before cancelling this Warranty Claim,Malzeme ziyareti {0} Bu Garanti Talebi iptal edilmeden önce iptal,
 Cancel Material Visits {0} before cancelling this Maintenance Visit,Bu Bakım Ziyaretini iptal etmeden önce Malzeme Ziyareti {0} iptal edin,
 Cancel Subscription,Aboneliği iptal et,
-Cancel the journal entry {0} first,Önce {0} günlük girişini iptal et,
+Cancel the journal entry {0} first,Önce {0} yevmiye kaydını iptal et,
 Canceled,İptal edildi,
-"Cannot Submit, Employees left to mark attendance","Gönderilemiyor, Çalışanlar katılım için ayrıldı",
-Cannot be a fixed asset item as Stock Ledger is created.,Stok Defteri oluşturulduğunda sabit bir varlık kalemi olamaz.,
+"Cannot Submit, Employees left to mark attendance","Gönderilemiyor, çalışanlar katılmak için ayrılmış",
+Cannot be a fixed asset item as Stock Ledger is created.,Stok Defteri oluşturulduğu sabit bir varlık kalemi olamaz.,
 Cannot cancel because submitted Stock Entry {0} exists,Sunulan Stok Giriş {0} varolduğundan iptal edilemiyor,
-Cannot cancel transaction for Completed Work Order.,Tamamlanmış İş Emri için işlem iptal edilemez.,
+Cannot cancel transaction for Completed Work Order.,Tamamlanmış İş Emri için işlemi iptal edemez.,
 Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},"{0} {1} tarihinde iptal edilemedi, çünkü Seri No {2} depoya {3} ait değil.",
-Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Hisse senedi işleminden sonra nitelikleri değiştiremezsiniz. Yeni Bir Öğe Yapın ve Stokları Yeni Öğe Taşı,
+Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Hisse senetlerini oluşturduktan sonra değiştiremezsiniz. Yeni Bir Öğe Yapın ve Stokları Yeni Öğe Taşı,
 Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Mali Yıl Başlangıç Tarihi ve Mali Yılı kaydedildikten sonra Mali Yıl Sonu Tarihi değiştiremezsiniz.,
-Cannot change Service Stop Date for item in row {0},{0} numaralı satırdaki öğe için Hizmet Durdurma Tarihi değiştirilemez,
-Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Stok işleminden sonra Varyant özellikleri değiştirilemez. Bunu yapmak için yeni bir öğe yapmanız gerekecek.,
-"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Mevcut işlemler olduğundan, şirketin varsayılan para birimini değiştiremezsiniz. İşlemler Varsayılan para birimini değiştirmek için iptal edilmelidir.",
-Cannot change status as student {0} is linked with student application {1},öğrenci olarak durumunu değiştirmek olamaz {0} öğrenci uygulaması ile bağlantılı {1},
-Cannot convert Cost Center to ledger as it has child nodes,Çocuk nodları olduğundan Maliyet Merkezi ana deftere dönüştürülemez,
-Cannot covert to Group because Account Type is selected.,Hesap Türü seçili olduğundan Grup gizli olamaz.,
-Cannot create Retention Bonus for left Employees,Sol Çalışanlar için Tutma Bonusu oluşturulamıyor,
-Cannot create a Delivery Trip from Draft documents.,Taslak dokümanlardan Teslimat Gezisi oluşturulamaz.,
-Cannot deactivate or cancel BOM as it is linked with other BOMs,Devre dışı bırakmak veya diğer ürün ağaçları ile bağlantılı olarak BOM iptal edilemiyor,
-"Cannot declare as lost, because Quotation has been made.","Kayıp olarak Kotasyon yapılmış çünkü, ilan edemez.",
+Cannot change Service Stop Date for item in row {0},{0} satır satırdaki öğe için Hizmet Durdurma Tarihi değiştirilemez,
+Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Stok yapıldıktan sonra Varyant özellikleri değiştirilemez. Bunu yapmak için yeni bir öğe almanız gerekir.,
+"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Mevcut işletimlerinden, genel genel para birimini değiştiremezsiniz. İşlemler Varsayılan para birimini değiştirmek için iptal edilmelidir.",
+Cannot change status as student {0} is linked with student application {1},öğrenci olarak değiştirilemez {0} öğrenci uygulaması ile bağlantılı {1},
+Cannot convert Cost Center to ledger as it has child nodes,Çocuk düğümleri nedeniyle Maliyet Merkezi ana deftere dönüştürülemez,
+Cannot covert to Group because Account Type is selected.,Hesap Türü görünümünden Grup gizli olamaz.,
+Cannot create Retention Bonus for left Employees,Sol çalışanlar için Tutma Bonusu oluşturamıyor,
+Cannot create a Delivery Trip from Draft documents.,Taslak belgelerden Teslimat Gezisi oluşturulamaz.,
+Cannot deactivate or cancel BOM as it is linked with other BOMs,Devre dışı hizmet veya diğer ürün ağaçları ile bağlantılı olarak BOM iptal edilemiyor,
+"Cannot declare as lost, because Quotation has been made.",Kayıp olarak Kotasyon yapıldığı için ilan edilemez.,
 Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Kategori 'Değerleme' veya 'Toplam ve Değerleme' olduğu zaman çıkarılamaz,
-Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',kategori &#39;Değerleme&#39; veya &#39;Vaulation ve Toplam&#39; için ne zaman tenzil edemez,
-"Cannot delete Serial No {0}, as it is used in stock transactions","Silinemiyor Seri No {0}, hisse senedi işlemlerinde kullanıldığı gibi",
-Cannot enroll more than {0} students for this student group.,Bu öğrenci grubu için {0} öğrencilere göre daha kayıt olamaz.,
+Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kategori &#39;Değerleme&#39; veya &#39;Değerlendirme ve Toplam&#39; için olduğunda düşülemez,
+"Cannot delete Serial No {0}, as it is used in stock transactions","Silinemiyor Seri No {0}, hisse senedi işlemleri kullanılıyor gibi",
+Cannot enroll more than {0} students for this student group.,Bu öğrenci grubu için {0} gelen göre daha fazla kayıt olamaz.,
 Cannot find active Leave Period,Aktif İzin Dönemi bulunamıyor,
 Cannot produce more Item {0} than Sales Order quantity {1},Satış Sipariş Miktarı {1} den fazla Ürün {0} üretilemez,
-Cannot promote Employee with status Left,Çalışan durumu solda tanıtılamaz,
-Cannot refer row number greater than or equal to current row number for this Charge type,Kolon numarası bu Ücret tipi için kolon numarasından büyük veya eşit olamaz,
-Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,İlk satır için ücret tipi 'Önceki satır tutarında' veya 'Önceki satır toplamında' olarak seçilemez,
-Cannot set as Lost as Sales Order is made.,Satış Emri yapıldığında Kayıp olarak ayarlanamaz.,
-Cannot set authorization on basis of Discount for {0},{0} için indirim temelinde yetki ayarlanamaz,
+Cannot promote Employee with status Left,Çalışan durumu sata tanıtılamaz,
+Cannot refer row number greater than or equal to current row number for this Charge type,Kolon sırası bu Ücret tipi için kolon numarasından büyük veya eşit olamaz,
+Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,İlk satır için ücret tipi 'Önceki satırları kullanır' veya 'Önceki satır toplamında' olarak seçilemez,
+Cannot set as Lost as Sales Order is made.,Satış Siparişi verildiği için Kayıp olarak ayarlanamaz.,
+Cannot set authorization on basis of Discount for {0},{0} için İndirim bazında yetkilendirme ayarlanamıyor,
 Cannot set multiple Item Defaults for a company.,Bir şirket için birden fazla Öğe Varsayılanı belirlenemiyor.,
 Cannot set quantity less than delivered quantity,Teslim edilen miktardan daha az miktar belirlenemiyor,
 Cannot set quantity less than received quantity,Alınan miktardan daha az miktar ayarlanamaz,
 Cannot set the field <b>{0}</b> for copying in variants,Değişkenlere kopyalamak için <b>{0}</b> alanı ayarlanamıyor,
 Cannot transfer Employee with status Left,Çalışan durumu Sola aktarılamıyor,
-Cannot {0} {1} {2} without any negative outstanding invoice,değil {0} {1} {2} olmadan herhangi bir olumsuz ödenmemiş fatura Can,
+Cannot {0} {1} {2} without any negative outstanding invoice,{0} {1} {2} olmadan herhangi bir olumsuz ödenmemiş fatura Can,
 Capital Equipments,Sermaye Ekipmanları,
-Capital Stock,Öz sermaye,
-Capital Work in Progress,Devam Eden Sermaye Çalışması,
+Capital Stock,Öz Sermaye,
+Capital Work in Progress,Sermaye Yarı Mamul,
 Cart,Araba,
-Cart is Empty,Sepet Boş,
+Cart is Empty,Sepet boş,
 Case No(s) already in use. Try from Case No {0},Konu Numarası/numaraları zaten kullanımda. Konu No {0} olarak deneyin.,
 Cash,Nakit,
 Cash Flow Statement,Nakit Akım Tablosu,
@@ -498,75 +498,75 @@
 Cash Flow from Investing,Yatırım Nakit Akışı,
 Cash Flow from Operations,Faaliyetlerden Nakit Akışı,
 Cash In Hand,Eldeki Nakit,
-Cash or Bank Account is mandatory for making payment entry,Kasa veya Banka Hesabı ödeme girişi yapmak için zorunludur,
+Cash or Bank Account is mandatory for making payment entry,Kasa veya Banka Hesabı ödeme kaydı yapmak için zorunludur,
 Cashier Closing,Kasiyer Kapanışı,
 Casual Leave,Mazeret İzni,
 Category,Kategori,
 Category Name,Kategori Adı,
 Caution,Dikkat,
-Central Tax,Merkez vergisi,
-Certification,belgeleme,
+Central Tax,Merkezi Vergi,
+Certification,Belgeleme,
 Cess,Cess,
-Change Amount,Değişim Miktarı,
+Change Amount,Değişim Tutarı,
 Change Item Code,Öğe Kodunu Değiştir,
 Change Release Date,Yayın Tarihi Değiştir,
 Change Template Code,Şablon Kodunu Değiştir,
 Changing Customer Group for the selected Customer is not allowed.,Seçilen Müşteri için Müşteri Grubunu değiştirmeye izin verilmiyor.,
-Chapter,bölüm,
+Chapter,Bölüm,
 Chapter information.,Bölüm bilgileri.,
 Charge of type 'Actual' in row {0} cannot be included in Item Rate,Satır {0}'daki 'Gerçek' ücret biçimi Ürün Br.Fiyatına dahil edilemez,
-Chargeble,chargeble,
-Charges are updated in Purchase Receipt against each item,Ücretler her öğenin karşı Satınalma Fiş güncellenir,
-"Charges will be distributed proportionately based on item qty or amount, as per your selection","Masraflar orantılı seçiminize göre, madde qty veya miktarına göre dağıtılmış olacak",
+Chargeble,Masrafa tabi,
+Charges are updated in Purchase Receipt against each item,Masraflar her kalem için Satınalma Fişinde güncellenir,
+"Charges will be distributed proportionately based on item qty or amount, as per your selection","Masraflar, seçiminize göre ürün miktarına veya tutarına göre orantılı olarak dağıtılacaktır.",
 Chart of Cost Centers,Maliyet Merkezlerinin Grafikleri,
-Check all,Tümünü kontrol,
-Checkout,Çıkış yapmak,
+Check all,Tümünü kontrol et,
+Checkout,Çıkış yap,
 Chemical,Kimyasal,
 Cheque,Çek,
 Cheque/Reference No,Çek / Referans No,
 Cheques Required,Çekler Gerekli,
-Cheques and Deposits incorrectly cleared,Çekler ve Mevduat yanlış temizlenir,
-Child Task exists for this Task. You can not delete this Task.,Bu Görev için Alt Görev var. Bu Görevi silemezsiniz.,
+Cheques and Deposits incorrectly cleared,Çekler ve Mevduat yanlış temizlendi,
+Child Task exists for this Task. You can not delete this Task.,Bu Görev için Alt Görev var. Bu görevi silemezsiniz.,
 Child nodes can be only created under 'Group' type nodes,Çocuk düğümleri sadece &#39;Grup&#39; tür düğüm altında oluşturulabilir,
 Child warehouse exists for this warehouse. You can not delete this warehouse.,Bu depoya ait alt depo bulunmaktadır. Bu depoyu silemezsiniz.,
 Circular Reference Error,Dairesel Referans Hatası,
 City,İl,
 City/Town,İl / İlçe,
-Claimed Amount,İddia Edilen Tutar,
+Claimed Amount,Talep Edilen Tutar,
 Clay,Kil,
 Clear filters,Filtreleri temizle,
 Clear values,Değerleri temizle,
 Clearance Date,Gümrükleme Tarih,
 Clearance Date not mentioned,Gümrükleme Tarih belirtilmeyen,
 Clearance Date updated,Gümrükleme Tarihi güncellendi,
-Client,Müşteri:,
-Client ID,Müşteri Kimliği,
-Client Secret,Müşteri Gizliliği,
+Client,Client,
+Client ID,Client ID,
+Client Secret,Client Secret,
 Clinical Procedure,Klinik Prosedür,
 Clinical Procedure Template,Klinik Prosedür Şablonu,
 Close Balance Sheet and book Profit or Loss.,Bilançoyu Kapat ve Kar veya Zararı ayır.,
 Close Loan,Krediyi Kapat,
-Close the POS,POS&#39;u kapat,
+Close the POS,POSu kapat,
 Closed,Kapalı,
-Closed order cannot be cancelled. Unclose to cancel.,Kapalı sipariş iptal edilemez. iptal etmek için açıklamak.,
-Closing (Cr),Kapanış (Cr),
-Closing (Dr),Kapanış (Dr),
+Closed order cannot be cancelled. Unclose to cancel.,Kapalı sipariş iptal edilemez. İptal etmek için açın.,
+Closing (Cr),Kapanış (Alacak),
+Closing (Dr),Kapanış (Borç),
 Closing (Opening + Total),Kapanış (Açılış + Toplam),
-Closing Account {0} must be of type Liability / Equity,Hesap {0} Kapanış tipi Sorumluluk / Özkaynak olmalıdır,
+Closing Account {0} must be of type Liability / Equity,Kapanış Hesabı {0}, Borç / Özkaynak türünde olmalıdır,
 Closing Balance,Kapanış bakiyesi,
 Code,Kod,
-Collapse All,Tüm daraltmak,
+Collapse All,Tümünü Daralt,
 Color,Renk,
 Colour,Renk,
-Combined invoice portion must equal 100%,Kombine fatura payı% 100&#39;e eşit olmalıdır,
+Combined invoice portion must equal 100%,Birleşik fatura kısmı %100'e eşit olmalıdır,
 Commercial,Ticari,
-Commission,komisyon,
-Commission Rate %,Komisyon oranı %,
+Commission,Komisyon,
+Commission Rate %,Komisyon Oranı %,
 Commission on Sales,Satış Komisyonu,
 Commission rate cannot be greater than 100,Komisyon oranı 100'den fazla olamaz,
-Community Forum,Forum,
+Community Forum,Topluluk Forumu,
 Company (not Customer or Supplier) master.,Şirket (değil Müşteri veya alanı) usta.,
-Company Abbreviation,Şirket kısaltma,
+Company Abbreviation,Şirket Kısaltması,
 Company Abbreviation cannot have more than 5 characters,Şirket Kısaltması 5 karakterden uzun olamaz,
 Company Name,Firma Adı,
 Company Name cannot be Company,Şirket Adı olamaz,
@@ -576,176 +576,176 @@
 Company {0} does not exist,Şirket {0} yok,
 Compensatory Off,Telafi İzni,
 Compensatory leave request days not in valid holidays,Telafi izin isteme günleri geçerli tatil günlerinde geçerli değildir,
-Complaint,şikâyet,
+Complaint,Şikâyet,
 Completion Date,Bitiş Tarihi,
 Computer,Bilgisayar,
 Condition,Koşul,
 Configure,Yapılandır,
-Configure {0},{0} yapılandırın,
+Configure {0},{0} Yapılandır,
 Confirmed orders from Customers.,Müşteriler Siparişi Onaylandı.,
-Connect Amazon with ERPNext,Amazon&#39;u ERPNext ile bağlayın,
-Connect Shopify with ERPNext,ERPNext ile Shopify&#39;ı bağlayın,
-Connect to Quickbooks,Quickbooks&#39;a bağlan,
+Connect Amazon with ERPNext,Amazon'u ERPNext ile bağlayın,
+Connect Shopify with ERPNext,ERPNext ile Shopify'ı bağlayın,
+Connect to Quickbooks,Quickbooks'a bağlan,
 Connected to QuickBooks,QuickBooks’a bağlandı,
-Connecting to QuickBooks,QuickBooks&#39;a Bağlanma,
-Consultation,konsültasyon,
-Consultations,istişareler,
+Connecting to QuickBooks,QuickBooks'a Bağlanma,
+Consultation,İstişare,
+Consultations,İstişareler,
 Consulting,Danışmanlık,
-Consumable,tüketilir,
-Consumed,tüketilen,
+Consumable,Tüketilir,
+Consumed,Tüketilen,
 Consumed Amount,Tüketilen Tutar,
-Consumed Qty,Tüketilen Adet,
-Consumer Products,Tüketici ürünleri,
-Contact,İrtibat,
+Consumed Qty,Tüketilen Miktar,
+Consumer Products,Tüketici Ürünleri,
+Contact,İlgili Kişiler,
 Contact Details,İletişim Bilgileri,
-Contact Number,İletişim numarası,
-Contact Us,Bizimle iletişime geçin,
+Contact Number,İletişim Numarası,
+Contact Us,Bize ulaşın,
 Content,İçerik,
 Content Masters,İçerik Masters,
 Content Type,İçerik Türü,
-Continue Configuration,Yapılandırmaya Devam Et,
-Contract,sözleşme,
+Continue Configuration,Yapılandırmaya Devam et,
+Contract,Sözleşme,
 Contract End Date must be greater than Date of Joining,Sözleşme Bitiş tarihi Katılma tarihinden büyük olmalıdır,
-Contribution %,Katkı%,
+Contribution %,Katkı %,
 Contribution Amount,Katkı Tutarı,
 Conversion factor for default Unit of Measure must be 1 in row {0},Tedbir varsayılan Birimi için dönüşüm faktörü satırda 1 olmalıdır {0},
 Conversion rate cannot be 0 or 1,Dönüşüm oranı 0 veya 1 olamaz,
-Convert to Group,Gruba Dönüştürmek,
+Convert to Group,Gruba Dönüştür,
 Convert to Non-Group,Olmayan gruba dönüştürme,
 Cosmetics,Bakım ürünleri,
 Cost Center,Maliyet Merkezi,
 Cost Center Number,Maliyet Merkezi Numarası,
 Cost Center and Budgeting,Maliyet Merkezi ve Bütçeleme,
 Cost Center is required in row {0} in Taxes table for type {1},Satır {0} da Vergiler Tablosunda tip {1} için Maliyet Merkezi gereklidir,
-Cost Center with existing transactions can not be converted to group,Maliyet Merkezi mevcut işlemlere gruba dönüştürülemez,
-Cost Center with existing transactions can not be converted to ledger,Maliyet Merkezi mevcut işlemlere ana deftere dönüştürülemez,
+Cost Center with existing transactions can not be converted to group,Mevcut işlemleri olan Masraf Merkezi gruba çevrilemez,
+Cost Center with existing transactions can not be converted to ledger,Mevcut işlemleri olan Masraf Merkezi gruba çevrilemez,
 Cost Centers,Maliyet Merkezleri,
-Cost Updated,Maliyet Güncelleme,
+Cost Updated,Maliyet Güncellendi,
 Cost as on,olarak Maliyet,
-Cost of Delivered Items,Teslim Öğeler Maliyeti,
-Cost of Goods Sold,Satışların Maliyeti,
-Cost of Issued Items,İhraç Öğeler Maliyeti,
-Cost of New Purchase,Yeni Satın Alma Maliyeti,
-Cost of Purchased Items,Satın Öğeler Maliyeti,
-Cost of Scrapped Asset,Hurdaya Varlığın Maliyeti,
-Cost of Sold Asset,Satılan Varlığın Maliyeti,
-Cost of various activities,Çeşitli faaliyetler Maliyeti,
-"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Otomatik olarak Kredi Notu oluşturulamadı, lütfen &#39;Kredi Notunu Ver&#39; seçeneğinin işaretini kaldırın ve tekrar gönderin",
+Cost of Delivered Items,Teslim edilen Ürün Maliyeti,
+Cost of Goods Sold,Satılan Malın Maliyeti,
+Cost of Issued Items,Verilen Ürün Maliyeti,
+Cost of New Purchase,Yeni Alış Maliyeti,
+Cost of Purchased Items,Satılan Ürün Maliyeti,
+Cost of Scrapped Asset,Hurdaya Çıkarılan Varlık Maliyeti,
+Cost of Sold Asset,Satılan Varlık Maliyeti,
+Cost of various activities,Çeşitli Faaliyetler Maliyeti,
+"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Otomatik olarak Kredi Notu oluşturulamadı, lütfen &#39;Kredi Notunu Ver&#39; olasılığın işaretini kaldırmayı ve tekrar göndermeyi",
 Could not generate Secret,Gizli oluşturulamadı,
 Could not retrieve information for {0}.,{0} için bilgi alınamadı.,
-Could not solve criteria score function for {0}. Make sure the formula is valid.,{0} için ölçüt puanı işlevi çözülemedi. Formülün geçerli olduğundan emin olun.,
-Could not solve weighted score function. Make sure the formula is valid.,Ağırlıklı skor fonksiyonunu çözemedim. Formülün geçerli olduğundan emin olun.,
-Could not submit some Salary Slips,Bazı Maaş Fişleri gönderilemedi,
-"Could not update stock, invoice contains drop shipping item.","Stok güncelleme olamazdı, fatura damla nakliye öğe içeriyor.",
+Could not solve criteria score function for {0}. Make sure the formula is valid.,{0} için ölçüt puanı işlevi çözülemedi. Formülün mevcut olduğundan emin olun.,
+Could not solve weighted score function. Make sure the formula is valid.,Ağırlıklı skorları çözemedim. Formülün mevcut olduğundan emin olun.,
+Could not submit some Salary Slips,Bazı Maaş Balıkları gönderilemedi,
+"Could not update stock, invoice contains drop shipping item.","Stok güncellemesi yapılamaz, faturanın damla nakliye öğesini içerir.",
 Country wise default Address Templates,Ülke bilgisi varsayılan adres şablonları,
-Course,kurs,
-Course Code: ,Kurs kodu:,
+Course,Kurs,
+Course Code: ,Kurs Kodu: ,
 Course Enrollment {0} does not exists,{0} ders kaydı mevcut değil,
-Course Schedule,Kurs programı,
-Course: ,Ders:,
-Cr,Cr,
+Course Schedule,Kurs Programı,
+Course: ,Ders: ,
+Cr,Alacak,
 Create,Oluştur,
 Create BOM,Malzeme Listesi Oluştur,
-Create Delivery Trip,Teslimat Gezisi Oluştur,
-Create Disbursement Entry,Ödeme Girişi Oluştur,
-Create Employee,Çalışan Oluştur,
-Create Employee Records,Çalışan Kayıtları Oluşturma,
-"Create Employee records to manage leaves, expense claims and payroll","Yaprakları, harcama talepleri ve bordro yönetmek için Çalışan kaydı oluşturma",
-Create Fee Schedule,Ücret Tarifesi Yarat,
-Create Fees,Ücret Yarat,
-Create Inter Company Journal Entry,Şirketler Arası Dergi Girişi Oluşturma,
-Create Invoice,Fatura oluşturmak,
-Create Invoices,Fatura Yaratın,
-Create Job Card,İş kartı oluştur,
-Create Journal Entry,Dergi Girişi Oluştur,
-Create Lead,Kurşun Yarat,
-Create Leads,İlanlar oluştur,
-Create Maintenance Visit,Bakım Ziyareti Yaratın,
-Create Material Request,Malzeme Talebi Yaratın,
-Create Multiple,Çoklu oluştur,
-Create Opening Sales and Purchase Invoices,Açılış Satışları ve Satınalma Faturaları Yaratın,
+Create Delivery Trip,Teslimat Yolculuğu Oluştur,
+Create Disbursement Entry,Harcama Girişi Oluştur,
+Create Employee,Personel Oluştur,
+Create Employee Records,Personel Kayıtları Oluştur,
+"Create Employee records to manage leaves, expense claims and payroll","İzinleri, harcama talepleri ve bordro yönetmek için Çalışan kaydı oluşturma",
+Create Fee Schedule,Ücret Tarifesi Oluştur,
+Create Fees,Ücret Oluştur,
+Create Inter Company Journal Entry,Şirketler arası Yevmiye Kaydı Oluştur,
+Create Invoice,Fatura Oluştur,
+Create Invoices,Fatura Oluştur,
+Create Job Card,İş Kartı Oluştur,
+Create Journal Entry,Yevmiye Kaydı Oluştur,
+Create Lead,Aday Oluştur,
+Create Leads,Adayları Oluştur,
+Create Maintenance Visit,Bakım Ziyareti Oluştur,
+Create Material Request,Malzeme Talebi Oluştur,
+Create Multiple,Çoklu Oluştur,
+Create Opening Sales and Purchase Invoices,Açılış Satış ve Satınalma Faturası Oluştur,
 Create Payment Entries,Ödeme Girişleri Oluştur,
 Create Payment Entry,Ödeme Girişi Oluştur,
 Create Print Format,Baskı Biçimi Oluştur,
-Create Purchase Order,Satınalma Siparişi Yaratın,
-Create Purchase Orders,Satınalma Siparişleri oluşturun,
-Create Quotation,Teklif oluşturma,
-Create Salary Slip,Maaş Makbuzu Oluştur,
-Create Salary Slips,Maaş Fişleri Oluştur,
-Create Sales Invoice,Satış Faturası Yaratın,
-Create Sales Order,Müşteri Siparişi Yaratın,
-Create Sales Orders to help you plan your work and deliver on-time,Çalışmanızı planlamanıza ve zamanında teslim etmenize yardımcı olacak Satış Siparişleri oluşturun,
-Create Sample Retention Stock Entry,Örnek Tutma Stok Girişi,
-Create Student,Öğrenci Yarat,
+Create Purchase Order,Satınalma Siparişi Oluştur,
+Create Purchase Orders,Satınalma Siparişleri Oluştur,
+Create Quotation,Teklif Oluştur,
+Create Salary Slip,Maaş Bordrosu Oluştur,
+Create Salary Slips,Maaş Bordroları Oluştur,
+Create Sales Invoice,Satış Faturası Oluştur,
+Create Sales Order,Satış Siparişi Oluştur,
+Create Sales Orders to help you plan your work and deliver on-time,Çalışmanızı planlamanıza ve zamanında teslim etmenize yardımcı olacak Satış Siparişlerini Oluştur,
+Create Sample Retention Stock Entry,Numune Saklama Stok Hareketi Oluştur,
+Create Student,Öğrenci Oluştur,
 Create Student Batch,Öğrenci Grubu Oluştur,
-Create Student Groups,Öğrenci Grupları Oluşturma,
-Create Supplier Quotation,Tedarikçi Teklifi Yarat,
+Create Student Groups,Öğrenci Grupları Oluştur,
+Create Supplier Quotation,Tedarikçi Teklifi Oluştur,
 Create Tax Template,Vergi Şablonu Oluştur,
 Create Timesheet,Zaman Çizelgesi Oluştur,
-Create User,Kullanıcı oluştur,
-Create Users,Kullanıcılar oluştur,
+Create User,Kullanıcı Oluştur,
+Create Users,kullanıcıları Oluştur,
 Create Variant,Varyant Oluştur,
 Create Variants,Varyantları Oluştur,
-"Create and manage daily, weekly and monthly email digests.","Günlük, haftalık ve aylık e-posta özetleri oluştur.",
-Create customer quotes,Müşteri tırnak oluşturun,
+"Create and manage daily, weekly and monthly email digests.","Günlük, haftalık ve aylık e-posta özetlerini oluşturun.",
+Create customer quotes,Müşteri Teklifi Oluştur,
 Create rules to restrict transactions based on values.,Değerlere dayalı işlemleri kısıtlamak için kurallar oluşturun.,
 Created {0} scorecards for {1} between: ,{1} için {0} puan kartını şu aralıklarla oluşturdu:,
 Creating Company and Importing Chart of Accounts,Şirket Kurmak ve Hesap Çizelgesi Alma,
-Creating Fees,Ücret Yaratmak,
-Creating Payment Entries......,Ödeme Girişleri Oluşturma ......,
-Creating Salary Slips...,Maaş Fişleri Oluşturma ...,
-Creating student groups,Öğrenci grupları oluşturma,
-Creating {0} Invoice,{0} Fatura Oluşturma,
-Credit,Kredi,
-Credit ({0}),Kredi ({0}),
-Credit Account,Kredi hesabı,
-Credit Balance,Alacak bakiyesi,
-Credit Card,Kredi kartı,
+Creating Fees,Ücret Oluştur,
+Creating Payment Entries......,Ödeme Girişleri Oluşturuluyor...,
+Creating Salary Slips...,Maaş Fişleri Oluşturuluyor...,
+Creating student groups,Öğrenci grupları oluşturuluyor,
+Creating {0} Invoice,{0} Fatura Oluşturuluyor,
+Credit,Alacak,
+Credit ({0}),Alacak ({0}),
+Credit Account,Alacak Hesabı,
+Credit Balance,Alacak Bakiyesi,
+Credit Card,Kredi Kartı,
 Credit Days cannot be a negative number,Kredi Günleri negatif sayı olamaz,
-Credit Limit,Kredi limiti,
-Credit Note,Kredi mektubu,
-Credit Note Amount,Kredi Not Tutarı,
-Credit Note Issued,Kredi Notu İhraç,
-Credit Note {0} has been created automatically,Kredi Notu {0} otomatik olarak oluşturuldu,
+Credit Limit,Kredi Limiti,
+Credit Note,Alacak Dekontu,
+Credit Note Amount,Alacak Dekontu Tutarı,
+Credit Note Issued,Alacak Dekontu Verildi,
+Credit Note {0} has been created automatically,Kredi Notu {0} otomatik olarak kurulmuştur,
 Credit limit has been crossed for customer {0} ({1}/{2}),Müşteri {0} için ({1} / {2}) kredi limiti geçti.,
 Creditors,Alacaklılar,
-Criteria weights must add up to 100%,Ölçüt ağırlıkları% 100&#39;e varmalıdır,
+Criteria weights must add up to 100%,Ölçüt ağırlıkları %100'e varmalıdır,
 Crop Cycle,Mahsul Çevrimi,
 Crops & Lands,Mahsuller ve Arsalar,
 Currency Exchange must be applicable for Buying or for Selling.,Döviz Alış Alış veya Satış için geçerli olmalıdır.,
-Currency can not be changed after making entries using some other currency,Para başka bir para birimini kullanarak girdileri yaptıktan sonra değiştirilemez,
+Currency can not be changed after making entries using some other currency,Para başka bir para birimini kullanarak girdileri kayboldu sonra değiştirilemez,
 Currency exchange rate master.,Ana Döviz Kuru.,
-Currency for {0} must be {1},Döviz {0} olmalıdır için {1},
+Currency for {0} must be {1},Döviz {0} için {1} olmalıdır,
 Currency is required for Price List {0},Döviz Fiyat Listesi için gereklidir {0},
-Currency of the Closing Account must be {0},Kapanış Hesap Para olmalıdır {0},
-Currency of the price list {0} must be {1} or {2},{0} fiyat listesinin para birimi {1} veya {2} olmalıdır.,
+Currency of the Closing Account must be {0},Kapanış Hesap Dövizi olmalıdır {0},
+Currency of the price list {0} must be {1} or {2},{0} fiyat listesi para birimi {1} veya {2} olmalıdır.,
 Currency should be same as Price List Currency: {0},"Para birimi, Fiyat Listesi Para Birimi ile aynı olmalıdır: {0}",
-Current,şimdiki,
+Current,Geçerli,
 Current Assets,Mevcut Varlıklar,
 Current BOM and New BOM can not be same,Cari BOM ve Yeni BOM aynı olamaz,
 Current Job Openings,Güncel İş Olanakları,
-Current Liabilities,Kısa Vadeli Borçlar,
-Current Qty,Güncel Adet,
+Current Liabilities,Cari Borçlar/Pasif,
+Current Qty,Güncel Mik,
 Current invoice {0} is missing,Şu fatura {0} eksik,
 Custom HTML,Özel HTML,
-Custom?,Özel?,
+Custom?,Özel mi?,
 Customer,Müşteri,
-Customer Addresses And Contacts,Müşteri Adresleri Ve İrtibatları,
+Customer Addresses And Contacts,Müşteri Adresleri ve İrtibatları,
 Customer Contact,Müşteri İrtibatı,
-Customer Database.,Müşteri veritabanı.,
-Customer Group,müşteri grubu,
+Customer Database.,Müşteri Veritabanı.,
+Customer Group,Müşteri Grubu,
 Customer LPO,Müşteri LPO&#39;sı,
 Customer LPO No.,Müşteri LPO No.,
-Customer Name,müşteri adı,
+Customer Name,Müşteri Adı,
 Customer POS Id,Müşteri POS Kimliği,
 Customer Service,Müşteri Hizmetleri,
 Customer and Supplier,Müşteri ve tedarikçi,
-Customer is required,Müşteri gereklidir,
-Customer isn't enrolled in any Loyalty Program,Müşteri herhangi bir Bağlılık Programına kayıtlı değil,
-Customer required for 'Customerwise Discount','Müşteri indirimi' için gereken müşteri,
+Customer is required,Müşteri dahil,
+Customer isn't enrolled in any Loyalty Program,Müşteri kaydı bir Sadakat Programına kayıtlı değil,
+Customer required for 'Customerwise Discount','Müşteri indirimi' için olması gereken müşteri,
 Customer {0} does not belong to project {1},Müşteri {0} projeye ait değil {1},
-Customer {0} is created.,Müşteri {0} oluşturuldu.,
-Customers in Queue,Kuyruk Müşteriler,
+Customer {0} is created.,Müşteri {0} kaydedildi.,
+Customers in Queue,Kuyruk Müşterileri,
 Customize Homepage Sections,Ana Sayfa Bölümlerini Özelleştir,
 Customizing Forms,Özelleştirme Formları,
 Daily Project Summary for {0},{0} Günlük Proje Özeti,
@@ -754,179 +754,179 @@
 Daily Work Summary Group,Günlük Çalışma Özet Grubu,
 Data Import and Export,İçeri/Dışarı Aktar,
 Data Import and Settings,Veri Alma ve Ayarlar,
-Database of potential customers.,Potansiyel müşterilerin Veritabanı.,
+Database of potential customers.,Potansiyel depolama birimleri.,
 Date Format,Tarih Biçimi,
-Date Of Retirement must be greater than Date of Joining,Emeklilik Tarihi katılım tarihinden büyük olmalıdır,
+Date Of Retirement must be greater than Date of Joining,Emeklilik Tarihi ulaşım hatları büyük olmalıdır,
 Date is repeated,Tarih tekrarlanır,
-Date of Birth,Doğum tarihi,
-Date of Birth cannot be greater than today.,Doğum Tarihi bugünkünden daha büyük olamaz.,
-Date of Commencement should be greater than Date of Incorporation,Başlangıç tarihi kuruluş tarihinden daha büyük olmalıdır.,
+Date of Birth,Doğum Tarihi,
+Date of Birth cannot be greater than today.,Tarihi doğum gerçeklerinden daha büyük olamaz.,
+Date of Commencement should be greater than Date of Incorporation,Başlangıç tarihi kuruluşunun daha büyük olması gerekir.,
 Date of Joining,Katılma Tarihi,
 Date of Joining must be greater than Date of Birth,Katılım Tarihi Doğum Tarihinden büyük olmalıdır,
-Date of Transaction,İşlem tarihi,
+Date of Transaction,işlem tarihi,
 Datetime,Tarihzaman,
 Day,Gün,
-Debit,borç,
-Debit ({0}),Borçlanma ({0}),
-Debit A/C Number,Borç A / C Numarası,
-Debit Account,Borç hesabı,
-Debit Note,Borç dekontu,
-Debit Note Amount,Borç Not Tutarı,
-Debit Note Issued,Borç Dekontu İhraç,
-Debit To is required,Bankamatik To gereklidir,
+Debit,Borç,
+Debit ({0}),Borç ({0}),
+Debit A/C Number,Borç A/C Numarası,
+Debit Account,Borç Hesabı,
+Debit Note,Borç Dekontu,
+Debit Note Amount,Borç Dekontu Tutarı,
+Debit Note Issued,Borç Dekontu Düzenlendi,
+Debit To is required,Borçlanma yeri gerekli,
 Debit and Credit not equal for {0} #{1}. Difference is {2}.,Borç ve Kredi {0} # için eşit değil {1}. Fark {2}.,
 Debtors,Borçlular,
 Debtors ({0}),Borçlular ({0}),
 Declare Lost,Kayıp Beyanı,
-Deduction,kesinti,
-Default Activity Cost exists for Activity Type - {0},Standart Etkinliği Maliyet Etkinlik Türü için var - {0},
+Deduction,Kesinti,
+Default Activity Cost exists for Activity Type - {0},Standart Etkinliği Maliyet Faaliyet Türü için var - {0},
 Default BOM ({0}) must be active for this item or its template,Standart BOM ({0}) Bu öğe veya şablon için aktif olmalıdır,
 Default BOM for {0} not found,{0} bulunamadı için varsayılan BOM,
 Default BOM not found for Item {0} and Project {1},Öğe {0} ve Proje {1} için varsayılan BOM bulunamadı,
 Default Letter Head,Mektubu Başkanı Standart,
 Default Tax Template,Varsayılan Vergi Şablonu,
-Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,Zaten başka Ölçü Birimi bazı işlem (ler) yaptık çünkü Öğe için Ölçü Varsayılan Birim {0} doğrudan değiştirilemez. Farklı Standart Ölçü Birimi kullanmak için yeni bir öğe oluşturmanız gerekecektir.,
-Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Variant için Ölçü Varsayılan Birim &#39;{0}&#39; Şablon aynı olmalıdır &#39;{1}&#39;,
+Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.,Zaten başka Ölçü Birimi bazı işlem (ler) yapıldığı için Öğe için Ölçü Varsayılan Birim {0} doğrudan değiştirilemez. Farklı Standart Ölçü Birimi kullanmak için yeni bir öğe oluşturmanız gerekir.,
+Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Varyant için Ölçü Varsayılan Birim &#39;{0}&#39; Şablon aynı olmalıdır &#39;{1}&#39;,
 Default settings for buying transactions.,Alış İşlemleri için varsayılan ayarlar.,
-Default settings for selling transactions.,Satış İşlemleri için  varsayılan ayarlar.,
-Default tax templates for sales and purchase are created.,Satışlar ve satın alımlar için varsayılan vergi şablonları oluşturulmuştur.,
+Default settings for selling transactions.,Satış İşlemleri için varsayılan ayarlar.,
+Default tax templates for sales and purchase are created.,Satışlar ve satınalma alımları için varsayılan vergi şablonları ayrılır.,
 Defaults,Standart Değerler,
 Defense,Savunma,
-Define Project type.,Proje türünü tanımlayın.,
+Define Project type.,Proje çıkarmayı tanımlayın.,
 Define budget for a financial year.,Bir mali yıl için bütçeyi tanımlayın.,
 Define various loan types,Çeşitli kredi türlerini tanımlama,
 Del,Del,
 Delay in payment (Days),Ödeme Gecikme (Gün),
 Delete all the Transactions for this Company,Bu şirket için bütün İşlemleri sil,
 Deletion is not permitted for country {0},{0} ülke için silme işlemine izin verilmiyor,
-Delivered,Teslim Edildi,
-Delivered Amount,Teslim Tutar,
+Delivered,Teslim edildi,
+Delivered Amount,Teslimat Tutarı,
 Delivered Qty,Teslim Edilen Miktar,
-Delivered: {0},Teslim: {0},
-Delivery,İrsaliye,
-Delivery Date,İrsaliye Tarihi,
-Delivery Note,İrsaliye,
-Delivery Note {0} is not submitted,İrsaliye {0} teslim edilmedi,
-Delivery Note {0} must not be submitted,İrsaliye {0} teslim edilmemelidir,
-Delivery Notes {0} must be cancelled before cancelling this Sales Order,Satış Emri iptal edilmeden önce İrsaliyeler {0} iptal edilmelidir,
-Delivery Notes {0} updated,Teslimat Notları {0} güncellendi,
-Delivery Status,Teslim Durumu,
-Delivery Trip,Teslimat Gezisi,
+Delivered: {0},Teslim edilen: {0},
+Delivery,Teslimat,
+Delivery Date,Teslimat Tarihi,
+Delivery Note,Satış İrsaliyesi,
+Delivery Note {0} is not submitted,Satış İrsaliyesi {0} teslim edilmedi,
+Delivery Note {0} must not be submitted,Satış İrsaliyesi {0} teslim edilmemelidir,
+Delivery Notes {0} must be cancelled before cancelling this Sales Order,Satış Siparişi iptal edilmeden önce İrsaliyeler {0} iptal edilmelidir,
+Delivery Notes {0} updated,{0} Satış İrsaliyesi güncellendi,
+Delivery Status,Teslimat Durumu,
+Delivery Trip,Teslimat Yolculuğu,
 Delivery warehouse required for stock item {0},Teslim depo stok kalemi için gerekli {0},
 Department,Departman,
-Department Stores,Departman mağazaları,
+Department Stores,Departman Mağazaları,
 Depreciation,Amortisman,
 Depreciation Amount,Amortisman Tutarı,
-Depreciation Amount during the period,döneminde Amortisman Tutarı,
+Depreciation Amount during the period,Dönem içindeki Amortisman Tutarı,
 Depreciation Date,Amortisman Tarihi,
-Depreciation Eliminated due to disposal of assets,Amortisman nedeniyle varlıkların elden çıkarılması elendi,
-Depreciation Entry,Amortisman kayıt,
+Depreciation Eliminated due to disposal of assets,Amortisman nedeniyle elden çıkarma elendi,
+Depreciation Entry,Amortisman Kaydı,
 Depreciation Method,Amortisman Yöntemi,
 Depreciation Row {0}: Depreciation Start Date is entered as past date,Amortisman Satırı {0}: Amortisman Başlangıç Tarihi geçmiş olarak girildi,
 Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},"Amortisör Satırı {0}: Faydalı ömür sonrasında beklenen değer, {1} değerinden büyük veya ona eşit olmalıdır.",
-Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,"Amortisör Satırı {0}: Sonraki Amortisman Tarihi, Kullanıma hazır Tarih&#39;ten önce olamaz",
-Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,"Amortisör Satırı {0}: Sonraki Amortisman Tarihi, Satın Alma Tarihinden önce olamaz",
-Designer,tasarımcı,
+Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,"Amortisör Satırı {0}: Sonraki Amortisman Tarihi, Kullanıma hazır Tarihten önce olamaz",
+Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,"Amortisör Satırı {0}: Sonraki Amortisman Tarihi, Satınalma Tarihinden önce olamaz",
+Designer,Tasarımcı,
 Detailed Reason,Ayrıntılı Sebep,
-Details,ayrıntılar,
+Details,Ayrıntılar,
 Details of Outward Supplies and inward supplies liable to reverse charge,Dışa Sarf Malzemelerinin ve geri beslemeden sorumlu olan iç sarf malzemelerinin ayrıntıları,
 Details of the operations carried out.,Operasyonların detayları gerçekleştirdi.,
 Diagnosis,tanı,
-Did not find any item called {0},{0} kalemi bulunamadı,
-Diff Qty,Diff Adet,
+Did not find any item called {0},{0} bilgisayarı bulunamadı,
+Diff Qty,Fark Miktarı,
 Difference Account,Fark Hesabı,
-"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry",Bu Stok Mutabakatı bir Hesap Açılış Kaydı olduğundan fark hesabının aktif ya da pasif bir hesap tipi olması gerekmektedir,
-Difference Amount,Fark tutarı,
+"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry",Bu Stok Mutabakatı bir Hesap Açılış Kaydı olduğundan farklı hesabının aktif ya da pasif bir hesap tipi olması gerekmektedir,
+Difference Amount,Farklı ayrılıklar,
 Difference Amount must be zero,Fark Tutar sıfır olmalıdır,
-Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Ürünler için farklı Ölçü Birimi yanlış (Toplam) net ağırlıklı değere yol açacaktır. Net ağırlıklı değerin aynı olduğundan emin olun.,
+Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.,Ürünler için farklı Ölçü Birimi yanlış (Toplam) net değer değerine yol açacaktır. Net etki değerinin aynı olduğundan emin olun.,
 Direct Expenses,Doğrudan Giderler,
-Direct Income,Doğrudan gelir,
+Direct Income,doğrudan gelir,
 Disable,Devre Dışı Bırak,
-Disabled template must not be default template,Engelli şablon varsayılan şablon olmamalıdır,
+Disabled template must not be default template,Engelli kalıpları varsayılan kalıpları,
 Disburse Loan,Kredi Kredisi,
-Disbursed,Önceki dönemlerde toplanan,
+Disbursed,Önceki dönemlerde toplananlar,
 Disc,Disk,
 Discharge,Deşarj,
 Discount,İndirim,
-Discount Percentage can be applied either against a Price List or for all Price List.,İndirim Yüzdesi bir Fiyat listesine veya bütün fiyat listelerine karşı uygulanabilir.,
-Discount must be less than 100,İndirim 100'den az olmalıdır,
+Discount Percentage can be applied either against a Price List or for all Price List.,İndirim Yüzdesi bir Fiyat veya bütün fiyat listelerine karşı uygulanabilir.,
+Discount must be less than 100,İndirim 100'den az olmalı,
 Diseases & Fertilizers,Hastalıklar ve Gübreler,
 Dispatch,Sevk,
 Dispatch Notification,Sevk Bildirimi,
-Dispatch State,Sevk devlet,
+Dispatch State,Sevk Durumu,
 Distance,Mesafe,
-Distribution,dağıtım,
+Distribution,Dağıtım,
 Distributor,Dağıtımcı,
-Dividends Paid,Temettü Ücretli,
-Do you really want to restore this scrapped asset?,Eğer gerçekten bu hurdaya varlığın geri yüklemek istiyor musunuz?,
-Do you really want to scrap this asset?,Bu varlığı gerçekten hurda etmek istiyor musunuz?,
-Do you want to notify all the customers by email?,Tüm müşterilere e-posta ile haber vermek istiyor musunuz?,
-Doc Date,Doküman Tarihi,
-Doc Name,Doküman Adı,
-Doc Type,Doküman Türü,
-Docs Search,Dokümanlar Ara,
-Document Name,Belge Adı,
+Dividends Paid,Ödenen Temettüler,
+Do you really want to restore this scrapped asset?,Eğer gerçekten bu hurdaya ait varlığın geri yüklenmesini istiyor musunuz?,
+Do you really want to scrap this asset?,Bu varlığı gerçekten hurdalamak istiyor musunuz?,
+Do you want to notify all the customers by email?,Tüm bileşenleri e-posta ile haber vermek istiyor musunuz?,
+Doc Date,Belge Tarihi,
+Doc Name,Belge Adı,
+Doc Type,Belge Türü,
+Docs Search,Belge Ara,
+Document Name,Belge adı,
 Document Status,Belge Durumu,
 Document Type,Belge Türü,
-Domain,Etki Alanı,
-Domains,Çalışma Alanları,
-Done,tamam,
-Donor,verici,
+Domain,Domain,
+Domains,Domains,
+Done,Bitti,
+Donor,Donör,
 Donor Type information.,Donör Türü bilgileri.,
 Donor information.,Bağışçı bilgileri.,
 Download JSON,JSON indir,
-Draft,taslak,
-Drop Ship,Bırak Gemi,
+Draft,Taslak,
+Drop Ship,Drop Ship,
 Drug,İlaç,
 Due / Reference Date cannot be after {0},Due / Referans Tarihi sonra olamaz {0},
-Due Date cannot be before Posting / Supplier Invoice Date,Son Ödeme Tarihi Gönderim / Tedarikçi Fatura Tarihi&#39;nden önce olamaz,
-Due Date is mandatory,Due Date zorunludur,
+Due Date cannot be before Posting / Supplier Invoice Date,Son Ödeme Tarihi Gönderim / Tedarikçi Fatura Tarihi'nden önce olamaz,
+Due Date is mandatory,Bitiş Tarihi,
 Duplicate Entry. Please check Authorization Rule {0},Girişi çoğaltın. Yetkilendirme Kuralı kontrol edin {0},
 Duplicate Serial No entered for Item {0},Çoğaltın Seri No Ürün için girilen {0},
-Duplicate customer group found in the cutomer group table,cutomer grubu tablosunda bulunan yinelenen müşteri grubu,
+Duplicate customer group found in the cutomer group table,müşteri grubu tablosunda bulunan yinelenen müşteri grubu,
 Duplicate entry,Girdiyi Kopyala,
 Duplicate item group found in the item group table,öğe grubu tablosunda bulunan yinelenen öğe grubu,
-Duplicate roll number for student {0},{0} öğrencisi için yinelenen rulo numarası,
-Duplicate row {0} with same {1},Satır {0} ı  {1} ile aynı biçimde kopyala,
+Duplicate roll number for student {0},{0} öğrenci için yinelenen rulo numarası,
+Duplicate row {0} with same {1},Satır {0} ı {1} ile aynı biçimlerde kopyala,
 Duplicate {0} found in the table,Tabloda {0} yinelenen kopya,
-Duration in Days,Günlerde Süre,
+Duration in Days,Gün olarak Süre,
 Duties and Taxes,Harç ve Vergiler,
 E-Invoicing Information Missing,E-Faturalama Bilgisi Eksik,
 ERPNext Demo,ERPNext Demosu,
 ERPNext Settings,ERPNext Ayarları,
-Earliest,en erken,
+Earliest,En erken,
 Earnest Money,Kaparo,
 Earning,Kazanma,
 Edit,Düzenle,
-Edit Publishing Details,Yayınlama Ayrıntılarını Düzenle,
-"Edit in full page for more options like assets, serial nos, batches etc.","Öğeler, seri no&#39;lar, gruplar vb. Gibi daha fazla seçenek için tam sayfayı düzenleyin.",
+Edit Publishing Details,Yayınlama Ayrıntılarını Düzenleyen,
+"Edit in full page for more options like assets, serial nos, batches etc.","Öğeler, seri no'lar, gruplar vb. Gibi daha fazla seçenek için tam araştırma.",
 Education,Eğitim,
 Either location or employee must be required,Yer veya çalışan gerekli olmalıdır,
-Either target qty or target amount is mandatory,Hedef miktarı veya hedef tutarı zorunludur,
-Either target qty or target amount is mandatory.,Hedef miktarı veya hedef tutarı zorunludur.,
+Either target qty or target amount is mandatory,Hedef miktar veya hedef korumalar,
+Either target qty or target amount is mandatory.,Hedef miktar veya hedef korumalar.,
 Electrical,Elektrik,
 Electronic Equipments,Elektronik Ekipmanlar,
 Electronics,Elektronik,
 Eligible ITC,Uygun ITC,
 Email Account,E-posta Hesabı,
-Email Address,E,
+Email Address,E-posta Address,
 "Email Address must be unique, already exists for {0}","{0} E-posta adresi zaten var, benzersiz olmalıdır.",
-Email Digest: ,Digest e-posta:,
-Email Reminders will be sent to all parties with email contacts,E-posta Hatırlatıcıları e-posta ile tüm taraflara gönderilecektir,
-Email Sent,E-posta Gönderilmiş,
+Email Digest: ,Özet e-posta:,
+Email Reminders will be sent to all parties with email contacts,E-posta Hatırlatıcıları e-posta ile tüm gönderia gönderilecek,
+Email Sent,E-posta Gönderildi,
 Email Template,E-posta şablonu,
 Email not found in default contact,Varsayılan iletişimde e-posta bulunamadı,
 Email sent to {0},E-posta gönderildi {0},
-Employee,Çalışan,
-Employee A/C Number,Çalışan A / C Numarası,
-Employee Advances,Çalışan Gelişmeleri,
-Employee Benefits,Çalışanlara sağlanan faydalar,
-Employee Grade,Çalışan notu,
-Employee ID,Çalışan kimliği,
-Employee Lifecycle,Çalışan Yaşam Döngüsü,
-Employee Name,Çalışan Adı,
+Employee,Personel,
+Employee A/C Number,Personel A/C Numarası,
+Employee Advances,Personel Avansları,
+Employee Benefits,Personele sağlanan faydalar,
+Employee Grade,Personel Notu,
+Employee ID,Personel ID,
+Employee Lifecycle,Personel Yaşam Döngüsü,
+Employee Name,Personel Adı,
 Employee Promotion cannot be submitted before Promotion Date ,Çalışan Promosyonu Promosyon Tarihinden önce gönderilemez,
-Employee Referral,İşçi başvurusu,
+Employee Referral,Personel başvurusu,
 Employee Transfer cannot be submitted before Transfer Date ,Devir tarihinden önce çalışan transferi yapılamaz.,
 Employee cannot report to himself.,Çalışan kendi kendine rapor olamaz.,
 Employee relieved on {0} must be set as 'Left',"{0} üzerinde bırakılan işçi 'ayrılı' olarak ayarlanmalıdır""",
@@ -938,24 +938,24 @@
 Employee {0} of grade {1} have no default leave policy,{1} notunun {0} çalışanında varsayılan izin yok politikası yoktur,
 Employee {0} on Half day on {1},"Yarım günde Çalışan {0}, {1}",
 Enable,Etkinleştir,
-Enable / disable currencies.,/ Para birimlerini etkinleştir/devre dışı bırak.,
+Enable / disable currencies.,/ Para birimlerini etkinleştirir/devre dışı bırakır.,
 Enabled,Etkin,
 "Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Etkinleştirme Alışveriş Sepeti etkin olarak, &#39;Alışveriş Sepeti için kullan&#39; ve Alışveriş Sepeti için en az bir vergi Kural olmalıdır",
 End Date,Bitiş tarihi,
 End Date can not be less than Start Date,"Bitiş Tarihi, Başlangıç Tarihinden az olamaz",
-End Date cannot be before Start Date.,"Bitiş Tarihi, Başlangıç Tarihi&#39;nden önce olamaz.",
+End Date cannot be before Start Date.,"Bitiş Tarihi, Başlangıç Tarihi'nden önce olamaz.",
 End Year,bitiş yılı,
 End Year cannot be before Start Year,Yıl Sonu Başlangıç Yıl önce olamaz,
 End on,Bitiş tarihi,
 End time cannot be before start time,Bitiş saati başlangıç saatinden önce olamaz,
-Ends On date cannot be before Next Contact Date.,"Bitiş Tarihi, Sonraki İletişim Tarihi&#39;nden önce olamaz.",
+Ends On date cannot be before Next Contact Date.,"Bitiş Tarihi, Sonraki İletişim Tarihi'nden önce olamaz.",
 Energy,Enerji,
-Engineer,Mühendis,
-Enough Parts to Build,Yeter Parçaları Build,
-Enroll,kaydetmek,
-Enrolling student,kaydolunan öğrenci,
-Enrolling students,Öğrencileri kaydettirme,
-Enter depreciation details,Amortisman bilgilerini girin,
+Engineer,mühendis,
+Enough Parts to Build,Yeter Parçaları İnşa,
+Enroll,ayrılmak,
+Enrolling student,kayıtlıunan öğrenci,
+Enrolling students,öğrencileri kaydetme,
+Enter depreciation details,Amortisman bilgileri girin,
 Enter the Bank Guarantee Number before submittting.,Göndermeden önce Banka Garanti Numarasını girin.,
 Enter the name of the Beneficiary before submittting.,Gönderilmeden önce Faydalanıcının adını girin.,
 Enter the name of the bank or lending institution before submittting.,Göndermeden önce banka veya kredi kurumunun adını girin.,
@@ -963,57 +963,57 @@
 Entertainment & Leisure,Eğlence ve Boş Zaman,
 Entertainment Expenses,Eğlence giderleri,
 Equity,Özkaynak,
-Error Log,hata Günlüğü,
-Error evaluating the criteria formula,Kriter formülünü değerlendirirken hata oluştu,
-Error in formula or condition: {0},Formül ya da durumun hata: {0},
-Error: Not a valid id?,Hata: Geçerli bir kimliği?,
-Estimated Cost,Tahmini maliyeti,
+Error Log,Hata Günlüğü,
+Error evaluating the criteria formula,Kriter formüllerini değerlendirirken hata oluştu,
+Error in formula or condition: {0},Formül ya da işletim hatası: {0},
+Error: Not a valid id?,Hata: geçerli bir mahkeme?,
+Estimated Cost,Tahmini Maliyet,
 Evaluation,Değerlendirme,
-"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Eğer yüksek öncelikli birden çok Fiyatlandırma Kuralı varsa, şu iç öncelikler geçerli olacaktır.",
-Event,Faaliyet,
+"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Eğer yüksek öncelikli birden çok Fiyatlandırma Kuralı varsa, şu iç önermeler geçerli olacaktır.",
+Event,Etkinlik,
 Event Location,Etkinlik Yeri,
 Event Name,Etkinlik Adı,
 Exchange Gain/Loss,Kambiyo Kâr / Zarar,
 Exchange Rate Revaluation master.,Döviz Kuru Yeniden Değerleme ana.,
 Exchange Rate must be same as {0} {1} ({2}),Döviz Kuru aynı olmalıdır {0} {1} ({2}),
 Excise Invoice,Tüketim Fatura,
-Execution,Yerine Getirme,
-Executive Search,Yürütücü Arama,
-Expand All,Hepsini genişlet,
+Execution,Yerine Geliştirme,
+Executive Search,Arama Yürütücü,
+Expand All,Tümünü Genişlet,
 Expected Delivery Date,Beklenen Teslim Tarihi,
 Expected Delivery Date should be after Sales Order Date,"Beklenen Teslim Tarihi, Satış Sipariş Tarihinden sonra olmalıdır",
 Expected End Date,Beklenen Bitiş Tarihi,
 Expected Hrs,Beklenen Saat,
-Expected Start Date,Beklenen BaşlangıçTarihi,
-Expense,gider,
+Expected Start Date,Beklenen Başlangıç Tarihi,
+Expense,Gider,
 Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Gider / Fark hesabı({0}), bir 'Kar veya Zarar' hesabı olmalıdır",
 Expense Account,Gider Hesabı,
 Expense Claim,Gider Talebi,
-Expense Claim for Vehicle Log {0},Araç giriş için Gider Talep {0},
-Expense Claim {0} already exists for the Vehicle Log,Gider Talep {0} zaten Araç giriş için var,
+Expense Claim for Vehicle Log {0},Araç girişi için Gider Talebi {0},
+Expense Claim {0} already exists for the Vehicle Log,Gider Talebi {0} zaten Araç girişi için var,
 Expense Claims,Gider İddiaları,
-Expense account is mandatory for item {0},Ürün {0} için gider hesabı zorunludur,
-Expenses,giderler,
+Expense account is mandatory for item {0},Ürün {0} için gider hesabının yükümlüleri,
+Expenses,Giderler,
 Expenses Included In Asset Valuation,Varlık Değerlemesine Dahil Olan Giderler,
 Expenses Included In Valuation,Değerlemeye dahil giderler,
-Expired Batches,Süresi dolan Toplu İşler,
+Expired Batches,Süresi biten Toplu İşler,
 Expires On,Tarihinde sona eriyor,
-Expiring On,Süresi doldu,
-Expiry (In Days),(Gün) Son Kullanma,
+Expiring On,süresi doldu,
+Expiry (In Days),(Gün) Son Kullanım,
 Explore,Keşfet!,
 Export E-Invoices,E-Faturaları Dışa Aktar,
-Extra Large,Ekstra büyük,
-Extra Small,Extra Small,
+Extra Large,ekstra büyük,
+Extra Small,Çok küçük,
 Fail,Başarısız,
 Failed,Başarısız,
 Failed to create website,Web sitesi oluşturulamadı,
 Failed to install presets,Önayarlar yüklenemedi,
-Failed to login,Giriş yapılamadı,
-Failed to setup company,Kurulum şirketi başarısız oldu,
-Failed to setup defaults,Varsayılanlar ayarlanamadı,
+Failed to login,giriş yapılamadı,
+Failed to setup company,kurulum şirketi başarısız oldu,
+Failed to setup defaults,varsayılanlar ayarlanamadı,
 Failed to setup post company fixtures,Şirket armatürleri ayarlanamadı,
-Fax,Faks,
-Fee,ücret,
+Fax,Fax,
+Fee,Ücret,
 Fee Created,Ücretlendirildi,
 Fee Creation Failed,Ücret Oluşturma Başarısız Oldu,
 Fee Creation Pending,Ücret Oluşturma Bekliyor,
@@ -1026,95 +1026,95 @@
 Fetch exploded BOM (including sub-assemblies),(Alt-montajlar dahil) patlamış BOM'ları getir,
 Fetching records......,Kayıtlar alınıyor ......,
 Field Name,Alan Adı,
-Fieldname,fieldname,
+Fieldname,Alanadı,
 Fields,Alanlar,
-Fill the form and save it,Formu doldurun ve kaydedin,
+Fill the form and save it,Form doldurucu ve denetleyicileri,
 Filter Employees By (Optional),Çalışanları ... ile Filtrele (Opsiyonel),
-"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtre Alanları Satırı # {0}: <b>{1} alan adı</b> &quot;Link&quot; veya &quot;Table MultiSelect&quot; tipinde olmalıdır,
+"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtre Alanları Satırı # {0}: <b>{1} alan adı</b> &quot;Link&quot; veya &quot;Table MultiSelect&quot; tipinde olmalı,
 Filter Total Zero Qty,Toplam Sıfır Miktar Filtresi,
-Finance Book,Finans Kitabı,
-Financial / accounting year.,Mali / muhasebe yılı.,
-Financial Services,Finansal hizmetler,
+Finance Book,Mali Defter,
+Financial / accounting year.,Mali / Muhasebe Yılı.,
+Financial Services,Finansal Hizmetler,
 Financial Statements,Finansal Tablolar,
-Financial Year,Mali yıl,
+Financial Year,Mali Yıl,
 Finish,Bitiş,
-Finished Good,İyi bitti,
-Finished Good Item Code,Bitmiş iyi ürün kodu,
+Finished Good,Mamul Ürün,
+Finished Good Item Code,Mamul Ürün Kodu,
 Finished Goods,Mamüller,
-Finished Item {0} must be entered for Manufacture type entry,Öğe bitirdi {0} imalatı tipi giriş için girilmelidir,
+Finished Item {0} must be entered for Manufacture type entry,Öğe sonlandırıldı {0} imalat tipi giriş için girilmelidir,
 Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Bitmiş ürün miktarı <b>{0}</b> ve Miktar <b>{1}</b> için farklı olamaz,
-First Name,Ad,
-"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Mali rejim zorunludur, lütfen {0} şirketindeki mali rejimi ayarlayın.",
-Fiscal Year,Mali yıl,
-Fiscal Year End Date should be one year after Fiscal Year Start Date,"Mali Yıl Sonu Tarihi, Mali Yıl Başlama Tarihi&#39;nden bir yıl sonra olmalıdır",
+First Name,Adı,
+"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Mali rejimler, lütfen {0} şirketteki mali rejimi ayarlayın.",
+Fiscal Year,Mali Yıl,
+Fiscal Year End Date should be one year after Fiscal Year Start Date,"Mali Yıl Sonu Tarihi, Mali Yıl Başlama Tarihi'nden bir yıl sonra olmalıdır",
 Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Mali Yıl {0} da Mali Yıl Başlangıç Tarihi ve Mali Yıl Bitiş Tarihi zaten ayarlanmış,
 Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Mali Yıl Başlangıç Tarihi Mali Yıl Bitiş Tarihinden bir yıl önce olmalıdır.,
 Fiscal Year {0} does not exist,Mali yıl {0} yok,
 Fiscal Year {0} is required,Mali yıl {0} gereklidir,
 Fiscal Year {0} not found,bulunamadı Mali Yılı {0},
-Fixed Asset,Sabit Varlık,
-Fixed Asset Item must be a non-stock item.,Sabit Kıymet Öğe olmayan bir stok kalemi olmalıdır.,
-Fixed Assets,Duran Varlıklar,
-Following Material Requests have been raised automatically based on Item's re-order level,Malzeme İstekleri ardından öğesinin yeniden sipariş seviyesine göre otomatik olarak gündeme gelmiş,
-Following accounts might be selected in GST Settings:,GST Ayarları&#39;nda aşağıdaki hesaplar seçilebilir:,
-Following course schedules were created,Aşağıdaki ders programları oluşturuldu,
-Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,"Aşağıdaki {0} öğesi, {1} öğesi olarak işaretlenmemiş. Öğeleri ana öğesinden {1} öğe olarak etkinleştirebilirsiniz",
-Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,"Aşağıdaki {0} öğeler, {1} öğe olarak işaretlenmemiş. Öğeleri ana öğesinden {1} öğe olarak etkinleştirebilirsiniz",
+Fixed Asset,Sabit Kıymet,
+Fixed Asset Item must be a non-stock item.,Sabit Kıymet Öğesi olmayan bir stok defteri olmalıdır.,
+Fixed Assets,Sabit Kıymetler,
+Following Material Requests have been raised automatically based on Item's re-order level,Malzeme İstekleri bir sonraki öğenin yeniden müşteri hizmetini göre otomatik olarak geldikleri,
+Following accounts might be selected in GST Settings:,GST Ayarları&#39;nda aşağıdaki hesaplar kullanılabilir:,
+Following course schedules were created,Aşağıdaki ders programlarının kaydedilmesi,
+Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,"Aşağıdaki {0} öğesi, {1} öğesi olarak işaretlenmemiş. Öğeleri ana öğeden {1} öğe olarak etkinleştirebilirsiniz",
+Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,"Aşağıdaki {0} içeriği, {1} öğesi olarak işaretlenmemiş. Öğeleri ana öğeden {1} öğe olarak etkinleştirebilirsiniz",
 Food,Yiyecek Grupları,
 "Food, Beverage & Tobacco","Gıda, İçecek ve Tütün",
-For,İçin,
-"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","&#39;Ürün Bundle&#39; öğeler, Depo, Seri No ve Toplu No &#39;Ambalaj Listesi&#39; tablodan kabul edilecektir. Depo ve Toplu Hayır herhangi bir &#39;Ürün Bundle&#39; öğe için tüm ambalaj öğeler için aynı ise, bu değerler ana Öğe tabloda girilebilir, değerler tablosu &#39;Listesi Ambalaj&#39; kopyalanacaktır.",
-For Employee,Çalışanlara,
-For Quantity (Manufactured Qty) is mandatory,Miktar (Adet Üretilen) zorunludur,
+For,için,
+"For 'Product Bundle' items, Warehouse, Serial No and Batch No will be considered from the 'Packing List' table. If Warehouse and Batch No are same for all packing items for any 'Product Bundle' item, those values can be entered in the main Item table, values will be copied to 'Packing List' table.","&#39;Ürün Paketi&#39; malzemeleri, Depo, Seri No ve Toplu No &#39;Ambalaj Listesi&#39; tablodan kabul edilebilir. Depo ve Toplu Hayır herhangi bir &#39;Ürün Paketi&#39; öğe için tüm ambalaj sunumu için aynı ise, bu değerler ana Öğe tablosu girilebilir, değerler tablosu &#39;Listesi Ambalaj&#39; çoğaltılacaktır.",
+For Employee,çalışanlara,
+For Quantity (Manufactured Qty) is mandatory,Miktar (Adet Üretilen) cezaları,
 For Supplier,Tedarikçi İçin,
 For Warehouse,Depo için,
 For Warehouse is required before Submit,Sunulmadan önce gerekli depo için,
 "For an item {0}, quantity must be negative number","{0} öğesinde, miktar negatif sayı olmalıdır",
 "For an item {0}, quantity must be positive number","Bir öğe için {0}, miktar pozitif sayı olmalıdır",
-"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","{0} kartvizitinde, yalnızca &#39;Üretim İçin Malzeme Transferi&#39; tipi stok girişini yapabilirsiniz.",
-"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Satırdaki {0} içinde {1}. Ürün fiyatına {2} eklemek için, satır {3} de dahil edilmelidir",
-For row {0}: Enter Planned Qty,{0} satırı için: Planlanan Miktarı Girin,
-"For {0}, only credit accounts can be linked against another debit entry","{0}, sadece kredi hesapları başka bir ödeme girişine karşı bağlantılı olabilir için",
-"For {0}, only debit accounts can be linked against another credit entry","{0}, sadece banka hesapları başka bir kredi girişine karşı bağlantılı olabilir için",
+"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","{0} kartvizitinde, yalnızca &#39;Üretim İçin Malzeme Transferi&#39; tipi stokunu girebilirsiniz.",
+"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Satırdaki {0} içinde {1}. Ürün fiyatına {2} dahil etmek için, satır {3} de dahil edilmelidir",
+For row {0}: Enter Planned Qty,{0} bilgi için: Planlanan Miktarı Girin,
+"For {0}, only credit accounts can be linked against another debit entry","{0}, yalnızca kredi hesapları başka bir ödeme girişine karşı bağlantılı olabilir",
+"For {0}, only debit accounts can be linked against another credit entry","{0}, yalnızca banka hesapları başka bir kredi girişine karşı bağlantılı olabilir",
 Forum Activity,Forum Etkinliği,
-Free item code is not selected,Ücretsiz ürün kodu seçilmedi,
+Free item code is not selected,Ücretsiz ürün kodu tahminidi,
 Freight and Forwarding Charges,Navlun ve Sevkiyat Ücretleri,
-Frequency,frekans,
+Frequency,Frekans,
 Friday,Cuma,
-From,Itibaren,
-From Address 1,Adres 1&#39;den,
-From Address 2,Adres 2&#39;den,
+From,itibaren,
+From Address 1,Adres 1'den,
+From Address 2,Adres 2'den,
 From Currency and To Currency cannot be same,Para biriminden ve para birimine aynı olamaz,
 From Date and To Date lie in different Fiscal Year,Tarihten ve Tarihe kadar farklı Mali Yılda yalan,
-From Date cannot be greater than To Date,Tarihten itibaren tarihe kadardan ileride olamaz,
-From Date must be before To Date,Tarihten itibaren tarihe kadardan önce olmalıdır,
-From Date should be within the Fiscal Year. Assuming From Date = {0},Tarihten itibaren Mali yıl içinde olmalıdır Tarihten itibaren  = {0} varsayılır,
-From Date {0} cannot be after employee's relieving Date {1},{0} tarihinden itibaren çalışanın işten ayrılmasından sonra tarih {1} olamaz,
-From Date {0} cannot be before employee's joining Date {1},{0} tarihinden itibaren çalışanın {1} tarihine katılmadan önce olamaz.,
-From Datetime,DateTime Gönderen,
-From Delivery Note,İrsaliyeden,
-From Fiscal Year,Mali Yıldan,
-From GSTIN,GSTIN&#39;den,
-From Party Name,Parti isminden,
-From Pin Code,Pin Kodundan,
-From Place,Yerden,
+From Date cannot be greater than To Date,Tarihten bugüne kadardan ileride olamaz,
+From Date must be before To Date,Tarihten itibaren bugüne kadardan önce olmalıdır,
+From Date should be within the Fiscal Year. Assuming From Date = {0},Tarihten Mali'den yıl içinde olmalıdır Tarihten itibaren = {0} varsayılır,
+From Date {0} cannot be after employee's relieving Date {1},{0} personelden çalışanın masrafından sonra tarih olamaz {1},
+From Date {0} cannot be before employee's joining Date {1},{0} personelinin çalışanlardan {1} yayınlanmasından önce olamaz.,
+From Datetime,Başlama Zamanı,
+From Delivery Note,Baş. Satış İrsaliyesi,
+From Fiscal Year,Baş. Mali Yılı,
+From GSTIN,GSTIN'den,
+From Party Name,Baş. Cari Adı,
+From Pin Code,Baş. Pin Kodu,
+From Place,Baş. Yeri,
 From Range has to be less than To Range,Menzil az olmak zorundadır Kimden daha Range için,
-From State,Devletten,
-From Time,Zamandan,
+From State,Başlangıç Durumu,
+From Time,Başlama Tarihi,
 From Time Should Be Less Than To Time,Zaman Zamandan Daha Az Olmalı,
 From Time cannot be greater than To Time.,Zaman zaman daha büyük olamaz.,
-"From a supplier under composition scheme, Exempt and Nil rated","Kompozisyon şeması altındaki bir tedarikçiden, Muaf ve Nil Puanı",
-From and To dates required,Tarih aralığı gerekli,
-From date can not be less than employee's joining date,"Başlangıç tarihinden, çalışanın katılma tarihinden daha az olamaz",
-From value must be less than to value in row {0},"Değerden, {0} satırındaki değerden az olmalıdır",
+"From a supplier under composition scheme, Exempt and Nil rated","Kompozisyon düzeni sunucusu bir tedarikçiden, Muaf ve Nil Puanı",
+From and To dates required,tarih aralığı gerekli,
+From date can not be less than employee's joining date,"Başlangıç elde etmek, çalışanın birleştirme yöntemleri daha az olamaz",
+From value must be less than to value in row {0},"Değerden, {0} bilgisindeki değerden az olmalıdır",
 From {0} | {1} {2},Gönderen {0} | {1} {2},
 Fuel Price,Yakıt Fiyatı,
 Fuel Qty,Yakıt Adet,
 Fulfillment,yerine getirme,
 Full,Tam,
 Full Name,Tam Adı,
-Full-time,Tam zamanlı,
-Fully Depreciated,Değer kaybı tamamlanmış,
+Full-time,tam mesai,
+Fully Depreciated,Değer kaybı,
 Furnitures and Fixtures,Döşeme ve demirbaşlar,
 "Further accounts can be made under Groups, but entries can be made against non-Groups","Ek hesaplar Gruplar altında yapılabilir, ancak girişler olmayan Gruplar karşı yapılabilir",
 Further cost centers can be made under Groups but entries can be made against non-Groups,"Daha fazla masraf Gruplar altında yapılabilir, ancak girişleri olmayan Gruplar karşı yapılabilir",
@@ -1124,119 +1124,119 @@
 GSTR3B-Form,GSTR3B-Formu,
 Gain/Loss on Asset Disposal,Varlık Bertaraf Kâr / Zarar,
 Gantt Chart,Gantt şeması,
-Gantt chart of all tasks.,Bütün görevlerin Gantt Şeması.,
+Gantt chart of all tasks.,Bütün görevlerinin Gantt Şeması.,
 Gender,Cinsiyet,
 General,Genel,
 General Ledger,Genel Muhasebe,
 Generate Material Requests (MRP) and Work Orders.,Malzeme Talepleri (MRP) ve İş Emirleri Oluşturun.,
 Generate Secret,Gizli Oluştur,
-Get Details From Declaration,Deklarasyondan Detaylar Alın,
+Get Details From Declaration,Açıklamadan Detaylar Alın,
 Get Employees,Çalışanları Al,
 Get Invocies,Davetiye Al,
 Get Invoices,Faturaları Al,
 Get Invoices based on Filters,Filtrelere Dayalı Faturaları Al,
-Get Items from BOM,BOM dan Ürünleri alın,
-Get Items from Healthcare Services,Sağlık Hizmetlerinden Ürün Alın,
-Get Items from Prescriptions,Reçeteden Öğeleri Al,
-Get Items from Product Bundle,Ürün Bundle Öğeleri alın,
-Get Suppliers,Tedarikçiler Al,
-Get Suppliers By,Tarafından Satıcı Alın,
-Get Updates,Güncellemeler Alın,
-Get customers from,Müşterileri şu adresten alın:,
-Get from Patient Encounter,Hasta Envanterinden Alın,
-Getting Started,Başlamak,
+Get Items from BOM,BOMdan Ürünleri Getir,
+Get Items from Healthcare Services,Sağlık Hizmetlerinden Ürünleri Getir,
+Get Items from Prescriptions,Reçeteden Öğeleri Getir,
+Get Items from Product Bundle,Bundle Ürün Öğelerini Getir,
+Get Suppliers,Tedarikçileri Getir,
+Get Suppliers By,Tedarikçiye göre Getir,
+Get Updates,Güncellemeler Al,
+Get customers from,Müşterileri şu adresten Getir:,
+Get from Patient Encounter,Hasta Envanterinden Getir,
+Getting Started,Başlarken,
 GitHub Sync ID,GitHub Senkronizasyon Kimliği,
 Global settings for all manufacturing processes.,Tüm üretim süreçleri için genel ayarlar.,
-Go to the Desktop and start using ERPNext,Masaüstüne gidip ERPNext 'i kullanmaya başlayabilirsiniz,
-GoCardless SEPA Mandate,GoCardless SEPA Mandate,
-GoCardless payment gateway settings,GoCardless ödeme ağ geçidi ayarları,
-Goal and Procedure,Hedef ve Prosedür,
+Go to the Desktop and start using ERPNext,Masaüstüne gidip ERPNext'i kullanmaya başlayabilirsiniz,
+GoCardless SEPA Mandate,GoCardless SEPA Yetkisi,
+GoCardless payment gateway settings,GoCardless ödeme ağ özellikleri ayarları,
+Goal and Procedure,Hedef ve çember,
 Goals cannot be empty,Hedefleri boş olamaz,
 Goods In Transit,Transit Ürünler,
-Goods Transferred,Transfer Edilen Mallar,
-Goods and Services Tax (GST India),Mal ve Hizmet Vergisi (GST India),
-Goods are already received against the outward entry {0},{0} dış girişine karşı ürünler zaten alındı,
+Goods Transferred,Edilen Mallar'ı transfer et,
+Goods and Services Tax (GST India),Mal ve Hizmet Vergisi (GST Hindistan),
+Goods are already received against the outward entry {0},{0} dış girişine karşı ürünler zaten alınmış,
 Government,Devlet,
 Grand Total,Genel Toplam,
-Grant,hibe,
-Grant Application,Hibe başvurusu,
-Grant Leaves,Hibe Yaprakları,
-Grant information.,Bilgi verin.,
+Grant,İzin ver,
+Grant Application,Uygulamaya izin ver,
+Grant Leaves,İzin ver,
+Grant information.,Bilgi ver.,
 Grocery,Bakkal,
-Gross Pay,Brüt ödeme,
-Gross Profit,Brüt kar,
-Gross Profit %,Brüt Kazanç%,
+Gross Pay,Brüt Ödeme,
+Gross Profit,Brüt Kar,
+Gross Profit %,Brüt Kar %,
 Gross Profit / Loss,Brüt Kar / Zarar,
-Gross Purchase Amount,Brüt sipariş tutarı,
-Gross Purchase Amount is mandatory,Brüt sipariş tutarı zorunludur,
-Group by Account,Hesap Grubu,
-Group by Party,Partiye Göre Grup,
-Group by Voucher,Dekont Grubu,
-Group by Voucher (Consolidated),Fişe Göre Grup (Konsolide),
+Gross Purchase Amount,Brüt Alış Tutarı,
+Gross Purchase Amount is mandatory,Brüt Alış Tutarı zorunludur,
+Group by Account,Hesaba göre Gruplandır,
+Group by Party,Cariye göre Gruplandır,
+Group by Voucher,Fişe göre Gruplandır,
+Group by Voucher (Consolidated),Fişe göre Gruplandır (Konsolide),
 Group node warehouse is not allowed to select for transactions,Grup düğüm depo işlemleri için seçmek için izin verilmez,
-Group to Non-Group,Sigara Grup Grup,
-Group your students in batches,gruplar halinde Grup öğrencilerinizin,
+Group to Non-Group,Gruptan Grup Dışına,
+Group your students in batches,gruplar halinde Grup uzantılarınızın,
 Groups,Gruplar,
 Guardian1 Email ID,Guardian1 E-posta Kimliği,
 Guardian1 Mobile No,Guardian1 Mobil yok,
-Guardian1 Name,Guardian1 Adı,
+Guardian1 Name,Veli1 Adı,
 Guardian2 Email ID,Guardian2 E-posta Kimliği,
 Guardian2 Mobile No,Guardian2 Mobil yok,
 Guardian2 Name,Guardian2 Adı,
-Guest,Konuk,
+Guest,Misafir,
 HR Manager,İK Yöneticisi,
 HSN,HSN,
-HSN/SAC,HSN / SAC,
+HSN/SAC,HSN / SAK,
 Half Day,Yarım Gün,
-Half Day Date is mandatory,Yarım Gün Tarih zorunludur,
+Half Day Date is mandatory,Yarım Gün Tarih cezaları,
 Half Day Date should be between From Date and To Date,Yarım Gün Tarih Tarihinden ve Tarihi arasında olmalıdır,
 Half Day Date should be in between Work From Date and Work End Date,"Yarım Gün Tarih, İş Başlangıç Tarihi ile İş Bitiş Tarihi arasında olmalıdır.",
 Half Yearly,Yarım Yıllık,
-Half day date should be in between from date and to date,Yarım gün tarih ile bugünden itibaren arasında olmalıdır,
+Half day date should be in between from date and to date,Yarım gün tarihi ile bugünden itibaren arasında olmalıdır,
 Half-Yearly,Yarı Yıllık,
 Hardware,Donanım,
 Head of Marketing and Sales,Satış ve Pazarlama Müdürü,
-Health Care,Sağlık hizmeti,
-Healthcare,Sağlık hizmeti,
+Health Care,Sağlık Hizmeti,
+Healthcare,Sağlık Hizmeti,
 Healthcare (beta),Sağlık (beta),
 Healthcare Practitioner,Sağlık Uygulayıcısı,
-Healthcare Practitioner not available on {0},Sağlık Uygulayıcısı {0} tarihinde mevcut değil,
+Healthcare Practitioner not available on {0},Sağlık Uygulanıcısı {0} tarihinde mevcut değil,
 Healthcare Practitioner {0} not available on {1},{1} üzerinde Sağlık Uygulayıcısı {0} mevcut değil,
 Healthcare Service Unit,Sağlık Hizmet Birimi,
-Healthcare Service Unit Tree,Sağlık hizmeti birim ağacı,
+Healthcare Service Unit Tree,Sağlık birim ağacı hizmeti,
 Healthcare Service Unit Type,Sağlık Hizmeti Birim Türü,
 Healthcare Services,Sağlık Hizmetleri,
-Healthcare Settings,Sağlık ayarları,
+Healthcare Settings,Sağlık Ayarları,
 Hello,Merhaba,
 Help Results for,Sonuçlar için Yardım,
 High,Yüksek,
 High Sensitivity,Yüksek hassasiyet,
-Hold,Muhafaza et,
-Hold Invoice,Faturayı Tut,
+Hold,Tut/Beklet,
+Hold Invoice,Faturayı Beklet,
 Holiday,Tatil,
 Holiday List,Tatil Listesi,
 Hotel Rooms of type {0} are unavailable on {1},"{1} türündeki Otel Odaları, {1}",
 Hotels,Oteller,
 Hourly,Saatlik,
-Hours,Saatler,
+Hours,Saat,
 House rent paid days overlapping with {0},Konut kirası {0} ile örtüşen günler ödedi,
-House rented dates required for exemption calculation,Muafiyet hesaplaması için gerekli ev kiralama tarihleri,
+House rented dates required for exemption calculation,Muafiyet hesaplaması için gerekli ev kiralama masrafları,
 House rented dates should be atleast 15 days apart,Kiralanan kiralık evlerin en az 15 gün ara olması gerekmektedir.,
 How Pricing Rule is applied?,Fiyatlandırma Kuralı Nasıl Uygulanır?,
 Hub Category,Hub Kategorisi,
 Hub Sync ID,Hub Senkronizasyon Kimliği,
-Human Resource,İnsan kaynakları,
-Human Resources,İnsan kaynakları,
+Human Resource,İnsan Kaynağı,
+Human Resources,İnsan Kaynakları,
 IFSC Code,IFSC Kodu,
 IGST Amount,IGST Tutarı,
 IP Address,IP adresi,
-ITC Available (whether in full op part),ITC Available (tam bölümlerinde olsun),
+ITC Available (whether in full op part),ITC Müsait (tam hüküm olsun),
 ITC Reversed,ITC Tersine Döndü,
 Identifying Decision Makers,Karar Vericileri Tanımlamak,
-"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Otomatik Yanıtlama seçeneği işaretliyse, müşteriler ilgili Bağlılık Programı ile otomatik olarak ilişkilendirilecektir (kaydetme sırasında).",
-"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Birden fazla fiyatlandırma Kuralo hakimse, kullanıcılardan zorunu çözmek için Önceliği elle ayarlamaları istenir",
-"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Seçilen Fiyatlandırma Kuralları &#39;Oran&#39; için yapılmışsa, Ücret Listesinin üzerine yazacaktır. Fiyatlandırma Kuralı oranı son oran, dolayısıyla daha fazla indirim uygulanmamalıdır. Bu nedenle, Satış Siparişi, Satın Alma Siparişi gibi işlemlerde, &#39;Fiyat Listesi Oranı&#39; alanından ziyade &#39;Oran&#39; alanına getirilir.",
-"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","İki ya da daha fazla Fiyatlandırma Kuralları yukarıdaki koşullara dayalı bulundu ise, Öncelik uygulanır. Varsayılan değer sıfır (boş) ise Öncelik 0 ile 20 arasında bir sayıdır. Yüksek numarası aynı koşullarda birden Fiyatlandırma Kuralları varsa o öncelik alacak demektir.",
+"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Otomatik Yanıtlama seçeneği işaretliyse, yürüyüşle ilgili Sadakat Programı ile otomatik olarak bağlantıyı kesecektir (kaydetme sırasında).",
+"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Birden fazla sıralama Kuralo hakimse, kullanıcılardan zorunu geçmek için Önceliği elle ayarlamaları yönlendiriyor",
+"If selected Pricing Rule is made for 'Rate', it will overwrite Price List. Pricing Rule rate is the final rate, so no further discount should be applied. Hence, in transactions like Sales Order, Purchase Order etc, it will be fetched in 'Rate' field, rather than 'Price List Rate' field.","Seçilen Fiyatlandırma Kuralları &#39;Oran&#39; için yapılmışsa, Ücret Listesinin üzerine yazılacaktır. Fiyatlandırma Kuralı oranı son oran, bunlardan daha fazla ceza uygulanmalı. Bu nedenle, Satış Siparişi, Satınalma Siparişi gibi işlemlerde, 'Fiyat Listesi Oranı' alandakin bölümler &#39;Oran&#39; bölgeye alınıyor.",
+"If two or more Pricing Rules are found based on the above conditions, Priority is applied. Priority is a number between 0 to 20 while default value is zero (blank). Higher number means it will take precedence if there are multiple Pricing Rules with same conditions.","İki ya da daha fazla Fiyatlandırma Kuralları alıcılara bağlı olarak bulunuyorsa, Öncelik uygulanır. Varsayılan değer sıfır (boş) ise Öncelik 0 ile 20 arasında bir sayıdır. Yüksek birimi aynı şekilde birden fazla Fiyatlandırma Kuralları varsa o sonucu alacak demektir.",
 "If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Sadakat Puanı için sınırsız süre dolduğunda, Son Kullanım Süresini boş veya 0 olarak tutun.",
 "If you have any questions, please get back to us.","Herhangi bir sorunuz varsa, bize geri almak lütfen.",
 Ignore Existing Ordered Qty,Mevcut Sipariş Miktarını Yoksay,
@@ -1249,59 +1249,59 @@
 Import in Bulk,Toplu İçe Aktar,
 Import of goods,Mal ithalatı,
 Import of services,Hizmet alımı,
-Importing Items and UOMs,Öğeleri ve UOM&#39;leri İçe Aktarma,
+Importing Items and UOMs,Öğeleri ve UOM'leri İçe Aktarma,
 Importing Parties and Addresses,Tarafları ve Adresleri İçe Aktarma,
 In Maintenance,Bakımda,
 In Production,Üretimde,
-In Qty,Miktarında,
-In Stock Qty,Stok adet,
-In Stock: ,Stokta var:,
-In Value,Değer,
+In Qty,Giriş Miktarı,
+In Stock Qty,Stok Miktarı,
+In Stock: ,Stokta var: ,
+In Value,Giriş Maliyeti,
 "In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","Çok katmanlı program söz konusu olduğunda, Müşteriler harcanan esasa göre ilgili kademeye otomatik olarak atanacaktır.",
 Inactive,etkisiz,
 Incentives,Teşvikler,
-Include Default Book Entries,Varsayılan Kitap Girişlerini Dahil Et,
-Include Exploded Items,Patlatılmış Öğeleri Dahil Et,
-Include POS Transactions,POS İşlemlerini Dahil Et,
-Include UOM,UOM&#39;yi dahil et,
+Include Default Book Entries,Varsayılan Defter Girişlerini Dahil et,
+Include Exploded Items,Patlatılmış Öğeleri Dahil et,
+Include POS Transactions,POS İşlemlerini Dahil et,
+Include UOM,Birimi Dahil et,
 Included in Gross Profit,Brüt Kâr Dahil,
 Income,Gelir,
 Income Account,Gelir Hesabı,
-Income Tax,Gelir vergisi,
-Incoming,Alınan,
-Incoming Rate,Gelen oranı,
+Income Tax,Gelir Vergisi,
+Incoming,Gelen,
+Incoming Rate,Gelen Oran,
 Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Yanlış Genel Defter Girdileri bulundu. İşlemde yanlış bir hesap seçmiş olabilirsiniz.,
 Increment cannot be 0,Artım 0 olamaz,
 Increment for Attribute {0} cannot be 0,Attribute için Artım {0} 0 olamaz,
 Indirect Expenses,Dolaylı Giderler,
 Indirect Income,Dolaylı Gelir,
-Individual,bireysel,
+Individual,Bireysel,
 Ineligible ITC,Uygun olmayan ITC,
 Initiated,Başlatılan,
-Inpatient Record,Yatan Kayıt,
+Inpatient Record,Yatan Hasta Kaydı,
 Insert,Ekle,
-Installation Note,Kurulum Not,
-Installation Note {0} has already been submitted,Kurulum Not {0} zaten gönderildi,
+Installation Note,Kurulum Notları,
+Installation Note {0} has already been submitted,Kurulum Notu {0} zaten gönderildi,
 Installation date cannot be before delivery date for Item {0},Kurulum tarih Ürün için teslim tarihinden önce olamaz {0},
-Installing presets,Önayarları yükleme,
+Installing presets,Önayarları yükleniyor,
 Institute Abbreviation,Enstitü Kısaltma,
 Institute Name,Kurum İsmi,
 Instructor,Eğitmen,
-Insufficient Stock,Yetersiz stok,
+Insufficient Stock,Yetersiz Stok,
 Insurance Start date should be less than Insurance End date,Sigorta Başlangıç tarihi Bitiş tarihi Sigortası daha az olmalıdır,
 Integrated Tax,Entegre Vergi,
-Inter-State Supplies,Devletlerarası Tedarikler,
-Interest Amount,Faiz tutarı,
-Interests,İlgi,
+Inter-State Supplies,Ülkeler arası Tedarik,
+Interest Amount,Faiz Tutarı,
+Interests,İlgi Alanları,
 Intern,Stajyer,
 Internet Publishing,İnternet Yayıncılığı,
-Intra-State Supplies,Devlet İçi Malzemeleri,
+Intra-State Supplies,Devlet İçi Malzemeler,
 Introduction,Giriş,
 Invalid Attribute,Geçersiz Özellik,
-Invalid Blanket Order for the selected Customer and Item,Seçilen Müşteri ve Öğe için Geçersiz Battaniye Siparişi,
+Invalid Blanket Order for the selected Customer and Item,Seçilen Müşteri ve Ürün için Geçersiz Açık Sipariş,
 Invalid Company for Inter Company Transaction.,Şirketler Arası İşlem için Geçersiz Şirket.,
 Invalid GSTIN! A GSTIN must have 15 characters.,Geçersiz GSTIN! Bir GSTIN 15 karakterden oluşmalıdır.,
-Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Geçersiz GSTIN! GSTIN&#39;in ilk 2 hanesi {0} durum numarası ile eşleşmelidir.,
+Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Geçersiz GSTIN! GSTIN'in ilk 2 hanesi {0} durum numarası ile eşleşmelidir.,
 Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Geçersiz GSTIN! Girdiğiniz giriş GSTIN biçimiyle eşleşmiyor.,
 Invalid Posting Time,Geçersiz Gönderme Süresi,
 Invalid attribute {0} {1},Geçersiz özellik {0} {1},
@@ -1311,14 +1311,14 @@
 Invalid {0} for Inter Company Transaction.,Şirketler Arası İşlem için geçersiz {0}.,
 Invalid {0}: {1},Geçersiz {0}: {1},
 Inventory,Stok,
-Investment Banking,Yatırım bankacılığı,
+Investment Banking,Yatırım Bankacılığı,
 Investments,Yatırımlar,
 Invoice,Fatura,
 Invoice Created,Oluşturulan Fatura,
 Invoice Discounting,Fatura İndirimi,
 Invoice Patient Registration,Fatura Hasta Kayıt,
 Invoice Posting Date,Fatura Gönderme Tarihi,
-Invoice Type,Fatura türü,
+Invoice Type,Fatura Türü,
 Invoice already created for all billing hours,"Fatura, tüm faturalandırma saatleri için zaten oluşturuldu",
 Invoice can't be made for zero billing hour,"Fatura, sıfır faturalandırma saati için yapılamaz",
 Invoice {0} no longer exists,Fatura {0} artık mevcut değil,
@@ -1326,24 +1326,24 @@
 Invoiced Amount,Faturalanan Tutar,
 Invoices,Faturalar,
 Invoices for Costumers.,Müşteri Faturaları.,
-Inward supplies from ISD,ISD&#39;den ithal malzemeler,
+Inward supplies from ISD,ISD'den ithal malzemeler,
 Inward supplies liable to reverse charge (other than 1 & 2 above),Ters sarj yapmakla yükümlü iç sarf malzemeleri (yukarıdaki 1 ve 2 hariç),
-Is Active,Aktif,
-Is Default,Standart,
-Is Existing Asset,Varlık Mevcut mı,
-Is Frozen,Donmuş,
-Is Group,Grup,
+Is Active,Aktif mi,
+Is Default,Varsayılan mı,
+Is Existing Asset,Varolan Varlık mu,
+Is Frozen,Dondurulmuş mu,
+Is Group,Grup mu,
 Issue,Sorun,
-Issue Material,Sayı Malzeme,
+Issue Material,Sorun Materyali,
 Issued,Veriliş,
 Issues,Sorunlar,
 It is needed to fetch Item Details.,Bu Ürün Detayları getirmesi için gereklidir.,
 Item,Ürün,
-Item 1,Madde 1,
-Item 2,Madde 2,
-Item 3,Madde 3,
-Item 4,Madde 4,
-Item 5,Madde 5,
+Item 1,Öge 1,
+Item 2,Öge 2,
+Item 3,Öge 3,
+Item 4,Öge 4,
+Item 5,Öge 5,
 Item Cart,Ürün Sepeti,
 Item Code,Ürün Kodu,
 Item Code cannot be changed for Serial No.,Ürün Kodu Seri No için değiştirilemez,
@@ -1352,69 +1352,69 @@
 Item Group,Ürün Grubu,
 Item Group Tree,Ürün Grubu Ağacı,
 Item Group not mentioned in item master for item {0},Ürün {0} içim Ürün alanında Ürün grubu belirtilmemiş,
-Item Name,Öğe adı,
+Item Name,Ürün Adı,
 Item Price added for {0} in Price List {1},{0} için fiyat kartı oluşturuldu (Fiyat Listesi {1}),
 "Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Ürün Fiyatı, Fiyat Listesi, Tedarikçi / Müşteri, Para Birimi, Öğe, UOM, Miktar ve Tarihlere göre birden çok kez görüntülenir.",
 Item Price updated for {0} in Price List {1},Ürün Fiyatı {0} Fiyat Listesi için güncellenmiş {1},
-Item Row {0}: {1} {2} does not exist in above '{1}' table,"Öğe Satırı {0}: {1} {2}, yukarıdaki &#39;{1}&#39; tablosunda mevcut değil",
+Item Row {0}: {1} {2} does not exist in above '{1}' table,"Öğe Satırı {0}: {1} {2}, yukarıdaki '{1}' tablosunda mevcut değil",
 Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Ürün Vergi Satırı {0} Vergi Gelir Gider veya Ödenebilir türde hesabı olmalıdır.,
 Item Template,Öğe Şablonu,
-Item Variant Settings,Öğe Varyant Ayarları,
+Item Variant Settings,Öge Varyant Ayarları,
 Item Variant {0} already exists with same attributes,Öğe Variant {0} zaten aynı özelliklere sahip bulunmaktadır,
 Item Variants,Öğe Türevleri,
 Item Variants updated,Öğe Varyantları güncellendi,
-Item has variants.,Öğe varyantları vardır.,
-Item must be added using 'Get Items from Purchase Receipts' button,Ürün düğmesi 'satın alma makbuzlarını Öğeleri alın' kullanılarak eklenmelidir,
-Item valuation rate is recalculated considering landed cost voucher amount,Ürün değerlemesi bindirilmiş maliyetlerle tekrar hesaplandı,
-Item variant {0} exists with same attributes,Ürün çeşidi {0} aynı özelliklere sahip bulunmaktadır,
-Item {0} does not exist,Ürün {0} yoktur,
-Item {0} does not exist in the system or has expired,Ürün {0} sistemde yoktur veya süresi dolmuştur,
+Item has variants.,Öğe varyantlara sahip.,
+Item must be added using 'Get Items from Purchase Receipts' button,Ürün kumandası 's alma makbuzlarını Öğeleri alın' kullanılarak eklenmelidir,
+Item valuation rate is recalculated considering landed cost voucher amount,Ürün değerleme oranı yüklenen maliyet fişi tutarı dikkate alınarak yeniden hesaplanır,
+Item variant {0} exists with same attributes,Ürün çeşidi {0} aynı büyümeye sahip bulunmaktadır,
+Item {0} does not exist,Ürün {0} yok,
+Item {0} does not exist in the system or has expired,Ürün {0} sistemi yoktur veya süresi dolmuştur,
 Item {0} has already been returned,Ürün {0} zaten iade edilmiş,
 Item {0} has been disabled,{0} devredışı bırakılmış,
-Item {0} has reached its end of life on {1},Ürün {0} {1}de kullanım ömrünün sonuna gelmiştir.,
-Item {0} ignored since it is not a stock item,Stok ürünü olmadığından Ürün {0} yok sayıldı,
+Item {0} has reached its end of life on {1},Ürün {0} {1}de kullanım süresinin sonuna gelmiştir.,
+Item {0} ignored since it is not a stock item,Stok ürün arızası Ürün {0} yok sayıldı,
 "Item {0} is a template, please select one of its variants","{0} Öğe bir şablon, türevleri birini seçiniz",
 Item {0} is cancelled,Ürün {0} iptal edildi,
 Item {0} is disabled,Öğe {0} devre dışı,
 Item {0} is not a serialized Item,Ürün {0} bir seri Ürün değildir,
 Item {0} is not a stock Item,Ürün {0} bir stok ürünü değildir,
-Item {0} is not active or end of life has been reached,Ürün {0} aktif değil veya kullanım ömrünün sonuna gelindi,
-Item {0} is not setup for Serial Nos. Check Item master,"Ürün {0} Seri No Kontrol ürünü değildir, Ürün alanını kontrol ediniz",
-Item {0} is not setup for Serial Nos. Column must be blank,Ürün {0} Seri No kurulumu değildir. Sütun boş bırakılmalıdır,
+Item {0} is not active or end of life has been reached,Ürün {0} aktif değil veya kullanım süresinin sonuna gelindi,
+Item {0} is not setup for Serial Nos. Check Item master,"Ürün {0} Seri No Kontrol Ürünü Değildir, Ürünü Kapatınız",
+Item {0} is not setup for Serial Nos. Column must be blank,Ürün {0} Seri Kurulum yok. Sütün boş bırakılmalıdır,
 Item {0} must be a Fixed Asset Item,Öğe {0} Sabit Kıymet Öğe olmalı,
 Item {0} must be a Sub-contracted Item,Ürün {0} bir taşeron ürünü olmalıdır,
-Item {0} must be a non-stock item,{0} stok korunmayan ürün olmalıdır,
+Item {0} must be a non-stock item,{0} stok muhafazayan ürün olmalıdır,
 Item {0} must be a stock Item,Ürün {0} bir stok ürünü olmalıdır,
 Item {0} not found,Ürün {0} bulunamadı,
-Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Satın Alma Emri &#39;Hammadde Tedarik&#39; tablosunda bulunamadı Item {0} {1},
-Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Öğe {0}: Sıralı qty {1} minimum sipariş qty {2} (Öğe tanımlanan) daha az olamaz.,
-Item: {0} does not exist in the system,Ürün: {0} sistemde mevcut değil,
+Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Satınalma Emri &#39;Hammadde Tedarik&#39; Tabloda bulunamayan Öğe {0} {1},
+Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Öğe {0}: Sıralı adet {1} minimum sipariş adet {2} (Öğe tanımlanan) daha az olamaz.,
+Item: {0} does not exist in the system,Ürün: {0} sistemi mevcut değil,
 Items,Ürünler,
-Items Filter,Öğeler Filtre,
+Items Filter,Öğeler Filtresi,
 Items and Pricing,Öğeler ve Fiyatlandırma,
 Items for Raw Material Request,Hammadde Talebi için Öğeler,
-Job Card,İş kartı,
-Job Description,İş tanımı,
-Job Offer,İş teklifi,
-Job card {0} created,İş kartı {0} oluşturuldu,
+Job Card,İş Kartı,
+Job Description,İş Tanımı,
+Job Offer,İş Teklifi,
+Job card {0} created,İş Kartı {0} oluşturuldu,
 Jobs,İşler,
-Join,Birleştir,
-Journal Entries {0} are un-linked,Dergi Girişler {0}-un bağlı olduğu,
-Journal Entry,Kayıt Girdisi,
-Journal Entry {0} does not have account {1} or already matched against other voucher,Günlük girdisi {0} {1} ya da zaten başka bir çeki karşı eşleşen hesabınız yok,
+Join,Katıl,
+Journal Entries {0} are un-linked,Yevmiye Kayıtları {0}-un bağlı olduğu,
+Journal Entry,Yevmiye Kaydı,
+Journal Entry {0} does not have account {1} or already matched against other voucher,Yevmiye Kaydı {0} {1} ya da zaten başka bir çeki karşı toplantıları yok,
 Kanban Board,Kanban Kurulu,
 Key Reports,Anahtar Raporlar,
 LMS Activity,LMS Etkinliği,
-Lab Test,Laboratuvar testi,
-Lab Test Report,Lab Test Raporu,
+Lab Test,Laboratuvar Testi,
+Lab Test Report,Laboratuvar Test Raporu,
 Lab Test Sample,Laboratuvar Testi Örneği,
-Lab Test Template,Lab Test Şablonu,
-Lab Test UOM,Laboratuvar Testi UOM,
+Lab Test Template,Laboratuvar Testi Şablonu,
+Lab Test UOM,Laboratuvar Testi Birimi,
 Lab Tests and Vital Signs,Laboratuar Testleri ve Hayati İşaretler,
 Lab result datetime cannot be before testing datetime,"Lab sonuç datetime, datetime testinden önce olamaz",
-Lab testing datetime cannot be before collection datetime,"Laboratuvar testi tarih saati, toplama tarihinden önce olamaz",
+Lab testing datetime cannot be before collection datetime,"Laboratuvar test tarih saati, toplama işlemi önce olamaz",
 Label,Etiket,
-Laboratory,laboratuvar,
+Laboratory,Laboratuvar,
 Language Name,Dil Adı,
 Large,Büyük,
 Last Communication,Son İletişim,
@@ -1422,286 +1422,286 @@
 Last Name,Soyadı,
 Last Order Amount,Son Sipariş Miktarı,
 Last Order Date,Son Sipariş Tarihi,
-Last Purchase Price,Son Satın Alma Fiyatı,
+Last Purchase Price,Son Satınalma Fiyatı,
 Last Purchase Rate,Son Satış Fiyatı,
-Latest,son,
-Latest price updated in all BOMs,Tüm BOM&#39;larda güncellenen son fiyat,
-Lead,Potansiyel Müşteri,
+Latest,Son,
+Latest price updated in all BOMs,Tüm BOM'larda güncellenen son fiyat,
+Lead,Müşteri Adayı,
 Lead Count,Müşteri Adayı Sayısı,
-Lead Owner,Potansiyel Müşteri Sahibi,
+Lead Owner,Müşteri Adayı Sahibi,
 Lead Owner cannot be same as the Lead,Müşteri Aday Kaydı Sahibi Müşteri Adayı olamaz,
 Lead Time Days,Teslim zamanı Günü,
-Lead to Quotation,Teklif yol,
-"Leads help you get business, add all your contacts and more as your leads","İlanlar iş, tüm kişileri ve daha fazla potansiyel müşteri olarak eklemek yardımcı",
-Learn,Öğrenin,
-Leave Approval Notification,Onay Bildirimini Bırak,
-Leave Blocked,İzin engellendi,
-Leave Encashment,Tahsil bırakın,
-Leave Management,Yönetim bırakın,
-Leave Status Notification,Durum Bildirimini Bırak,
-Leave Type,İzin Tipi,
-Leave Type is madatory,İzin Türü madatory,
-Leave Type {0} cannot be allocated since it is leave without pay,o ödeme olmadan terk beri Türü {0} tahsis edilemez bırakın,
-Leave Type {0} cannot be carry-forwarded,{0} carry-iletilmesine olamaz Type bırakın,
+Lead to Quotation,Müşteri Adayından Teklif Oluştur,
+"Leads help you get business, add all your contacts and more as your leads","Potansiyel müşteriler iş almanıza, tüm kişilerinizi ve daha fazlasını potansiyel müşteri adayı olarak eklemenize yardımcı olur",
+Learn,Öğren,
+Leave Approval Notification,İzin Onay Bildirimi,
+Leave Blocked,İzin Engellendi,
+Leave Encashment,İzin Paraya çevirme,
+Leave Management,İzin Yönetimi,
+Leave Status Notification,İzin Durum Bildirimi,
+Leave Type,İzin Türü,
+Leave Type is madatory,İzin Türü,
+Leave Type {0} cannot be allocated since it is leave without pay,o ödeme yapmadan terk beri Türü {0} tahsisi gereksiz bırakın,
+Leave Type {0} cannot be carry-forwarded,{0} carry-ilet çocuklar olamaz Type bırakın,
 Leave Type {0} is not encashable,{0} Türü Ayrılma özelliği değiştirilemez,
-Leave Without Pay,Ücretsiz İzin,
-Leave and Attendance,Bırakın ve Seyirci,
-Leave application {0} already exists against the student {1},{1} öğrencisine karşı {0} uygulamasını zaten bırakın,
-"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Önce tahsis edilemez bırakın {0}, izin dengesi zaten carry iletilen gelecek izin tahsisi kayıtlarında olduğu gibi {1}",
-"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Izin dengesi zaten carry iletilen gelecek izin tahsisi kayıtlarında olduğu gibi, daha önce {0} iptal / tatbik edilemez bırakın {1}",
-Leave of type {0} cannot be longer than {1},Tip{0} izin  {1}'den uzun olamaz,
-Leaves,Yapraklar,
-Leaves Allocated Successfully for {0},İzinler {0} için başarıyla tahsis edildi,
-Leaves has been granted sucessfully,Yapraklar başarıyla verildi,
-Leaves must be allocated in multiples of 0.5,İzinler 0.5 katlanarak tahsis edilmelidir,
-Leaves per Year,Yıl başına bırakır,
-Ledger,defteri kebir,
+Leave Without Pay,Ücretsiz izin,
+Leave and Attendance,Puantaj ve İzin,
+Leave application {0} already exists against the student {1},{1} öğrencine karşı {0} çalışanı zaten bırak,
+"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Öncelik tahsis edememek izin {0}, izin özellikleri zaten devredilen gelecek izin tahsisi kayıtlarında olduğu gibi {1}",
+"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","İzin yapısı zaten devredilen gelecek izin tahsisi kayıtlarında olduğu gibi, daha önce {0} iptal / tatbik etmek anlamsız bırakın {1}",
+Leave of type {0} cannot be longer than {1},{0} türündeki izin, {1}'den uzun olamaz,
+Leaves,İzinler,
+Leaves Allocated Successfully for {0},{0} için Başarıyla Tahsis Edilen İzinler,
+Leaves has been granted sucessfully,İzinler başarıyla verildi,
+Leaves must be allocated in multiples of 0.5,İzinler 0,5'in katları şeklinde tahsis edilmelidir,
+Leaves per Year,Yıllık İzin,
+Ledger,Defteri Kebir,
 Legal,Yasal,
-Legal Expenses,Yasal giderler,
+Legal Expenses,Yasal Giderler,
 Letter Head,Antetli Kağıt,
 Letter Heads for print templates.,Baskı şablonları için antetli kağıtlar,
 Level,Seviye,
 Liability,Borç,
 License,Lisans,
 Lifecycle,Yaşam döngüsü,
-Limit,sınır,
-Limit Crossed,sınır Çapraz,
-Link to Material Request,Malzeme İsteğine Bağlantı,
+Limit,Limit,
+Limit Crossed,Limit Çapraz,
+Link to Material Request,Malzeme Talebi Bağlantısı,
 List of all share transactions,Tüm hisse senedi işlemlerinin listesi,
 List of available Shareholders with folio numbers,Folio numaraları ile mevcut Hissedarların listesi,
 Loading Payment System,Ödeme Sistemi Yükleniyor,
-Loan,borç,
+Loan,Kredi,
 Loan Amount cannot exceed Maximum Loan Amount of {0},Kredi Miktarı Maksimum Kredi Tutarı geçemez {0},
-Loan Application,Kredi başvurusu,
+Loan Application,Kredi Başvurusu,
 Loan Management,Kredi Yönetimi,
-Loan Repayment,Kredi geri ödeme,
+Loan Repayment,Kredi Geri Ödemesi,
 Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Fatura İndirimi’nin kaydedilmesi için Kredi Başlangıç Tarihi ve Kredi Süresi zorunludur,
 Loans (Liabilities),Krediler (Yükümlülükler),
 Loans and Advances (Assets),Krediler ve Avanslar (Varlıklar),
 Local,Yerel,
-Log,Giriş,
+Log,Log,
 Logs for maintaining sms delivery status,Sms teslim durumunu korumak için günlükleri,
-Lost,Kayıp,
-Lost Reasons,Kayıp Sebepler,
+Lost,Kaybedildi,
+Lost Reasons,Kayıp Nedenleri,
 Low,Düşük,
 Low Sensitivity,Düşük Hassasiyet,
 Lower Income,Alt Gelir,
-Loyalty Amount,Bağlılık Tutarı,
-Loyalty Point Entry,Bağlılık Noktası Girişi,
-Loyalty Points,Sadakat puanları,
-"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Sadakat Puanları, belirtilen tahsilat faktörüne göre harcanan tutardan (Satış Faturası aracılığıyla) hesaplanacaktır.",
+Loyalty Amount,Sadakat Tutarı,
+Loyalty Point Entry,Sadakat Puanı Girişi,
+Loyalty Points,Sadakat Puanları,
+"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Sadakat Puanları, belirtilen tahsilat factorne göre harcanan tutarlardan (Satış Faturası yoluyla) hesaplanacaktır.",
 Loyalty Points: {0},Sadakat Puanları: {0},
-Loyalty Program,Sadakat programı,
-Main,Ana,
+Loyalty Program,Sadakat Programı,
+Main,Main,
 Maintenance,Bakım,
 Maintenance Log,Bakım Günlüğü,
-Maintenance Manager,Bakım Müdürü,
-Maintenance Schedule,Bakım programı,
+Maintenance Manager,Bakım Yöneticisi,
+Maintenance Schedule,Bakım Programı,
 Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Bakım Programı bütün Ürünler için oluşturulmamıştır. Lütfen 'Program Oluştura' tıklayın,
 Maintenance Schedule {0} exists against {1},{1} ile ilgili Bakım Çizelgesi {0} var,
 Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Bakım Programı {0} bu Satış Emri iptal edilmeden önce iptal edilmelidir,
 Maintenance Status has to be Cancelled or Completed to Submit,Bakım Durumu İptal Edildi veya Gönderilmesi Tamamlandı,
 Maintenance User,Bakımcı Kullanıcı,
-Maintenance Visit,Bakım ziyareti,
+Maintenance Visit,Bakım Ziyareti,
 Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Bakım Ziyareti {0} bu Satış Emri iptal edilmeden önce iptal edilmelidir,
 Maintenance start date can not be before delivery date for Serial No {0},Seri No {0} için bakım başlangıç tarihi teslim tarihinden önce olamaz,
 Make,Oluştur,
-Make Payment,Ödeme yapmak,
+Make Payment,Ödeme Yap,
 Make project from a template.,Bir şablondan proje yapın.,
-Making Stock Entries,Stok Girişleri Yapımı,
+Making Stock Entries,Stok Hareketi Yap,
 Male,Erkek,
 Manage Customer Group Tree.,Müşteri Grupbu Ağacını Yönetin.,
 Manage Sales Partners.,Satış Ortaklarını Yönetin.,
 Manage Sales Person Tree.,Satış Elemanı Ağacını Yönetin.,
 Manage Territory Tree.,Bölge Ağacını Yönetin.,
-Manage your orders,Siparişlerinizi yönetin,
-Management,yönetim,
-Manager,yönetici,
-Managing Projects,Projeleri Yönetme,
-Managing Subcontracting,Yönetme Taşeronluk,
+Manage your orders,Siparişlerinizi Yönetin,
+Management,Yönetim,
+Manager,Yönetici,
+Managing Projects,Proje Yönetimi,
+Managing Subcontracting,Taşeron Yönetimi,
 Mandatory,Zorunlu,
 Mandatory field - Academic Year,Zorunlu alan - Akademik Yıl,
-Mandatory field - Get Students From,Zorunlu alan - Öğrencileri Alın,
+Mandatory field - Get Students From,Zorunlu alan - Öğrencileri Al,
 Mandatory field - Program,Zorunlu alan - Program,
-Manufacture,üretim,
+Manufacture,Üretim,
 Manufacturer,Üretici,
-Manufacturer Part Number,Üretici kısım numarası,
+Manufacturer Part Number,Üretici Parça Numarası,
 Manufacturing,Üretim,
 Manufacturing Quantity is mandatory,Üretim Miktarı zorunludur,
-Mapping,haritalama,
+Mapping,Eşleme,
 Mapping Type,Eşleme Türü,
-Mark Absent,Gelmedi işaretle,
-Mark Attendance,Seyirci İzleme,
-Mark Half Day,Yarım Gün İşaretle,
-Mark Present,Mevcut İşaretle,
+Mark Absent,Yok olarak İşaretle,
+Mark Attendance,Katılım olarak İşaretle,
+Mark Half Day,Yarım Gün olarak İşaretle,
+Mark Present,Mevcut olarak İşaretle,
 Marketing,Pazarlama,
-Marketing Expenses,Pazarlama giderleri,
+Marketing Expenses,Pazarlama Giderleri,
 Marketplace,Pazaryeri,
-Marketplace Error,Marketplace Hatası,
-Masters,Alanlar,
+Marketplace Error,Pazaryeri Hatası,
+Masters,Masters,
 Match Payments with Invoices,Faturalar ile maç Ödemeleri,
-Match non-linked Invoices and Payments.,Bağlantısız Faturaları ve Ödemeleri eşleştirin.,
+Match non-linked Invoices and Payments.,Bağlantısız Faturaları ve Ödemeleri eşleştirme.,
 Material,Malzeme,
-Material Consumption,Malzeme tüketimi,
-Material Consumption is not set in Manufacturing Settings.,Malzeme Ayarları Üretim Ayarları&#39;nda ayarlanmamıştır.,
+Material Consumption,Malzeme Tüketimi,
+Material Consumption is not set in Manufacturing Settings.,Malzeme Ayarları Üretim Ayarları'nda ayarlanmamıştır.,
 Material Receipt,Malzeme Alındısı,
-Material Request,Malzeme talebi,
+Material Request,Malzeme Talebi,
 Material Request Date,Malzeme Talep Tarihi,
 Material Request No,Malzeme Talebi No,
-"Material Request not created, as quantity for Raw Materials already available.","Zaten mevcut olan Hammadde miktarı olarak, Malzeme Talebi yaratılmadı.",
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Maksimum {0} Malzeme Talebi Malzeme {1} için Satış Emri {2} karşılığında yapılabilir,
+"Material Request not created, as quantity for Raw Materials already available.","Zaten var olan Hammadde miktarı olarak, Malzeme Talebi yaratılmadı.",
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Maksimum {0} Malzeme Talebi Malzeme {1} için Satış Siparişi {2} yapılabilir,
 Material Request to Purchase Order,Satınalma Siparişi Malzeme Talebi,
 Material Request {0} is cancelled or stopped,Malzeme Talebi {0} iptal edilmiş veya durdurulmuştur,
-Material Request {0} submitted.,{0} Malzeme İsteği gönderildi.,
+Material Request {0} submitted.,{0} Malzeme Talebi gönderildi.,
 Material Transfer,Malzeme Transferi,
-Material Transferred,Transfer Edilen Malzeme,
-Material to Supplier,Tedarikçi Malzeme,
-Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},"Azami Muafiyet Tutarı, {1} Vergi Muafiyeti Kategorisi {1} azami muafiyet tutarından fazla olamaz.",
+Material Transferred,Edilen Malzeme Transferi,
+Material to Supplier,Tedarikçi için Malzeme,
+Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},"Azami Muafiyet Tutarı, {1} Vergi Muafiyeti Kategorisi {1} azami muafiyet yöneticilerinden fazla olamaz.",
 Max benefits should be greater than zero to dispense benefits,"Maksimum faydalar, faydaları dağıtmak için sıfırdan büyük olmalıdır",
-Max discount allowed for item: {0} is {1}%,Malzeme {0 }için izin verilen maksimum indirim} {1}%,
-Max: {0},Max: {0},
+Max discount allowed for item: {0} is {1}%,Malzeme {0}için izin verilen maksimum indirim} %{1},
+Max: {0},Maks: {0},
 Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,"Maksimum Örnekler - {0}, Toplu İş {1} ve Madde {2} için tutulabilir.",
-Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,"Maksimum Örnekler - {0}, Toplu İş {1} ve Öğe {2} için Toplu İş Alma İşlemi {3} içinde zaten tutuldu.",
-Maximum amount eligible for the component {0} exceeds {1},{0} bileşenine uygun maksimum tutar {1} değerini aşıyor,
-Maximum benefit amount of component {0} exceeds {1},{0} bileşeninin maksimum fayda miktarı {1} değerini aşıyor,
+Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,"Maksimum Örnekler - {0}, Toplu İş {1} ve Öğe {2} için Toplu İş Alma İşlemi {3} içinde zaten tutulmuştur.",
+Maximum amount eligible for the component {0} exceeds {1},{0}yapıya uygun maksimum tutarlar {1} değerini aşıyor,
+Maximum benefit amount of component {0} exceeds {1},{0}yapının maksimum fayda miktarı {1} değerini aşıyor,
 Maximum benefit amount of employee {0} exceeds {1},{0} çalışanının maksimum fayda miktarı {1} değerini aşıyor,
-Maximum discount for Item {0} is {1}%,{0} Öğesi için maksimum indirim {1}%,
-Maximum leave allowed in the leave type {0} is {1},{0} izin türünde izin verilen maksimum izin {1},
+Maximum discount for Item {0} is {1}%,{0} Öğesi için maksimum indirim %{1},
+Maximum leave allowed in the leave type {0} is {1},{0} izin türü izin verilen maksimum izin {1},
 Medical,Tıbbi,
 Medical Code,Tıbbi kod,
 Medical Code Standard,Tıbbi Kod Standardı,
-Medical Department,Tıp Departmanı,
+Medical Department,Tıp Bölümü,
 Medical Record,Tıbbi kayıt,
 Medium,Orta,
-Meeting,Toplantı,
+Meeting,toplantı,
 Member Activity,Üye Etkinliği,
 Member ID,Kullanıcı Kimliği,
-Member Name,Üye adı,
-Member information.,Üye bilgisi.,
+Member Name,Üye Adı,
+Member information.,Üye Bilgisi.,
 Membership,Üyelik,
 Membership Details,Üyelik Detayları,
 Membership ID,Üyelik Kimliği,
-Membership Type,üyelik tipi,
-Memebership Details,Memebership Detayları,
-Memebership Type Details,Memebership Türü Ayrıntılar,
-Merge,birleşmek,
-Merge Account,Hesabı Birleştir,
+Membership Type,Üyelik Tipi,
+Memebership Details,Üyelik Detayları,
+Memebership Type Details,Üyelik Türü Ayrıntıları,
+Merge,Birleştir,
+Merge Account,Hesap Birleştir,
 Merge with Existing Account,Mevcut Hesapla Birleştir,
-"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Aşağıdaki özelliklerin her ikisi, kayıtlarında aynı ise birleştirme mümkündür. Grup, Kök tipi, Şirket",
+"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Aşağıdaki özelliklerden her ikisi, kayıtlarında aynı ise birleştirme mümkündür. Grup, Kök tipi, Şirket",
 Message Examples,Mesaj Örnekleri,
-Message Sent,Gönderilen Mesaj,
+Message Sent,Mesaj Gönderildi,
 Method,Yöntem,
-Middle Income,Orta gelir,
-Middle Name,İkinci ad,
-Middle Name (Optional),İkinci ad (İsteğe bağlı),
-Min Amt can not be greater than Max Amt,"Min Amt, Max Amt&#39;tan büyük olamaz",
+Middle Income,Orta Gelir,
+Middle Name,İkinci Adı,
+Middle Name (Optional),İkinci Ad (İsteğe bağlı),
+Min Amt can not be greater than Max Amt,"Min Amt, Max Amttan büyük olamaz",
 Min Qty can not be greater than Max Qty,Minimum Miktar Maksimum Miktardan Fazla olamaz,
-Minimum Lead Age (Days),Minimum Müşteri Aday Kaydı Yaşı (Gün),
+Minimum Lead Age (Days),Minimum Müşteri Aday Kayı Yaşı (Gün),
 Miscellaneous Expenses,Çeşitli Giderler,
 Missing Currency Exchange Rates for {0},Eksik Döviz Kurları {0},
 Missing email template for dispatch. Please set one in Delivery Settings.,Sevk için e-posta şablonu eksik. Lütfen Teslimat Ayarları&#39;nda bir tane ayarlayın.,
 "Missing value for Password, API Key or Shopify URL","Şifre, API Anahtarı veya Shopify URL için eksik değer",
-Mode of Payment,Ödeme şekli,
-Mode of Payments,Ödemeler Modu,
-Mode of Transport,Ulaşım modu,
+Mode of Payment,Ödeme Şekli,
+Mode of Payments,Ödemeler Şekli,
+Mode of Transport,Ulaşım Şekli,
 Mode of Transportation,Ulaşım Şekli,
 Mode of payment is required to make a payment,Ödeme Modu ödeme yapmak için gereklidir,
-Model,model,
+Model,Modeli,
 Moderate Sensitivity,Orta hassasiyet,
 Monday,Pazartesi,
 Monthly,Aylık,
 Monthly Distribution,Aylık Dağılımı,
 Monthly Repayment Amount cannot be greater than Loan Amount,Aylık Geri Ödeme Tutarı Kredi Miktarı daha büyük olamaz,
 More,Daha fazla,
-More Information,Daha fazla bilgi,
+More Information,Daha Fazla Bilgi,
 More than one selection for {0} not allowed,{0} için birden fazla seçime izin verilmiyor,
 More...,Daha...,
-Motion Picture & Video,Motion Picture & Video,
-Move,Hareket,
-Move Item,Taşı Öğe,
-Multi Currency,Çoklu Para Birimi,
+Motion Picture & Video,Sinema Filmi ve Video,
+Move,Taşı,
+Move Item,Öğe Taşı,
+Multi Currency,Çokluk Para Birimi,
 Multiple Item prices.,Çoklu Ürün fiyatları.,
-Multiple Loyalty Program found for the Customer. Please select manually.,Müşteri için Çoklu Bağlılık Programı bulundu. Lütfen manuel olarak seçiniz.,
-"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Çoklu Fiyat Kuralları aynı kriterler ile var, öncelik atayarak çatışma çözmek lütfen. Fiyat Kuralları: {0}",
+Multiple Loyalty Program found for the Customer. Please select manually.,Müşteri için Çokluk Sadakat Programı bulundu. Lütfen manuel olarak seçiniz.,
+"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Çoklu Fiyat Kuralları aynı kriterler ile var, kesinlikle atayarak çatışmayın lütfen. Fiyat Kuralları: {0}",
 Multiple Variants,Çoklu Varyantlar,
 Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,{0} tarihi için birden fazla mali yıl bulunuyor. Lütfen firma için mali yıl tanımlayınız.,
 Music,Müzik,
 My Account,Hesabım,
-Name error: {0},Adı hatası: {0},
+Name error: {0},İsim hatası: {0},
 Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Yeni Hesabın Adı. Not: Müşteriler ve Tedarikçiler için hesap oluşturmayın,
-Name or Email is mandatory,Adı veya E-posta zorunludur,
+Name or Email is mandatory,Adı veya E-posta koruyucuları,
 Nature Of Supplies,Malzemelerin Doğası,
-Navigating,gezinme,
+Navigating,Gezinme,
 Needs Analysis,İhtiyaç Analizi,
 Negative Quantity is not allowed,Negatif Miktara izin verilmez,
-Negative Valuation Rate is not allowed,Negatif Değerleme Br.Fiyatına izin verilmez,
+Negative Valuation Rate is not allowed,Negatif Değerleme Oranına izin verilmez,
 Negotiation/Review,Müzakere / İnceleme,
 Net Asset value as on,Net Aktif değeri olarak,
-Net Cash from Financing,Finansman Sağlanan Net Nakit,
-Net Cash from Investing,Yatırım Kaynaklanan Net Nakit,
-Net Cash from Operations,Faaliyetlerden Kaynaklanan Net Nakit,
-Net Change in Accounts Payable,Borç Hesapları Net Değişim,
-Net Change in Accounts Receivable,Alacak Hesapları Net Değişim,
+Net Cash from Financing,Finansmandan Elde Edilen Net Nakit,
+Net Cash from Investing,Yatırımdan Elde Edilen Net Nakit,
+Net Cash from Operations,Faaliyetlerden Elde Edilen Net Nakit,
+Net Change in Accounts Payable,Borç Hesabı Net Değişim,
+Net Change in Accounts Receivable,Alacak Hesabı Net Değişim,
 Net Change in Cash,Nakit Net Değişim,
 Net Change in Equity,Özkaynak Net Değişim,
-Net Change in Fixed Asset,Sabit Varlık Net Değişim,
+Net Change in Fixed Asset,Sabit Kıymet Net Değişim,
 Net Change in Inventory,Envanter Net Değişim,
 Net ITC Available(A) - (B),Net ITC Mevcut (A) - (B),
-Net Pay,Net ödeme,
+Net Pay,Net Ödeme,
 Net Pay cannot be less than 0,Net Ücret az 0 olamaz,
-Net Profit,Net kazanç,
+Net Profit,Net Kazanç,
 Net Salary Amount,Net Maaş Tutarı,
-Net Total,Net toplam,
+Net Total,Net Toplam,
 Net pay cannot be negative,Net ödeme negatif olamaz,
 New Account Name,Yeni Hesap Adı,
-New Address,Yeni adres,
-New BOM,Yeni BOM,
+New Address,Yeni Adres,
+New BOM,Yeni Ürün Ağacı,
 New Batch ID (Optional),Yeni Toplu İşlem Kimliği (İsteğe Bağlı),
 New Batch Qty,Yeni Toplu İşlem Miktarı,
-New Company,Yeni şirket,
+New Company,Yeni Şirket,
 New Cost Center Name,Yeni Maliyet Merkezi Adı,
-New Customer Revenue,Yeni Müşteri Gelir,
-New Customers,yeni müşteriler,
-New Department,Yeni bölüm,
-New Employee,Yeni çalışan,
-New Location,Yeni konum,
-New Quality Procedure,Yeni Kalite Prosedürü,
+New Customer Revenue,Yeni Müşteri Geliri,
+New Customers,Yeni Müşteriler,
+New Department,Yeni Departman,
+New Employee,Yeni Çalışan,
+New Location,Yeni Konum,
+New Quality Procedure,Yeni Kalite hükümleri,
 New Sales Invoice,Yeni Satış Faturası,
 New Sales Person Name,Yeni Satış Kişi Adı,
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Yeni Seri No Warehouse olamaz. Depo Stok girişiyle veya alım makbuzuyla ayarlanmalıdır,
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Yeni Seri Deposuz olamaz. Depo Stok Hareketi ile veya alım makbuzuyla ayarlanmalıdır,
 New Warehouse Name,Yeni Depo Adı,
 New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Yeni kredi limiti müşteri için geçerli kalan miktar daha azdır. Kredi limiti en az olmak zorundadır {0},
-New task,Yeni görev,
-New {0} pricing rules are created,Yeni {0} fiyatlandırma kuralları oluşturuldu,
-Newsletters,Haber bültenleri,
+New task,yeni görev,
+New {0} pricing rules are created,Yeni {0} fiyatlandırma kuralları,
+Newsletters,Haber Bültenleri,
 Newspaper Publishers,Gazete Yayıncıları,
-Next,İleri,
+Next,Sonraki,
 Next Contact By cannot be same as the Lead Email Address,Sonraki İletişim Sorumlusu Müşteri Aday Kaydının E-posta Adresi ile aynı olamaz,
-Next Contact Date cannot be in the past,Sonraki İletişim Tarih geçmişte olamaz,
-Next Steps,Sonraki adımlar,
-No Action,Hiçbir eylem,
+Next Contact Date cannot be in the past,Sonraki İletişim Tarihi olamaz,
+Next Steps,Sonraki Adımlar,
+No Action,İşlem yok,
 No Customers yet!,Henüz müşteri yok!,
-No Data,Hiçbir veri,
-No Delivery Note selected for Customer {},Müşteri için {} dağıtım Notu seçilmedi,
+No Data,Hiç Veri yok,
+No Delivery Note selected for Customer {},Müşteri için {} dağıtım Notu çalıştırmadı,
 No Employee Found,Çalışan Bulunamadı,
 No Item with Barcode {0},Barkodlu Ürün Yok {0},
 No Item with Serial No {0},Seri Numaralı Ürün Yok {0},
-No Items available for transfer,Hayır Öğeler transfer için kullanılabilir,
-No Items selected for transfer,Transfer için hiçbir öğe seçilmedi,
-No Items to pack,Ambalajlanacak Ürün Yok,
+No Items available for transfer,Hayır Öğeler aktarımı için kullanılabilir,
+No Items selected for transfer,Transfer için hiçbir öğe düşünülmedi,
+No Items to pack,Ambalaj Ürün Yok Olacak,
 No Items with Bill of Materials to Manufacture,Malzeme Listesine Öğe Yok İmalat için,
 No Items with Bill of Materials.,Malzeme Listesi ile Öğe Yok.,
 No Permission,İzin yok,
-No Remarks,Hiçbir Açıklamalar,
+No Remarks,Remark yok,
 No Result to submit,Gönderilecek Sonuç Yok,
-No Salary Structure assigned for Employee {0} on given date {1},{1} belirli bir tarihte Çalışana {0} atanan Maaş Yapısı yok,
-No Staffing Plans found for this Designation,Bu tayin için hiçbir personel planı bulunamadı,
-No Student Groups created.,Hiçbir Öğrenci Grupları oluşturuldu.,
-No Students in,Içinde öğrenci yok,
+No Salary Structure assigned for Employee {0} on given date {1},{1} belirli bir anda Çalışana {0} atanan Maaş Yapısı yok,
+No Staffing Plans found for this Designation,Bu belirleme için hiçbir kişisel tesis bulunamadı,
+No Student Groups created.,Hiçbir Öğrenci Grupları mevcut.,
+No Students in,İçinde öğrenci yok,
 No Tax Withholding data found for the current Fiscal Year.,Mevcut Mali Yılı için Vergi Stopajı verileri bulunamadı.,
 No Work Orders created,İş emri oluşturulmadı,
 No accounting entries for the following warehouses,Şu depolar için muhasebe girdisi yok,
-No active or default Salary Structure found for employee {0} for the given dates,Verilen tarihler için çalışan {0} için bulunamadı aktif veya varsayılan Maaş Yapısı,
+No active or default Salary Structure found for employee {0} for the given dates,veri tarihleri için çalışanlar {0} için bulunma aktif veya varsayılan Maaş Yapısı,
 No contacts with email IDs found.,E-posta kimlikleri olan hiç kişi bulunamadı.,
 No data for this period,Bu süre için veri yok,
 No description given,Açıklama verilmemiştir,
@@ -1709,18 +1709,18 @@
 No gain or loss in the exchange rate,Döviz kurunda kazanç veya kayıp yok,
 No items listed,Listelenen öğe yok,
 No items to be received are overdue,Alınacak hiçbir öğe gecikmedi,
-No material request created,Malzeme isteği oluşturulmadı,
-No more updates,Artık güncelleme,
-No of Interactions,Etkileşimler Yok,
-No of Shares,Pay Sayısı,
-No pending Material Requests found to link for the given items.,Verilen öğeler için bağlantı bekleyen herhangi bir Malzeme Talebi bulunamadı.,
+No material request created,Malzeme oluşturmadı,
+No more updates,Başka güncelleme yok,
+No of Interactions,Etkileşim Yok,
+No of Shares,Ödeme Sayısı,
+No pending Material Requests found to link for the given items.,Sağlanan hizmet için bağlantı bekleyen herhangi bir Malzeme Talebi bulunamadı.,
 No products found,Ürün bulunamadı,
 No products found.,Hiçbir ürün bulunamadı.,
 No record found,Kayıt Bulunamadı,
 No records found in the Invoice table,Fatura tablosunda kayıt bulunamadı,
 No records found in the Payment table,Ödeme tablosunda kayıt bulunamadı,
-No replies from,dan cevap yok,
-No salary slip found to submit for the above selected criteria OR salary slip already submitted,Yukarıdaki kriterlere göre maaş fişi bulunamadı VEYA maaş fişi zaten gönderildi,
+No replies from,Şundan yanıt yok,
+No salary slip found to submit for the above selected criteria OR salary slip already submitted,Yukarıdaki özelliklere göre maaş fişi bulunmayan VEYA maaş fişi zaten gönderildi,
 No tasks,Görev yok,
 No time sheets,Hiçbir zaman çarşaf,
 No values,Değer yok,
@@ -1729,29 +1729,29 @@
 Non Profit,Kar Yok,
 Non Profit (beta),Kar Olmayan (beta),
 Non-GST outward supplies,GST dışı dış sarf malzemeleri,
-Non-Group to Group,Grup grup dışı,
+Non-Group to Group,grup grup dışı,
 None,Yok,
-None of the items have any change in quantity or value.,Öğelerin hiçbiri miktar veya değer bir değişiklik var.,
-Nos,nos,
+None of the items have any change in quantity or value.,Öğelerin genişliği miktar veya değer bir değişiklik var.,
+Nos,Nos,
 Not Available,Mevcut değil,
 Not Marked,İşaretli değil,
-Not Paid and Not Delivered,Değil Ücretli ve Teslim Edilmedi,
-Not Permitted,İzin Değil,
-Not Started,Başlatan Değil,
-Not active,Aktif Değil,
-Not allow to set alternative item for the item {0},{0} öğesi için alternatif öğe ayarlamaya izin verilmez,
-Not allowed to update stock transactions older than {0},{0} dan eski stok işlemlerini güncellemeye izin yok,
+Not Paid and Not Delivered,Ödenmedi ve Teslim Edilmedi,
+Not Permitted,İzin yok,
+Not Started,Başlatan yok,
+Not active,Aktif değil,
+Not allow to set alternative item for the item {0},{0} öğesi için alternatif öğeyi ayarlamaya izin verilmez,
+Not allowed to update stock transactions older than {0},{0} dan eski stok durumunu güncellemeye izin yok,
 Not authorized to edit frozen Account {0},Dondurulmuş Hesabı {0} düzenleme yetkisi yok,
 Not authroized since {0} exceeds limits,{0} Yetkili değil {0} sınırı aşar,
 Not permitted for {0},Izin verilmez {0},
-"Not permitted, configure Lab Test Template as required","İzin verilmediğinde, Lab Test Şablonunu gerektiği gibi yapılandırın",
-Not permitted. Please disable the Service Unit Type,İzin verilmedi. Lütfen Servis Ünitesi Tipini devre dışı bırakın,
-Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Not: nedeniyle / Referans Tarihi {0} gün izin müşteri kredi günü aştığı (ler),
+"Not permitted, configure Lab Test Template as required","İzin verildiğinde, Lab Test Şablonunu gerektiği gibi yapılandırın",
+Not permitted. Please disable the Service Unit Type,İzin verilmedi. Lütfen Servis Ünitesi Tipi devre dışı bırakın,
+Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Not: nedeniyle / Referans Tarihi {0} gün izin müşteri kredisini aştığı (ler),
 Note: Item {0} entered multiple times,Not: Ürün {0} birden çok kez girilmiş,
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"'Nakit veya Banka Hesabı' belirtilmediğinden ötürü, Ödeme Girdisi oluşturulmayacaktır",
-Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Not: Miktar 0 olduğundan ötürü sistem Ürün {0} için teslimat ve ayırma kontrolü yapmayacaktır,
-Note: There is not enough leave balance for Leave Type {0},Not: İzin tipi {0} için yeterli izin günü kalmamış,
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Not: Bu Maliyet Merkezi bir Grup. Gruplara karşı muhasebe kayıtları yapamazsınız.,
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Nakit veya Banka Hesabı'nın belirtilmesinden dolayı, Ödeme Girdisi oluşturulmayacaktır.",
+Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Not: Miktar veya miktar 0 olduğundan sistem, {0} Öğesi için fazla teslimatı ve fazla rezervasyonu kontrol etmeyecektir.",
+Note: There is not enough leave balance for Leave Type {0},Not: İzin tipi {0} için yeterli izin gününde kalmamış,
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Not: Bu Maliyet Merkezi bir Gruptur. Gruplara karşı muhasebe girişi yapılamaz.,
 Note: {0},Not: {0},
 Notes,Notlar,
 Nothing is included in gross,Hiçbir şey brüt dahil değildir,
@@ -1760,121 +1760,121 @@
 Notice Period,İhbar süresi,
 Notify Customers via Email,Müşterileri e-postayla bilgilendirin,
 Number,Numara,
-Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Rezervasyon amortismanları sayısı amortismanlar Toplam Sayısı fazla olamaz,
+Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Rezervasyon amortismanları sayısı amortismanları Toplam Sayısı fazla olamaz,
 Number of Interaction,Etkileşim Sayısı,
 Number of Order,Sipariş Sayısı,
-"Number of new Account, it will be included in the account name as a prefix","Yeni Hesap numarası, hesap adına bir ön ek olarak eklenecektir",
-"Number of new Cost Center, it will be included in the cost center name as a prefix","Yeni Maliyet Merkezi sayısı, maliyet merkezi adına önek olarak eklenecektir",
-Number of root accounts cannot be less than 4,Kök hesap sayısı 4&#39;ten az olamaz,
+"Number of new Account, it will be included in the account name as a prefix","Yeni Hesap numarası, hesap adına bir ön ek olarak eklenecektir.",
+"Number of new Cost Center, it will be included in the cost center name as a prefix","Yeni Maliyet Merkezi sayısı, maliyet merkezi adına önek olarak eklenecektir.",
+Number of root accounts cannot be less than 4,Kök hesap sayısı 4'ten az olamaz,
 Odometer,Kilometre sayacı,
 Office Equipments,Ofis Gereçleri,
 Office Maintenance Expenses,Ofis Bakım Giderleri,
 Office Rent,Ofis Kiraları,
 On Hold,Beklemede,
-On Net Total,Net toplam,
-One customer can be part of only single Loyalty Program.,Bir müşteri sadece tek bir Bağlılık Programının parçası olabilir.,
-Online Auctions,Online Müzayede,
+On Net Total,Net Toplam,
+One customer can be part of only single Loyalty Program.,Bir müşteri sadece tek bir Sadakat Programının parçası olabilir.,
+Online Auctions,Çevrimiçi Müzayede,
 Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Sadece sunulabilir &#39;Reddedildi&#39; &#39;Onaylandı&#39; ve statülü Uygulamaları bırakın,
-"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Aşağıdaki tabloda yalnızca &quot;Onaylandı&quot; durumuna sahip Öğrenci Başvurusu seçilecektir.,
-Only users with {0} role can register on Marketplace,Yalnızca {0} rolü olan kullanıcılar Marketplace&#39;e kayıt olabilir,
-Open BOM {0},Açık BOM {0},
-Open Item {0},Açık Öğe {0},
+"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",Aşağıdaki tabloda yalnızca &quot;Onaylandı&quot; Zorunluluk sahibi Öğrenci Başvurusu seçilecektir.,
+Only users with {0} role can register on Marketplace,Yalnızca {0} rolü olan kullanıcılar Marketplace'e kayıt olabilir,
+Open BOM {0},{0} Açık BOM Malzeme Listesi,
+Open Item {0},{0} Açık Öğe,
 Open Notifications,Açık Bildirimler,
-Open Orders,Açık siparişler,
+Open Orders,Açık Siparişler,
 Open a new ticket,Yeni bir bilet aç,
-Opening,açılış,
-Opening (Cr),Açılış (Cr),
-Opening (Dr),Açılış (Dr),
-Opening Accounting Balance,Açılış Muhasebe Dengesi,
-Opening Accumulated Depreciation,Birikmiş Amortisman Açılış,
+Opening,Açılış,
+Opening (Cr),Açılış (Alacak),
+Opening (Dr),Açılış (Borç),
+Opening Accounting Balance,Açılış Muhasebe Bakiyesi,
+Opening Accumulated Depreciation,Birikmiş Amortisman Açılışı,
 Opening Accumulated Depreciation must be less than equal to {0},Birikmiş Amortisman Açılış eşit az olmalıdır {0},
-Opening Balance,Açılış bilançosu,
-Opening Balance Equity,Açılış Bakiyesi Hisse,
-Opening Date and Closing Date should be within same Fiscal Year,Tarih ve Kapanış Tarihi Açılış aynı Mali Yılı içinde olmalıdır,
-Opening Date should be before Closing Date,Tarih Açılış Tarihi Kapanış önce olmalıdır,
+Opening Balance,Açılış Bakiyesi,
+Opening Balance Equity,Açılış Bakiyesi Hissesi,
+Opening Date and Closing Date should be within same Fiscal Year,Tarih ve Kapanış Tarihi Açılışı aynı Mali Yılı içinde olmalıdır,
+Opening Date should be before Closing Date,Açılış Tarihi Kapanış Tarihinden önce olmalıdır,
 Opening Entry Journal,Açılış Giriş Dergisi,
-Opening Invoice Creation Tool,Fatura Yaratma Aracını Açma,
-Opening Invoice Item,Fatura Öğesini Açma,
-Opening Invoices,Faturaları Açma,
-Opening Invoices Summary,Faturaları Açma Özeti,
+Opening Invoice Creation Tool,Açılış Faturası Oluşturma Aracı,
+Opening Invoice Item,Açılış Faturası Kalemi,
+Opening Invoices,Açılış Faturaları,
+Opening Invoices Summary,Açılış Faturası Özeti,
 Opening Qty,Açılış Miktarı,
-Opening Stock,Açılış Stok,
-Opening Stock Balance,Açılış Stok Dengesi,
-Opening Value,Açılış değeri,
-Opening {0} Invoice created,Açılış {0} Fatura oluşturuldu,
+Opening Stock,Açılış Stoku,
+Opening Stock Balance,Açılış Stok Bakiyesi,
+Opening Value,Açılış Değeri,
+Opening {0} Invoice created,Açılış {0} Faturalandırma,
 Operation,Operasyon,
-Operation Time must be greater than 0 for Operation {0},Çalışma Süresi Çalışma için 0&#39;dan büyük olmalıdır {0},
-"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Çalışma {0} iş istasyonunda herhangi bir mevcut çalışma saatleri daha uzun {1}, birden operasyonlarına operasyon yıkmak",
+Operation Time must be greater than 0 for Operation {0},{0} Operasyonu için İşlem Süresi 0'dan büyük olmalıdır,
+"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","{0} Operasyonu, {1} iş istasyonundaki herhangi bir kullanılabilir çalışma saatinden daha uzun, Operasyonu birden fazla işleme bölün",
 Operations,Operasyonlar,
 Operations cannot be left blank,Operasyon boş bırakılamaz,
-Opp Count,Opp Sayısı,
-Opp/Lead %,Satış Fırsatı/Müşteri Adayı yüzdesi,
+Opp Count,Fırsat Sayısı,
+Opp/Lead %,Satış Fırsatı / Müşteri Adayı %,
 Opportunities,Fırsatlar,
-Opportunities by lead source,Başlıca kaynak olan fırsatlar,
-Opportunity,fırsat,
+Opportunities by lead source,Aday kaynağına göre fırsatlar,
+Opportunity,Fırsat,
 Opportunity Amount,Fırsat Tutarı,
-Optional Holiday List not set for leave period {0},"İsteğe bağlı Tatil Listesi, {0} izin dönemi için ayarlanmamış",
-"Optional. Sets company's default currency, if not specified.","İsteğe bağlı. Eğer belirtilmemişse, şirketin varsayılan para birimini belirler.",
-Optional. This setting will be used to filter in various transactions.,İsteğe bağlı. Bu ayar çeşitli işlemlerde filtreleme yapmak için kullanılacaktır,
-Options,Seçenekler,
-Order Count,Sipariş sayısı,
-Order Entry,Sipariş girişi,
+Optional Holiday List not set for leave period {0},"İsteğe bağlı Tatil Listesi, {0} dönem izin için ayarlanmamış",
+"Optional. Sets company's default currency, if not specified.","İsteğe bağlı. Eğer belirtilmemişse, şirketin genel para birimini belirler.",
+Optional. This setting will be used to filter in various transactions.,İsteğe bağlı. Bu çeşitli ayar işlemlerini yapmak için kullanmaktır,
+Options,Sepetler,
+Order Count,Sipariş Sayısı,
+Order Entry,Sipariş Kaydı,
 Order Value,Sipariş Değeri,
 Order rescheduled for sync,Senkronizasyon için sipariş yeniden planlandı,
-Order/Quot %,Sipariş / Teklif%,
-Ordered,Sipariş Edildi,
+Order/Quot %,Sipariş / Teklif %,
+Ordered,Sipariş verildi,
 Ordered Qty,Sipariş Miktarı,
-"Ordered Qty: Quantity ordered for purchase, but not received.","Sipariş Edilen  Miktar: Satın alınmak için sipariş edilmiş, ancak teslim alınmamış miktar",
+"Ordered Qty: Quantity ordered for purchase, but not received.","Sipariş Edilen Miktar: Satın alınmak için sipariş verilmiş, ancak teslim alınmamış miktar",
 Orders,Siparişler,
 Orders released for production.,Üretim için verilen emirler.,
-Organization,organizasyon,
-Organization Name,Kuruluş Adı,
+Organization,Organizasyon,
+Organization Name,Kuruluş adı,
 Other,Diğer,
-Other Reports,Diğer raporlar,
+Other Reports,Diğer Raporlar,
 "Other outward supplies(Nil rated,Exempted)","Diğer dış sarf malzemeleri (Nil puan, Muaf)",
 Others,Diğer,
 Out Qty,Çıkış Miktarı,
-Out Value,Out Değeri,
-Out of Order,Bozuk,
+Out Value,Çıkış Değeri,
+Out of Order,bozuk,
 Outgoing,Giden,
-Outstanding,ödenmemiş,
-Outstanding Amount,Bekleyen Tutar,
-Outstanding Amt,Alacak tutarı,
-Outstanding Cheques and Deposits to clear,Üstün Çekler ve temizlemek için Mevduat,
+Outstanding,Ödenmemiş,
+Outstanding Amount,Ödenmemiş Tutar,
+Outstanding Amt,Ödenmemiş Tutar,
+Outstanding Cheques and Deposits to clear,Kapatılacak Ödenmemiş Çekler ve Mevduatlar,
 Outstanding for {0} cannot be less than zero ({1}),{0} için bekleyen sıfırdan az olamaz ({1}),
 Outward taxable supplies(zero rated),Dışa dönük vergilendirilebilir malzemeler,
-Overdue,vadesi geçmiş,
+Overdue,Vadesi Geçmiş,
 Overlap in scoring between {0} and {1},{0} ile {1} arasındaki skorlamanın üst üste gelmesi,
-Overlapping conditions found between:,Şunların arasında çakışan koşullar bulundu:,
+Overlapping conditions found between:,Şunların sınırları arasında bulunan koşullar:,
 Owner,Sahibi,
 PAN,TAVA,
-POS,POS,
+POS,POS Satış Noktası,
 POS Profile,POS Profili,
 POS Profile is required to use Point-of-Sale,"POS Profili, Satış Noktasını Kullanmak için Gereklidir",
 POS Profile required to make POS Entry,POS Profil POS Girişi yapmak için gerekli,
 POS Settings,POS Ayarları,
 Packed quantity must equal quantity for Item {0} in row {1},{1} Paketli miktar satır {1} deki Ürün {0} a eşit olmalıdır,
-Packing Slip,Ambalaj Makbuzu,
-Packing Slip(s) cancelled,Ambalaj Makbuzları İptal Edildi,
-Paid,Ücretli,
+Packing Slip,Sevk İrsaliyesi,
+Packing Slip(s) cancelled,Sevk İrsaliyesi iptal edildi,
+Paid,Ödendi,
 Paid Amount,Ödenen Tutar,
 Paid Amount cannot be greater than total negative outstanding amount {0},"Ödenen Tutar, toplam negatif ödenmemiş miktardan daha fazla olamaz {0}",
 Paid amount + Write Off Amount can not be greater than Grand Total,Ödenen Tutar ve Şüpheli Alacak Tutarı toplamı Genel Toplamdan fazla olamaz,
 Paid and Not Delivered,Ödendi ancak Teslim Edilmedi,
 Parameter,Parametre,
-Parent Item {0} must not be a Stock Item,Veli Öğe {0} Stok Öğe olmamalıdır,
+Parent Item {0} must not be a Stock Item,Ana Ürün {0} Stok Ürünü olmamalıdır,
 Parents Teacher Meeting Attendance,Ebeveynler Öğretmen Toplantısı Katılımı,
 Part-time,Yarı zamanlı,
 Partially Depreciated,Kısmen Değer Kaybına Uğramış,
 Partially Received,Kısmen Alındı,
-Party,Taraf,
-Party Name,parti Adı,
-Party Type,Taraf Türü,
-Party Type and Party is mandatory for {0} account,{0} hesabı için Parti Türü ve Parti zorunludur,
-Party Type is mandatory,Parti Tipi zorunludur,
-Party is mandatory,Parti zorunludur,
+Party,Cari Hesap,
+Party Name,Cari Adı,
+Party Type,Cari Türü,
+Party Type and Party is mandatory for {0} account,{0} hesabı için Cari Türü ve Cari zorunludur,
+Party Type is mandatory,Cari Tipi zorunludur,
+Party is mandatory,Cari zorunludur,
 Password,Parola,
-Password policy for Salary Slips is not set,Maaş Fişleri için şifre politikası belirlenmedi,
+Password policy for Salary Slips is not set,Maaş bordrosu için şifre politikası belirlenmedi,
 Past Due Date,Son Tarih,
 Patient,Hasta,
 Patient Appointment,Hasta Randevusu,
@@ -1882,35 +1882,35 @@
 Patient not found,Hasta bulunamadı,
 Pay Remaining,Kalan Öde,
 Pay {0} {1},{0} {1} öde,
-Payable,Borç,
+Payable,Ödenecek Borç,
 Payable Account,Ödenecek Hesap,
-Payable Amount,Ödenebilir miktar,
-Payment,Tahsilat,
+Payable Amount,Ödenecek Tutar,
+Payment,Ödeme,
 Payment Cancelled. Please check your GoCardless Account for more details,Ödeme iptal edildi. Daha fazla bilgi için lütfen GoCardless Hesabınızı kontrol edin,
-Payment Confirmation,Ödeme onaylama,
-Payment Date,Ödeme tarihi,
+Payment Confirmation,Ödeme Onaylama,
+Payment Date,Ödeme Tarihi,
 Payment Days,Ödeme Günleri,
 Payment Document,Ödeme Belgesi,
-Payment Due Date,Son ödeme tarihi,
-Payment Entries {0} are un-linked,Ödeme Girişler {0}-un bağlantılıdır,
-Payment Entry,Ödeme girişi,
-Payment Entry already exists,Ödeme giriş zaten var,
-Payment Entry has been modified after you pulled it. Please pull it again.,Bunu çekti sonra Ödeme Giriş modifiye edilmiştir. Tekrar çekin lütfen.,
-Payment Entry is already created,Ödeme giriş zaten yaratılır,
-Payment Failed. Please check your GoCardless Account for more details,Ödeme başarısız. Daha fazla bilgi için lütfen GoCardless Hesabınızı kontrol edin,
-Payment Gateway,Ödeme Gateway,
-"Payment Gateway Account not created, please create one manually.","Ödeme Gateway Hesabı oluşturulmaz, el bir tane oluşturun lütfen.",
+Payment Due Date,Son Ödeme Tarihi,
+Payment Entries {0} are un-linked,Ödeme Kayıtlarının bağlantısı kaldırıldı,
+Payment Entry,Ödeme Kaydı,
+Payment Entry already exists,Ödeme Kaydı zaten var,
+Payment Entry has been modified after you pulled it. Please pull it again.,Bunu çektikten sonra Ödeme Girişi değiştirilmiş. Tekrar çekin lütfen.,
+Payment Entry is already created,Ödeme girişi zaten yaratılır,
+Payment Failed. Please check your GoCardless Account for more details,Ödeme başarısız. Daha fazla bilgi için lütfen GoCardless çıkışı kontrol edin,
+Payment Gateway,Ödeme Ağ Geçidi,
+"Payment Gateway Account not created, please create one manually.","Ödeme Ağ Geçidi Hesabı oluşturulmaz, bir tane oluşturun lütfen.",
 Payment Gateway Name,Ödeme Ağ Geçidi Adı,
 Payment Mode,Ödeme Modu,
-Payment Receipt Note,Ödeme Makbuzu Not,
-Payment Request,Ödeme isteği,
+Payment Receipt Note,Ödeme Makbuzu Dekontu,
+Payment Request,Ödeme Talebi,
 Payment Request for {0},{0} için Ödeme İsteği,
-Payment Tems,Ödeme yöntemleri,
-Payment Term,Ödeme koşulu,
-Payment Terms,Ödeme şartları,
-Payment Terms Template,Ödeme Koşulları Şablonu,
-Payment Terms based on conditions,Koşullara göre Ödeme Koşulları,
-Payment Type,Ödeme Şekli,
+Payment Tems,Ödeme Koşulları,
+Payment Term,Ödeme Vadesi,
+Payment Terms,Ödeme Vadeleri,
+Payment Terms Template,Ödeme Vadesi Şablonu,
+Payment Terms based on conditions,Koşullara göre Ödeme Vadesi,
+Payment Type,Ödeme Tipi,
 "Payment Type must be one of Receive, Pay and Internal Transfer","Ödeme Şekli, Alma biri Öde ve İç Transferi gerekir",
 Payment against {0} {1} cannot be greater than Outstanding Amount {2},Karşı Ödeme {0} {1} Üstün Tutar daha büyük olamaz {2},
 Payment of {0} from {1} to {2},{1} ile {2} arasındaki {0} ödemesi,
@@ -1922,21 +1922,21 @@
 Payslip,maaş bordrosu,
 Pending Activities,Bekleyen Etkinlikleri,
 Pending Amount,Bekleyen Tutar,
-Pending Leaves,Bekleyen Yapraklar,
-Pending Qty,Bekleyen Adet,
+Pending Leaves,Bekleyen İzinler,
+Pending Qty,Bekleyen Miktar,
 Pending Quantity,Bekleyen Miktar,
-Pending Review,Bekleyen İnceleme,
+Pending Review,İnceleme Bekliyor,
 Pending activities for today,Bugün için Bekleyen faaliyetler,
 Pension Funds,Emeklilik fonları,
 Percentage Allocation should be equal to 100%,Yüzde Tahsisi % 100'e eşit olmalıdır,
 Perception Analysis,Algı Analizi,
 Period,Dönem,
-Period Closing Entry,Dönem Kapanış Girişi,
-Period Closing Voucher,Dönem Kapanış Makbuzu,
-Periodicity,periyodik olarak tekrarlanma,
+Period Closing Entry,Dönem Kapanış Kaydı,
+Period Closing Voucher,Dönem Kapanış Fişi,
+Periodicity,Periyodik olarak tekrarlanma,
 Personal Details,Kişisel Bilgiler,
-Pharmaceutical,Ecza,
-Pharmaceuticals,Ecza,
+Pharmaceutical,İlaç,
+Pharmaceuticals,İlaçlar,
 Physician,Doktor,
 Piecework,parça başı iş,
 Pincode,Pinkodu,
@@ -1945,10 +1945,10 @@
 Plan Name,Plan Adı,
 Plan for maintenance visits.,Bakım ziyaretleri planı,
 Planned Qty,Planlanan Miktar,
-"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planlanan Miktar: İş Emri&#39;nin yükseltildiği, ancak üretilmeyi beklediği miktar.",
+"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planlanan Miktar: İş Emri'nin yükseltildiği, ancak üretilmeyi beklediği miktar.",
 Planning,Planlama,
-Plants and Machineries,Bitkiler ve Makinaları,
-Please Set Supplier Group in Buying Settings.,Lütfen Satın Alma Ayarlarında Tedarikçi Grubunu Ayarlayın.,
+Plants and Machineries,Bitkiler ve Makinalar,
+Please Set Supplier Group in Buying Settings.,Lütfen Satınalma Ayarlarında Tedarikçi Grubunu Ayarlayın.,
 Please add a Temporary Opening account in Chart of Accounts,Lütfen Hesap Planında bir Geçici Açılış hesabı ekleyin,
 Please add the account to root level Company - ,Lütfen hesabı root seviyesine ekleyin.,
 Please add the remaining benefits {0} to any of the existing component,Lütfen mevcut bileşenlerden herhangi birine {0} kalan faydaları ekleyin,
@@ -1957,15 +1957,15 @@
 Please click on 'Generate Schedule' to fetch Serial No added for Item {0},Ürün {0} seri numarası eklemek için 'Program Ekle' ye tıklayınız,
 Please click on 'Generate Schedule' to get schedule,Programı almak için 'Program Oluştura' tıklayınız,
 Please confirm once you have completed your training,Lütfen eğitiminizi tamamladığınızda onaylayın,
-Please create purchase receipt or purchase invoice for the item {0},Lütfen {0} öğesi için satın alma makbuzu veya fatura satın alın,
+Please create purchase receipt or purchase invoice for the item {0},Lütfen {0} öğesi için Satınalma makbuzu veya fatura satın alın,
 Please define grade for Threshold 0%,Lütfen eşiği% 0 eşik için tanımlayın,
 Please enable Applicable on Booking Actual Expenses,Rezervasyon Gerçekleşen Masraflar için Geçerli Olunur Lütfen,
-Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Lütfen Satın Alma Siparişinde Uygulanabilirliği Etkinleştirin ve Gerçekleşen Rezervasyonlara Uygulanabilir,
+Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Lütfen Satınalma Siparişinde Uygulanabilirliği Etkinleştirin ve Gerçekleşen Rezervasyonlara Uygulanabilir,
 Please enable default incoming account before creating Daily Work Summary Group,Günlük İş Özet Grubunu oluşturmadan önce varsayılan gelen hesabı etkinleştirin,
 Please enable pop-ups,Pop-up etkinleştirin,
 Please enter 'Is Subcontracted' as Yes or No,'Taşeron var mı' alanına Evet veya Hayır giriniz,
-Please enter API Consumer Key,Lütfen API Tüketici Anahtarını girin,
-Please enter API Consumer Secret,Lütfen API Tüketici Sırrı girin,
+Please enter API Consumer Key,Lütfen API Consumer Keyi girin,
+Please enter API Consumer Secret,Lütfen API Consumer Secreti girin,
 Please enter Account for Change Amount,Değişim Miktarı Hesabı giriniz,
 Please enter Approving Role or Approving User,Onaylayıcı Rol veya Onaylayıcı Kullanıcı Giriniz,
 Please enter Cost Center,Maliyet Merkezi giriniz,
@@ -1973,18 +1973,18 @@
 Please enter Employee Id of this sales person,Bu satış kişinin Çalışan Kimliği giriniz,
 Please enter Expense Account,Gider Hesabı girin,
 Please enter Item Code to get Batch Number,Toplu Numarası almak için Ürün Kodu giriniz,
-Please enter Item Code to get batch no,Toplu almak için Ürün Kodu girin,
-Please enter Item first,Ürün Kodu girin,
+Please enter Item Code to get batch no,Batch (Parti) numarasını almak için lütfen Ürün Kodunu girin,
+Please enter Item first,Lütfen Ürün Kodunu girin,
 Please enter Maintaince Details first,Lütfen ilk önce Bakım Detayını girin,
 Please enter Planned Qty for Item {0} at row {1},Satır {1} deki {0} Ürünler için planlanan miktarı giriniz,
 Please enter Preferred Contact Email,Tercih İletişim Email giriniz,
-Please enter Production Item first,Önce Üretim Ürününü giriniz,
-Please enter Purchase Receipt first,İlk Satınalma Faturası giriniz,
-Please enter Receipt Document,Makbuz Belge giriniz,
-Please enter Reference date,Referrans tarihi girin,
+Please enter Production Item first,Lütfen önce Üretim Ögesini giriniz,
+Please enter Purchase Receipt first,Lütfen İlk Alış Fişini giriniz,
+Please enter Receipt Document,Lütfen Fiş Belgesini giriniz,
+Please enter Reference date,Referans tarihini girin,
 Please enter Repayment Periods,Geri Ödeme Süreleri giriniz,
-Please enter Reqd by Date,Lütfen Reqd&#39;yi Tarihe Göre Girin,
-Please enter Woocommerce Server URL,Lütfen Woocommerce Sunucusu URL&#39;sini girin,
+Please enter Reqd by Date,Lütfen Reqd'yi Tarihe Göre Girin,
+Please enter Woocommerce Server URL,Lütfen Woocommerce Sunucusu URL'sini girin,
 Please enter Write Off Account,Lütfen Şüpheli Alacak Hesabını Girin,
 Please enter atleast 1 invoice in the table,Tabloya en az 1 fatura girin,
 Please enter company first,Lütfen ilk önce şirketi girin,
@@ -1993,405 +1993,405 @@
 Please enter message before sending,Lütfen Göndermeden önce mesajı giriniz,
 Please enter parent cost center,Lütfen ana maliyet merkezi giriniz,
 Please enter quantity for Item {0},Lütfen Ürün {0} için miktar giriniz,
-Please enter relieving date.,Lütfen Boşaltma tarihi girin.,
-Please enter repayment Amount,geri ödeme miktarı giriniz,
+Please enter relieving date.,Lütfen hafifletme tarihini girin.,
+Please enter repayment Amount,Lütfen geri ödeme Tutarını giriniz,
 Please enter valid Financial Year Start and End Dates,Geçerli Mali Yılı Başlangıç ve Bitiş Tarihleri girin,
 Please enter valid email address,Lütfen geçerli e-posta adresini girin,
 Please enter {0} first,İlk {0} giriniz,
 Please fill in all the details to generate Assessment Result.,Değerlendirme Sonucunu oluşturmak için lütfen tüm detayları doldurunuz.,
 Please identify/create Account (Group) for type - {0},Lütfen tür - {0} türü için Hesap (Grup) tanımlayın / oluşturun,
 Please identify/create Account (Ledger) for type - {0},Lütfen tür - {0} türü için Hesap (Muhasebe) tanımlayın / oluşturun,
-Please login as another user to register on Marketplace,Lütfen Marketplace&#39;e kayıt olmak için başka bir kullanıcı olarak giriş yapın,
+Please login as another user to register on Marketplace,Lütfen Marketplace'e kayıt olmak için başka bir kullanıcı olarak giriş yapın,
 Please make sure you really want to delete all the transactions for this company. Your master data will remain as it is. This action cannot be undone.,Bu şirkete ait bütün işlemleri silmek istediğinizden emin olun. Ana veriler olduğu gibi kalacaktır. Bu işlem geri alınamaz.,
-Please mention Basic and HRA component in Company,Lütfen Şirket&#39;te Basic ve HRA bileşenini belirtin,
+Please mention Basic and HRA component in Company,Lütfen Şirket'te Basic ve HRA bileşenini belirtin,
 Please mention Round Off Account in Company,Şirket Yuvarlak Kapalı Hesabı belirtin,
-Please mention Round Off Cost Center in Company,Şirket Yuvarlak Off Maliyet Merkezi&#39;ni belirtiniz,
+Please mention Round Off Cost Center in Company,Şirket Yuvarlak Off Maliyet Merkezi'ni belirtiniz,
 Please mention no of visits required,Lütfen gerekli ziyaretlerin sayısını belirtin,
-Please mention the Lead Name in Lead {0},Lütfen Kurşun Adını {0} Kurşun&#39;dan belirtin,
+Please mention the Lead Name in Lead {0},Lütfen Aday Adını {0} Adaydan belirtin,
 Please pull items from Delivery Note,İrsaliyeden Ürünleri çekin,
 Please register the SIREN number in the company information file,Lütfen SİREN numarasını şirket bilgi dosyasına kaydettirin,
 Please remove this Invoice {0} from C-Form {1},C-Form bu Fatura {0} kaldırın lütfen {1},
 Please save the patient first,Lütfen önce hastayı kaydedin,
-Please save the report again to rebuild or update,Yeniden oluşturmak veya güncellemek için lütfen raporu tekrar kaydedin,
+Please save the report again to rebuild or update,Yeniden oluşturma veya güncelleme için lütfen raporu tekrar çalıştırma,
 "Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","En az bir satırda Tahsis Tutar, Fatura Türü ve Fatura Numarası seçiniz",
-Please select Apply Discount On,İndirim Açık Uygula seçiniz,
-Please select BOM against item {0},Lütfen {0} öğesine karşı BOM&#39;u seçin,
+Please select Apply Discount On,İndirim Açık Uygula Seçiniz,
+Please select BOM against item {0},Lütfen {0} satırını karşı BOM&#39;u seçin,
 Please select BOM for Item in Row {0},Satır Öğe için BOM seçiniz {0},
-Please select BOM in BOM field for Item {0},Ürün için BOM BOM alanında seçiniz {0},
+Please select BOM in BOM field for Item {0},Ürün için ürün ağacı ürün ağacı alanında seçiniz {0},
 Please select Category first,İlk Kategori seçiniz,
-Please select Charge Type first,İlk şarj türünü seçiniz,
-Please select Company,Firma seçiniz,
-Please select Company and Designation,Lütfen Şirket ve Atama&#39;yı seçiniz,
-Please select Company and Posting Date to getting entries,Giriş almak için lütfen Şirket ve Gönderme Tarihi&#39;ni seçin.,
+Please select Charge Type first,İlk şarjı seçiniz,
+Please select Company,Şirket seçiniz,
+Please select Company and Designation,Lütfen Şirket ve Atamayı seçiniz,
+Please select Company and Posting Date to getting entries,Giriş almak için lütfen Şirket ve Gönderme Tarihini seçin.,
 Please select Company first,İlk Şirket seçiniz,
-Please select Completion Date for Completed Asset Maintenance Log,Tamamlanan Varlık Bakım Günlüğü için Tamamlanma Tarihi&#39;ni seçin,
-Please select Completion Date for Completed Repair,Tamamlanan Onarım için Bitiş Tarihi seçin,
-Please select Course,Lütfen Kursu seçin,
+Please select Completion Date for Completed Asset Maintenance Log,Tamamlanan Varlık Bakım Günlüğü için Tamamlanma Tarihi'ni seçin,
+Please select Completion Date for Completed Repair,Tamamlanan Onarım için Bitiş Tarihi Seçin,
+Please select Course,Lütfen Kursu Seçin,
 Please select Drug,Lütfen Uyuşturucu Seçiniz,
-Please select Employee,Lütfen Çalışan seçin,
+Please select Employee,Lütfen Çalışan Seçin,
 Please select Existing Company for creating Chart of Accounts,Hesap tablosu oluşturmak için Varolan Firma seçiniz,
 Please select Healthcare Service,Lütfen Sağlık Hizmeti Seçiniz,
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",&quot;Hayır&quot; ve &quot;Satış Öğe mı&quot; &quot;Stok Öğe mı&quot; nerede &quot;Evet&quot; ise Birimini seçmek ve başka hiçbir Ürün Paketi var Lütfen,
-Please select Maintenance Status as Completed or remove Completion Date,Lütfen Bakım Durumunu Tamamlandı olarak seçin veya Bitiş Tarihi kaldırın,
-Please select Party Type first,İlk Parti Türünü seçiniz,
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","""Hayır"" ve &quot;Satış Öğe mi&quot; &quot;Stok Öğe mi&quot; nerede &quot;Evet&quot; ise Birimini seçme ve başka hiçbir Ürün Paketi var Lütfen",
+Please select Maintenance Status as Completed or remove Completion Date,Lütfen Bakım Durumunu Tamamlandı olarak seçin veya Bitiş Tarihini çalıştırın,
+Please select Party Type first,İlk Cari Türünü seçiniz,
 Please select Patient,Lütfen hastayı seçin,
-Please select Patient to get Lab Tests,Lab Testleri almak için lütfen Hasta&#39;yı seçin,
-Please select Posting Date before selecting Party,Partiyi seçmeden önce Gönderme Tarihi seçiniz,
-Please select Posting Date first,İlk Gönderme Tarihi seçiniz,
-Please select Price List,Fiyat Listesi seçiniz,
-Please select Program,Lütfen program seçiniz,
-Please select Qty against item {0},Lütfen {0} öğesine karşı Miktar seçin,
-Please select Sample Retention Warehouse in Stock Settings first,"Lütfen önce Stok Ayarlarında Numune Alma Deposu&#39;nu seçin,",
-Please select Start Date and End Date for Item {0},Ürün {0} için Başlangıç ve Bitiş tarihi seçiniz,
-Please select Student Admission which is mandatory for the paid student applicant,Lütfen ödenen öğrenci başvurusu için zorunlu Öğrenci Kabulünü seçin,
+Please select Patient to get Lab Tests,Lab Testleri almak için lütfen Hastayı seçin,
+Please select Posting Date before selecting Party,Cariyi seçmeden önce Gönderme Tarihi seçiniz,
+Please select Posting Date first,İlk Gönderme Tarihini Seçiniz,
+Please select Price List,Fiyat Listesini seçiniz,
+Please select Program,Lütfen programı seçiniz,
+Please select Qty against item {0},Lütfen {0} boyutunu karşı Miktar seçin,
+Please select Sample Retention Warehouse in Stock Settings first,"Lütfen önce Stok Ayarlarında Numune Alma Deposu'nu seçin,",
+Please select Start Date and End Date for Item {0},Ürün {0} için Başlangıç ve Bitiş tarihini seçiniz,
+Please select Student Admission which is mandatory for the paid student applicant,Lütfen hamile öğrenci kabulü için zorunlu Kabul Öğrencisini seçin,
 Please select a BOM,Lütfen bir BOM seçin,
-Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Lütfen {0} Öğe için bir Toplu İşareti seçin. Bu gereksinimi karşılayan tek bir toplu bulunamadı,
-Please select a Company,Bir Şirket seçiniz,
-Please select a batch,Lütfen bir parti seçin,
-Please select a csv file,Bir csv dosyası seçiniz,
+Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Lütfen {0} Öğe için bir Toplu İşareti seçin. Bu bölümde tek bir toplu bulunamadı,
+Please select a Company,Bir Şirket Seçiniz,
+Please select a batch,Lütfen bir parça seçin,
+Please select a csv file,Bir csv dosyasını seçiniz,
 Please select a field to edit from numpad,Lütfen numpad&#39;den düzenlemek için bir alan seçin,
 Please select a table,Lütfen bir tablo seçin,
 Please select a valid Date,Lütfen geçerli bir tarih seçiniz,
-Please select a value for {0} quotation_to {1},{0} - {1} teklifi için bir değer seçiniz,
+Please select a value for {0} quotation_to {1},{0} - {1} teklif için bir değer seçiniz,
 Please select a warehouse,Lütfen bir depo seçiniz,
-Please select at least one domain.,Lütfen en az bir alan adı seçin.,
+Please select at least one domain.,Lütfen en az bir alan adı seçiniz.,
 Please select correct account,Doğru hesabı seçin,
 Please select date,tarih seçiniz,
-Please select item code,Ürün kodu seçiniz,
+Please select item code,Ürün kodunu seçiniz,
 Please select month and year,Ay ve yıl seçiniz,
 Please select prefix first,Önce Ön ek seçiniz,
 Please select the Company,Lütfen Şirketi Seçiniz,
-Please select the Multiple Tier Program type for more than one collection rules.,Birden fazla koleksiyon kuralları için lütfen Birden Çok Katmanlı Program türü seçin.,
-Please select the assessment group other than 'All Assessment Groups',Lütfen &#39;Tüm Değerlendirme Grupları&#39; dışındaki değerlendirme grubunu seçin.,
-Please select the document type first,Önce belge türünü seçiniz,
-Please select weekly off day,Haftalık izin gününü seçiniz,
-Please select {0},Lütfen  {0} seçiniz,
+Please select the Multiple Tier Program type for more than one collection rules.,Birden fazla kural koleksiyonu için lütfen Birden Çok Katmanlı Program türünü seçin.,
+Please select the assessment group other than 'All Assessment Groups',Lütfen &#39;Tüm Değerlendirme Grupları&#39; sonraki değerlendirme gruplarını seçin.,
+Please select the document type first,Önce belgeyi seçiniz,
+Please select weekly off day,Haftalık izin süresini seçiniz,
+Please select {0},Lütfen {0} seçiniz,
 Please select {0} first,Önce {0} seçiniz,
-Please set 'Apply Additional Discount On',Set &#39;On İlave İndirim Uygula&#39; Lütfen,
+Please set 'Apply Additional Discount On',Set &#39;On Ek İndirim Uygulanır&#39; lütfen,
 Please set 'Asset Depreciation Cost Center' in Company {0},Lütfen firma {0} için 'Varlık Değer Kaybı Maliyet Merkezi' tanımlayın,
-Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Lütfen 'Varlık Elden Çıkarılmasına İlişkin Kâr / Zarar Hesabı''nı {0} şirketi için ayarlayın,
-Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Lütfen Hesap {0} Deposunda veya Şirket {1} Şirketinde Varsayılan Envanter Hesabı olarak ayarlayın.,
-Please set B2C Limit in GST Settings.,Lütfen GST Ayarlarında B2C Sınırı ayarlayın.,
-Please set Company,Lütfen şirket ayarlayın,
+Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Lütfen 'Varlık Elden Çıkarılmasına İlişkin Kar / Zarar Hesabı''nı {0} şirketi için ayarlayın,
+Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Lütfen Hesap {0} Deposunda veya Şirket {1} yöneticinizde varsayılan Envanter Hesabı olarak ayarlayın.,
+Please set B2C Limit in GST Settings.,Lütfen GST Ayarlarında B2C Sınırını ayarlayın.,
+Please set Company,Lütfen şirket ayarı,
 Please set Company filter blank if Group By is 'Company',Gruplandırılmış &#39;Şirket&#39; ise lütfen şirket filtresini boş olarak ayarlayın.,
-Please set Default Payroll Payable Account in Company {0},Şirket Standart Bordro Ödenecek Hesap ayarlayın {0},
-Please set Depreciation related Accounts in Asset Category {0} or Company {1},"Lütfen Değer Kaybı ile ilgili Hesapları, Varlık Kategori {0} veya Firma {1} içinde belirleyin",
-Please set Email Address,E-posta Adresini ayarlayın,
+Please set Default Payroll Payable Account in Company {0},Şirket Standart Bordro Ödenecek Hesap ayarı {0},
+Please set Depreciation related Accounts in Asset Category {0} or Company {1},"Lütfen Değer Kaybı ile ilgili Hesapları, Varlık Kategorisi {0} veya Firma {1} içinde belirleyin",
+Please set Email Address,E-posta Adresini ayarla,
 Please set GST Accounts in GST Settings,Lütfen GST Ayarlarını GST Ayarlarında Ayarlayın,
-Please set Hotel Room Rate on {},Otel Oda Fiyatı&#39;nı {} olarak ayarlayın.,
-Please set Number of Depreciations Booked,Amortisman Sayısı rezervasyonu ayarlayın,
-Please set Unrealized Exchange Gain/Loss Account in Company {0},Lütfen {0} Şirketindeki Gerçekleşmemiş Döviz Kazası / Zarar Hesabını ayarlayın,
-Please set User ID field in an Employee record to set Employee Role,Çalışan Rolü ayarlamak için Çalışan kaydındaki Kullanıcı Kimliği alanını Lütfen,
-Please set a default Holiday List for Employee {0} or Company {1},Çalışan bir varsayılan Tatil Listesi set Lütfen {0} veya Şirket {1},
-Please set account in Warehouse {0},Lütfen deposunu {0} &#39;da hesaba koy,
-Please set an active menu for Restaurant {0},Lütfen restoran {0} için etkin bir menü ayarlayın.,
-Please set associated account in Tax Withholding Category {0} against Company {1},Lütfen ilgili hesabı {1} Şirketine Karşı Vergi Stopaj Kategorisinde {1} ayarlayın,
-Please set at least one row in the Taxes and Charges Table,Lütfen Vergiler ve Ücretler Tablosunda en az bir satır belirtin,
-Please set default Cash or Bank account in Mode of Payment {0},{0} Ödeme şeklinde varsayılan nakit veya banka hesabı ayarlayınız,
-Please set default account in Salary Component {0},Maaş Bileşeni varsayılan hesabı ayarlamak Lütfen {0},
+Please set Hotel Room Rate on {},Otel Oda Fiyatı'nı {} olarak ayarlayın.,
+Please set Number of Depreciations Booked,Amortisman Sayısı göstergesi,
+Please set Unrealized Exchange Gain/Loss Account in Company {0},Lütfen {0} suçlulardaki Gerçekleşmemiş Döviz Kazası / Zarar Hesabını ayarlayın,
+Please set User ID field in an Employee record to set Employee Role,Çalışan Rolü tablolar için çalışan paylaşımındaki Kullanıcı Kimliği Lütfen,
+Please set a default Holiday List for Employee {0} or Company {1},Çalışan bir dahili Tatil Listesi seti Lütfen {0} veya Şirket {1},
+Please set account in Warehouse {0},Lütfen deposunu {0} 'da görüşü koy,
+Please set an active menu for Restaurant {0},Lütfen restoran {0} için etkin bir menü ayarı yapın.,
+Please set associated account in Tax Withholding Category {0} against Company {1},Lütfen ilgili hesabı {1} suçlamaya Karşı Vergi Stopaj Kategorisinde {1} ayarlayın,
+Please set at least one row in the Taxes and Charges Table,Lütfen Vergiler ve Ücretler Tablosunda en az bir satır görünümü,
+Please set default Cash or Bank account in Mode of Payment {0},{0} Ödeme biçiminde varsayılan nakit veya banka hesabı ayarınız,
+Please set default account in Salary Component {0},Maaş Bileşeni varsayılan hesabı yetkili Lütfen {0},
 Please set default customer in Restaurant Settings,Lütfen Restoran Ayarları&#39;nda varsayılan müşteriyi ayarlayın,
-Please set default template for Leave Approval Notification in HR Settings.,Lütfen HR Ayarları&#39;nda Onay Onay Bildirimi için varsayılan şablonu ayarlayın.,
-Please set default template for Leave Status Notification in HR Settings.,Lütfen HR Ayarları&#39;nda Durum Bildirimi Bırakma için varsayılan şablonu ayarlayın.,
-Please set default {0} in Company {1},Şirket varsayılan {0} set Lütfen {1},
-Please set filter based on Item or Warehouse,Madde veya Depo dayalı filtre ayarlayın,
-Please set leave policy for employee {0} in Employee / Grade record,Lütfen Çalışan / Not kaydındaki {0} çalışanı için izin politikası ayarlayın,
-Please set recurring after saving,kaydettikten sonra yinelenen ayarlayın,
+Please set default template for Leave Approval Notification in HR Settings.,Lütfen İK Ayarları&#39;nda Onay Onay Bildirimi için varsayılan şablonu ayarı.,
+Please set default template for Leave Status Notification in HR Settings.,Lütfen İK Ayarları&#39;nda Durum Bildirimi Bırakma için varsayılan şablonu ayarlayın.,
+Please set default {0} in Company {1},Şirket sunucusu {0} set Lütfen {1},
+Please set filter based on Item or Warehouse,Madde veya Depo tabanlı filtre ayarı,
+Please set leave policy for employee {0} in Employee / Grade record,Lütfen Çalışan / Not kaydındaki {0} çalışanı için izin politikası ayarı,
+Please set recurring after saving,kaydettikten sonra yinelenen ayar,
 Please set the Company,Lütfen şirketi ayarlayın.,
 Please set the Customer Address,Lütfen Müşteri Adresinizi ayarlayın,
-Please set the Date Of Joining for employee {0},Lütfen çalışan {0} için Katılma Tarihi&#39;ni ayarlayın.,
-Please set the Default Cost Center in {0} company.,Lütfen {0} şirketindeki Varsayılan Maliyet Merkezi&#39;ni ayarlayın.,
-Please set the Email ID for the Student to send the Payment Request,Lütfen Ödeme İsteğini göndermek için Öğrencinin E-posta Kimliği&#39;ni ayarlayın.,
-Please set the Item Code first,Lütfen önce Öğe Kodunu ayarlayın,
+Please set the Date Of Joining for employee {0},Lütfen çalışan {0} için Katılma Tarihi'ni ayarlayın.,
+Please set the Default Cost Center in {0} company.,Lütfen {0} şirketindeki varsayılan Maliyet Merkezi'ni ayarlayın.,
+Please set the Email ID for the Student to send the Payment Request,Lütfen Ödeme İsteğini belirlemek için Öğrencinin E-posta Kimliği'ni ayarlayın.,
+Please set the Item Code first,Lütfen önce Öğe Kodu ayarı,
 Please set the Payment Schedule,Lütfen Ödeme Planını ayarlayın,
-Please set the series to be used.,Lütfen kullanılacak serileri ayarlayın.,
+Please set the series to be used.,Lütfen kullanım serilerini ayarlayın.,
 Please set {0} for address {1},Lütfen {1} adresi için {0} ayarını yapınız,
 Please setup Students under Student Groups,Lütfen Öğrencileri Öğrenci Grupları Altına Kurun,
 Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Eğitime geribildiriminizi &#39;Eğitim Geri Bildirimi&#39; ve ardından &#39;Yeni&#39;,
 Please specify Company,Şirket belirtiniz,
-Please specify Company to proceed,Devam etmek için Firma belirtin,
-Please specify a valid 'From Case No.',Lütfen geçerlli bir 'durum nodan başlayarak' belirtiniz,
-Please specify a valid Row ID for row {0} in table {1},Tablodaki satır {0} için geçerli Satır kimliği belirtiniz {1},
-Please specify at least one attribute in the Attributes table,Nitelikler masada en az bir özellik belirtin,
+Please specify Company to proceed,Devam etmek için firma görüşü,
+Please specify a valid 'From Case No.',Lütfen geçerlli bir 'durum nodan kaynaklı' belirtiniz,
+Please specify a valid Row ID for row {0} in table {1},Tablodaki satır {0} için geçerli Satır ifadesi Belirtiniz {1},
+Please specify at least one attribute in the Attributes table,Nitelikler masada en az bir özellik görüyorum,
 Please specify currency in Company,Şirket para belirtiniz,
-Please specify either Quantity or Valuation Rate or both,Miktar veya Değerleme Br.Fiyatı ya da her ikisini de belirtiniz,
+Please specify either Quantity or Valuation Rate or both,Miktar veya Değerleme Br.Fiyatı ya da her değerlendirme de belirtiniz,
 Please specify from/to range,Menzil / dan belirtiniz,
-Please supply the specified items at the best possible rates,Lütfen belirtilen ürünleri mümkün olan en rekabetçi fiyatlarla sununuz,
-Please update your status for this training event,Lütfen bu eğitim olayına ilişkin durumunuzu güncelleyin,
+Please supply the specified items at the best possible rates,Lütfen belirtilen ürünleri mümkün olan en yüksek değerlerde sununuz,
+Please update your status for this training event,Lütfen bu eğitim olayına ilişkin açıklamayı güncelleyin,
 Please wait 3 days before resending the reminder.,Hatırlatıcıyı tekrar göndermeden önce lütfen 3 gün bekleyin.,
-Point of Sale,Satış noktası,
-Point-of-Sale,Satış noktası,
+Point of Sale,POS Satış Noktası,
+Point-of-Sale,POS Satış Noktası,
 Point-of-Sale Profile,Satış Noktası Profili,
 Portal,Portal,
 Portal Settings,Portal Ayarları,
 Possible Supplier,Olası Tedarikçi,
 Postal Expenses,Posta Giderleri,
-Posting Date,Gönderme Tarihi,
-Posting Date cannot be future date,Gönderme Tarihi gelecek tarih olamaz,
-Posting Time,Gönderme Zamanı,
+Posting Date,Gönderim Tarihi,
+Posting Date cannot be future date,Gönderim Tarihi gelecek tarih olamaz,
+Posting Time,Gönderim Saati,
 Posting date and posting time is mandatory,Gönderme tarihi ve gönderme zamanı zorunludur,
 Posting timestamp must be after {0},Gönderme zamanı damgası {0}'dan sonra olmalıdır,
 Potential opportunities for selling.,Satış için potansiyel fırsatlar.,
 Practitioner Schedule,Uygulayıcı Takvimi,
-Pre Sales,Ön satış,
-Preference,Tercih,
+Pre Sales,Ön Satış,
+Preference,Tercihler,
 Prescribed Procedures,Öngörülen Prosedürler,
-Prescription,reçete,
+Prescription,Reçete,
 Prescription Dosage,Reçeteli Dozaj,
 Prescription Duration,Reçete Süresi,
-Prescriptions,reçeteler,
+Prescriptions,Reçeteler,
 Present,Mevcut,
 Prev,Önceki,
 Preview,Önizleme,
-Preview Salary Slip,Önizleme Maaş Kayma,
+Preview Salary Slip,Maaş Bordrosu Önizleme,
 Previous Financial Year is not closed,Geçmiş Mali Yıl kapatılmamış,
 Price,Fiyat,
-Price List,Fiyat listesi,
-Price List Currency not selected,Fiyat Listesi para birimi seçilmemiş,
+Price List,Fiyat Listesi,
+Price List Currency not selected,Fiyat Listesi para birimini seçmiş,
 Price List Rate,Fiyat Listesi Oranı,
-Price List master.,Fiyat Listesi alanı,
+Price List master.,Fiyat Listesi ustası.,
 Price List must be applicable for Buying or Selling,Fiyat Listesi Alış veya Satış için geçerli olmalıdır,
 Price List {0} is disabled or does not exist,Fiyat Listesi {0} devre dışı veya yok,
 Price or product discount slabs are required,Fiyat veya ürün indirimi levhaları gereklidir,
 Pricing,Fiyatlandırma,
 Pricing Rule,Fiyatlandırma Kuralı,
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Fiyatlandırma Kuralı ilk olarak 'Uygula' alanı üzerinde seçilir, bu bir Ürün, Grup veya Marka olabilir.",
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.",Fiyatlandırma Kuralı Fiyat Listesini/belirtilen indirim yüzdesini belli kriterlere dayalı olarak geçersiz kılmak için yapılmıştır.,
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Fiyatlandırma Kuralı ilk olarak 'Uygulama' alanı üzerinde dağıtım, bu bir Ürün, Grup veya Marka olabilir.",
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.",Fiyatlandırma Kuralı Fiyat Listesini/belirtilen fiyat yüzdesini belli ölçütlere dayalı olarak geçersiz kılmak için yapılmıştır.,
 Pricing Rule {0} is updated,{0} Fiyatlandırma Kuralı güncellendi,
 Pricing Rules are further filtered based on quantity.,Fiyatlandırma Kuralları miktara dayalı olarak tekrar filtrelenir.,
 Primary Address Details,Birincil Adres Ayrıntıları,
 Primary Contact Details,Birincil İletişim Bilgileri,
-Principal Amount,Anapara tutarı,
+Principal Amount,anapara çiftleri,
 Print Format,Yazdırma Formatı,
 Print IRS 1099 Forms,IRS 1099 Formlarını Yazdır,
-Print Report Card,Rapor Kartı Yazdır,
+Print Report Card,Kartı Rapor Yazdır,
 Print Settings,Yazdırma Ayarları,
 Print and Stationery,Baskı ve Kırtasiye,
-Print settings updated in respective print format,"Yazdırma ayarları, ilgili baskı biçiminde güncellendi",
-Print taxes with zero amount,Sıfır tutarlı vergileri yazdırın,
+Print settings updated in respective print format,"Yazdırma ayarları, ilgili baskı ağırlığı güncellendi",
+Print taxes with zero amount,Sıfır etkileme vergileri yazdırın,
 Printing and Branding,Baskı ve Markalaşma,
-Private Equity,Özel sermaye,
-Privilege Leave,Privilege bırak,
+Private Equity,Özel Sermaye,
+Privilege Leave,Ayrıcalık izni,
 Probation,Deneme Süresi,
-Probationary Period,Deneme süresi,
-Procedure,prosedür,
-Process Day Book Data,İşlem Günü Defteri Verileri,
+Probationary Period,Deneme Dönemi,
+Procedure,Ameliyat,
+Process Day Book Data,Günlük Defter Verisini İşle,
 Process Master Data,Ana Verileri İşle,
-Processing Chart of Accounts and Parties,Hesapların ve Tarafların İşleme Tablosu,
-Processing Items and UOMs,Öğeleri ve UOM&#39;leri İşleme,
-Processing Party Addresses,Parti Adreslerinin İşlenmesi,
-Processing Vouchers,Fiş İşleme,
-Procurement,tedarik,
-Produced Qty,Üretilen Adet,
+Processing Chart of Accounts and Parties,Hesap Planını ve Tarafları İşleme,
+Processing Items and UOMs,Öğeleri ve Birimleri İşleme,
+Processing Party Addresses,Cari Adreslerinin İşlenmesi,
+Processing Vouchers,Balık İşleme,
+Procurement,Tedarik,
+Produced Qty,Üretilen Miktar,
 Product,Ürün,
 Product Bundle,Ürün Paketi,
 Product Search,Ürün Arama,
 Production,Üretim,
-Production Item,Üretim Öğe,
+Production Item,Üretim Kalemi,
 Products,Ürünler,
-Profit and Loss,Kar ve zarar,
+Profit and Loss,Kar ve Zarar,
 Profit for the year,Yılın karı,
-Program,program,
-Program in the Fee Structure and Student Group {0} are different.,Ücret Yapısı ve Öğrenci Grubu {0} içindeki program farklıdır.,
+Program,Program,
+Program in the Fee Structure and Student Group {0} are different.,Ücret Yapısı ve Öğrenci Grubu {0} kalma programı.,
 Program {0} does not exist.,{0} programı mevcut değil.,
-Program: ,Programı:,
-Progress % for a task cannot be more than 100.,Bir görev için ilerleme% 100&#39;den fazla olamaz.,
+Program: ,Program: ,
+Progress % for a task cannot be more than 100.,Bir görev için ilerleme% 100'den fazla olamaz.,
 Project Collaboration Invitation,Proje Ortak Çalışma Daveti,
 Project Id,Proje Kimliği,
-Project Manager,Proje Müdürü,
-Project Name,proje Adı,
+Project Manager,Proje Yöneticisi,
+Project Name,Proje Adı,
 Project Start Date,Proje Başlangıç Tarihi,
-Project Status,Proje durumu,
+Project Status,Proje Durumu,
 Project Summary for {0},{0} için Proje Özeti,
-Project Update.,Proje Güncelleme.,
+Project Update.,Proje Güncellemesi.,
 Project Value,Proje Bedeli,
 Project activity / task.,Proje faaliyeti / görev.,
 Project master.,Proje alanı.,
-Project-wise data is not available for Quotation,Proje bilgisi verileri Teklifimiz için mevcut değildir,
-Projected,öngörülen,
-Projected Qty,Öngörülen Adet,
+Project-wise data is not available for Quotation,Proje bilgisi verileri Teklifimiz için mevcut değil,
+Projected,Öngörülen,
+Projected Qty,Öngörülen Miktar,
 Projected Quantity Formula,Öngörülen Miktar Formülü,
 Projects,Projeler,
 Property,Özellik,
 Property already added,Özellik zaten eklendi,
 Proposal Writing,Teklifi Yazma,
 Proposal/Price Quote,Teklif / Fiyat Teklifi,
-Prospecting,Maden,
+Prospecting,Bilgi Toplama,
 Provisional Profit / Loss (Credit),Geçici Kar / Zarar (Kredi),
 Publications,Yayınlar,
-Publish Items on Website,Web sitesinde Ürünleri yayınlayın,
+Publish Items on Website,Web sitesinde ürünleri yayınlayın,
 Published,Yayınlandı,
-Publishing,yayıncılık,
-Purchase,Satın Alım,
-Purchase Amount,Satın alma miktarı,
-Purchase Date,Satınalma tarihi,
-Purchase Invoice,Alış Faturası,
-Purchase Invoice {0} is already submitted,Satın alma Faturası {0} zaten teslim edildi,
+Publishing,Yayıncılık,
+Purchase,Satınalma,
+Purchase Amount,Satınalma Tutarı,
+Purchase Date,Satınalma Tarihi,
+Purchase Invoice,Satınalma Faturası,
+Purchase Invoice {0} is already submitted,Satınalma Faturası {0} zaten teslim edildi,
 Purchase Manager,Satınalma Yöneticisi,
-Purchase Master Manager,Satınalma Usta Müdürü,
-Purchase Order,Satın alma emri,
+Purchase Master Manager,Satınalma Ana Yöneticisi,
+Purchase Order,Satınalma Siparişi,
 Purchase Order Amount,Satınalma Siparişi Tutarı,
 Purchase Order Amount(Company Currency),Satınalma Siparişi Tutarı (Şirket Para Birimi),
 Purchase Order Date,Satınalma Sipariş Tarihi,
 Purchase Order Items not received on time,Satınalma Siparişi zamanında alınmamış,
-Purchase Order number required for Item {0},Ürüni {0} için Satınalma Siparişi numarası gerekli,
+Purchase Order number required for Item {0},Ürün {0} için Satınalma Siparişi numarası gerekli,
 Purchase Order to Payment,Ödeme Satınalma Siparişi,
 Purchase Order {0} is not submitted,Satınalma Siparişi {0} teslim edilmedi,
-Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,{1} hesap kartının puan durumu nedeniyle {0} için Satın Alma Siparişlerine izin verilmiyor.,
-Purchase Orders given to Suppliers.,Tedarikçilere verilen Satın alma Siparişleri.,
+Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,{1} hesap kartının puan durumu nedeniyle {0} için Satınalma Siparişlerine izin verilmiyor.,
+Purchase Orders given to Suppliers.,Tedarikçilere verilen Satınalma Siparişleri.,
 Purchase Price List,Satınalma Fiyat Listesi,
-Purchase Receipt,Satın Alma İrsaliyesi,
+Purchase Receipt,Satınalma İrsaliyesi,
 Purchase Receipt {0} is not submitted,Satın alma makbuzu {0} teslim edilmedi,
-Purchase Tax Template,Vergi Şablon Satınalma,
-Purchase User,Satınalma Kullanıcı,
-Purchase orders help you plan and follow up on your purchases,Satın alma siparişleri planı ve alışverişlerinizi takip,
+Purchase Tax Template,Vergi Şablonu Satınalma,
+Purchase User,Satınalma Kullanıcısı,
+Purchase orders help you plan and follow up on your purchases,Satın alma siparişleri planı ve alışverişlerinizi takip edin,
 Purchasing,Satınalma,
-Purpose must be one of {0},Amaç şunlardan biri olmalıdır: {0},
+Purpose must be one of {0},Amaç uzaydan biri olmalıdır: {0},
 Qty,Miktar,
 Qty To Manufacture,Üretilecek Miktar,
-Qty Total,Adet Toplam,
-Qty for {0},Için Adet {0},
-Qualification,{0}Yeterlilik{/0} {1} {/1},
+Qty Total,Miktar Toplam,
+Qty for {0},{0} için Miktar,
+Qualification,Yeterlilik,
 Quality,Kalite,
-Quality Action,Kaliteli eylem,
-Quality Goal.,Kalite Hedef,
-Quality Inspection,Kalite kontrol,
-Quality Inspection: {0} is not submitted for the item: {1} in row {2},"Kalite Denetimi: {0}, {2} satırındaki öğeye gönderilmez: {2}",
+Quality Action,Kalite İşlemi,
+Quality Goal.,Kalite Hedefi.,
+Quality Inspection,Kalite Kontrol,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},"Kalite Denetimi: {0}, {2} verisindeki öğeye göndermez: {2}",
 Quality Management,Kalite Yönetimi,
 Quality Meeting,Kalite Toplantısı,
-Quality Procedure,Kalite prosedürü,
-Quality Procedure.,Kalite Prosedürü,
-Quality Review,Kalite incelemesi,
-Quantity,miktar,
+Quality Procedure,Kalite Prosedürü,
+Quality Procedure.,Kalite Prosedürü.,
+Quality Review,Kalite İnceleme,
+Quantity,Miktar,
 Quantity for Item {0} must be less than {1},Ürün {0} için miktar{1} den az olmalıdır,
 Quantity in row {0} ({1}) must be same as manufactured quantity {2},Satır {0} ({1}) deki miktar üretilen miktar {2} ile aynı olmalıdır,
 Quantity must be less than or equal to {0},Miktara göre daha az veya ona eşit olmalıdır {0},
 Quantity must not be more than {0},Miktar fazla olmamalıdır {0},
 Quantity required for Item {0} in row {1},Satır {1} deki Ürün {0} için gereken miktar,
-Quantity should be greater than 0,Miktar 0&#39;dan büyük olmalıdır,
-Quantity to Make,Miktarı,
-Quantity to Manufacture must be greater than 0.,Üretim Miktar 0&#39;dan büyük olmalıdır.,
+Quantity should be greater than 0,Miktar 0'dan büyük olmalıdır,
+Quantity to Make,Yapılması Gereken Miktar,
+Quantity to Manufacture must be greater than 0.,Üretim Miktar 0'dan büyük olmalıdır.,
 Quantity to Produce,Üretilecek Miktar,
 Quantity to Produce can not be less than Zero,Üretilecek Miktar Sıfırdan Az olamaz,
 Query Options,Sorgu Seçenekleri,
-Queued for replacing the BOM. It may take a few minutes.,BOM&#39;u değiştirmek için sıraya alındı. Birkaç dakika sürebilir.,
-Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Tüm Malzeme Listesi&#39;nde en son fiyatı güncellemek için bekletildi. Birkaç dakika sürebilir.,
-Quick Journal Entry,Hızlı Kayıt Girdisi,
-Quot Count,Kontör Sayısı,
+Queued for replacing the BOM. It may take a few minutes.,BOM'u değiştirmek için listeye alındı. Birkaç dakika sürebilir.,
+Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Tüm Malzeme Listesinde en son fiyat güncellemek için bekletildi. Birkaç dakika sürüyor.,
+Quick Journal Entry,Hızlı Yevmiye Girişi,
+Quot Count,Teklif Sayısı,
 Quot/Lead %,Teklif/Müşteri Adayı yüzdesi,
 Quotation,Fiyat Teklifi,
 Quotation {0} is cancelled,Teklif {0} iptal edildi,
-Quotation {0} not of type {1},Teklif {0} {1} türünde,
+Quotation {0} not of type {1},Teklif {0} {1} türü,
 Quotations,Fiyat Teklifleri,
-"Quotations are proposals, bids you have sent to your customers","Alıntılar, müşterilerinize gönderilen adres teklifler önerileri şunlardır",
-Quotations received from Suppliers.,Tedarikçilerden alınan teklifler.,
+"Quotations are proposals, bids you have sent to your customers","Alıntılar, kapsamlılaştırmaya yönelik adres önerileri önerileri",
+Quotations received from Suppliers.,tedarikçilerden alınan teklifler.,
 Quotations: ,Fiyat Teklifleri,
-Quotes to Leads or Customers.,Müşterilere veya Taleplere verilen fiyatlar.,
+Quotes to Leads or Customers.,Müşterilere veya Adaylara verilen Teklifler.,
 RFQs are not allowed for {0} due to a scorecard standing of {1},{1} puan kartının statüsü nedeniyle {0} için tekliflere izin verilmiyor.,
 Range,Aralık,
 Rate,Birim Fiyat,
 Rate:,Puan:,
 Rating,Değerlendirme,
 Raw Material,Hammadde,
-Raw Materials,İşlenmemiş içerikler,
+Raw Materials,Hammaddeler,
 Raw Materials cannot be blank.,Hammaddeler boş olamaz.,
-Re-open,Yeniden açın,
+Re-open,Yeniden aç,
 Read blog,Blogu oku,
 Read the ERPNext Manual,ERPNext kitapçığını okuyun,
-Reading Uploaded File,Yüklenen Dosyayı Okumak,
+Reading Uploaded File,Yüklenen Dosyayı Okuma,
 Real Estate,Gayrimenkul,
 Reason For Putting On Hold,Beklemeye Alma Nedeni,
 Reason for Hold,Bekletme Nedeni,
 Reason for hold: ,Bekletme nedeni:,
 Receipt,Makbuz,
-Receipt document must be submitted,Makbuz belge teslim edilmelidir,
-Receivable,alacak,
+Receipt document must be submitted,Fiş belge teslim edilmelidir,
+Receivable,Alacak,
 Receivable Account,Alacak Hesabı,
 Received,Alındı,
-Received On,Açık Alınan,
+Received On,Alınan Tarih,
 Received Quantity,Alınan Miktar,
 Received Stock Entries,Alınan Stok Girişleri,
 Receiver List is empty. Please create Receiver List,Alıcı listesi boş. Alıcı listesi oluşturunuz,
 Recipients,Alıcılar,
-Reconcile,uzlaştırmak,
+Reconcile,Uzlaştır,
 "Record of all communications of type email, phone, chat, visit, etc.","Tip e-posta, telefon, chat, ziyaretin, vb her iletişimin Kayıt",
-Records,kayıtlar,
-Redirect URL,Yönlendirme URL,
+Records,Kayıtlar,
+Redirect URL,Yönlendirme URL'si,
 Ref,Ref,
-Ref Date,Ref Tarihi,
+Ref Date,Referans Tarihi,
 Reference,Referans,
 Reference #{0} dated {1},Referans # {0} tarihli {1},
 Reference Date,Referans Tarihi,
-Reference Doctype must be one of {0},Referans Doctype biri olmalı {0},
-Reference Document,referans Belgesi,
+Reference Doctype must be one of {0},Referans Belgesi biri olmalı {0},
+Reference Document,Referans Belgesi,
 Reference Document Type,Referans Belge Türü,
 Reference No & Reference Date is required for {0},Referans No ve Referans Tarihi gereklidir {0},
-Reference No and Reference Date is mandatory for Bank transaction,Referans No ve Referans Tarih Banka işlem için zorunludur,
-Reference No is mandatory if you entered Reference Date,Referans Tarihi girdiyseniz Referans No zorunludur,
-Reference No.,Referans Numarası.,
-Reference Number,Referans numarası,
-Reference Owner,referans Sahibi,
+Reference No and Reference Date is mandatory for Bank transaction,Referans No ve Referans Tarih Banka işlem verileri,
+Reference No is mandatory if you entered Reference Date,Referans Tarihi girerseniz Referans No saldırganlar,
+Reference No.,Referans No.,
+Reference Number,Referans Numarası,
+Reference Owner,Referans Sahibi,
 Reference Type,Referans Tipi,
 "Reference: {0}, Item Code: {1} and Customer: {2}","Referans: {0}, Ürün Kodu: {1} ve Müşteri: {2}",
-References,Kaynaklar,
-Refresh Token,Yenile Jetonu,
+References,Referanslar,
+Refresh Token,Token Yenile,
 Region,Bölge,
-Register,Kayıt olmak,
-Reject,reddetmek,
+Register,Kayıt ol,
+Reject,Reddet,
 Rejected,Reddedildi,
-Related,İlgili,
+Related,Bağlantılı,
 Relation with Guardian1,Guardian1 ile İlişkisi,
 Relation with Guardian2,Guardian2 ile İlişkisi,
-Release Date,Yayın tarihi,
+Release Date,Yayın Tarihi,
 Reload Linked Analysis,Bağlantılı Analizi Yeniden Yükle,
 Remaining,Kalan,
 Remaining Balance,Kalan Bakiye,
 Remarks,Açıklamalar,
-Reminder to update GSTIN Sent,GSTIN&#39;in güncellenmesi için hatırlatıcı gönderildi,
-Remove item if charges is not applicable to that item,Ücretleri bu öğeye geçerli değilse öğeyi çıkar,
+Reminder to update GSTIN Sent,GSTIN'in güncellenmesi için hatırlatıcı gönderildi,
+Remove item if charges is not applicable to that item,Bu öğe için ücret/masraf uygulanmıyorsa öğeyi kaldırın,
 Removed items with no change in quantity or value.,Miktar veya değer hiçbir değişiklik ile kaldırıldı öğeler.,
-Reopen,Yeniden açmak,
-Reorder Level,Yeniden sipariş seviyesi,
-Reorder Qty,Yeniden Sipariş Adet,
+Reopen,Yeniden aç,
+Reorder Level,Yeniden Sipariş Seviyesi,
+Reorder Qty,Yeniden Sipariş Miktarı,
 Repeat Customer Revenue,Tekrar Müşteri Gelir,
 Repeat Customers,Tekrar Müşteriler,
-Replace BOM and update latest price in all BOMs,Tüm BOM&#39;larda BOM&#39;u değiştirin ve en son fiyatı güncelleyin.,
-Replied,Cevaplandı,
-Replies,Cevaplar,
+Replace BOM and update latest price in all BOMs,Tüm BOM'larda BOM'u değiştirin ve en son fiyatı güncelleyin.,
+Replied,Yanıtlandı,
+Replies,Yanıtlar,
 Report,Rapor,
 Report Builder,Rapor Oluşturucu,
 Report Type,Rapor Türü,
 Report Type is mandatory,Rapor Tipi zorunludur,
 Reports,Raporlar,
-Reqd By Date,Teslim Tarihi,
-Reqd Qty,Reqd Adet,
-Request for Quotation,Fiyat Teklif İsteği,
-Request for Quotations,Fiyat Teklif Talepleri,
+Reqd By Date,Talep Tarihi,
+Reqd Qty,Talep Miktarı,
+Request for Quotation,Teklif Talebi,
+Request for Quotations,Teklif Talepleri,
 Request for Raw Materials,Hammadde Talebi,
-Request for purchase.,Satın alma talebi,
-Request for quotation.,Fiyat Teklif Talebi.,
-Requested Qty,İstenen miktar,
+Request for purchase.,Satınalma Talebi,
+Request for quotation.,Teklif Talebi.,
+Requested Qty,İstenen Miktar,
 "Requested Qty: Quantity requested for purchase, but not ordered.","İstenen Miktar: Satın almak için istenen, ancak sipariş edilmeyen miktar",
-Requesting Site,Site İsteği,
+Requesting Site,Site Talep ediyor,
 Requesting payment against {0} {1} for amount {2},"karşı ödeme talep {0}, {1} miktarda {2}",
 Requestor,Talep eden,
 Required On,Gerekli Açık,
-Required Qty,Gerekli Adet,
-Required Quantity,Gerekli miktar,
+Required Qty,Gerekli Miktar,
+Required Quantity,Gerekli Miktar,
 Reschedule,Yeniden Planlama,
 Research,Araştırma,
 Research & Development,Araştırma ve Geliştirme,
 Researcher,Araştırmacı,
-Resend Payment Email,Ödeme E-posta tekrar gönder,
-Reserve Warehouse,Depo Deposu,
+Resend Payment Email,Ödeme E-postasını Tekrar Gönder,
+Reserve Warehouse,Rezerv Deposu,
 Reserved Qty,Ayrılmış Miktar,
 Reserved Qty for Production,Üretim için Miktar saklıdır,
 Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Üretim İçin Ayrılmış Miktar: İmalat kalemlerini yapmak için hammadde miktarı.,
-"Reserved Qty: Quantity ordered for sale, but not delivered.","Ayrılan Miktar: Satış için sipariş edilen, ancak teslim edilmeyen miktar.",
+"Reserved Qty: Quantity ordered for sale, but not delivered.","Ayrılan Miktar: Satış için sipariş verildi, ancak teslim edilmeyen miktar.",
 Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Teslim Edilen Hammaddelerde {0} Öğe için Ayrılmış Depo zorunlu,
 Reserved for manufacturing,üretim için ayrılmış,
 Reserved for sale,İkinci saklıdır,
-Reserved for sub contracting,Alt müteahhitlik için ayrılmıştır.,
-Resistant,dayanıklı,
+Reserved for sub contracting,Fason Miktarı,
+Resistant,Dayanıklı,
 Resolve error and upload again.,Hatayı çözün ve tekrar yükleyin.,
 Responsibilities,Sorumluluklar,
 Rest Of The World,Dünyanın geri kalanı,
@@ -2404,16 +2404,16 @@
 Retail & Wholesale,Toptan ve Perakende Satış,
 Retail Operations,Perakende İşlemleri,
 Retained Earnings,Dağıtılmamış karlar,
-Retention Stock Entry,Stok Saklama Stokları,
-Retention Stock Entry already created or Sample Quantity not provided,Elde edilen stok tutarı girişi veya Numune Miktarı mevcut değil,
-Return,Dönüş,
-Return / Credit Note,İade / Kredi Notu,
+Retention Stock Entry,Saklama Stok Hareketi,
+Retention Stock Entry already created or Sample Quantity not provided,Saklama Stok Hareketi zaten oluşturulmuş veya Örnek Miktarı sağlanmadı,
+Return,İade,
+Return / Credit Note,İade / Alacak Dekontu,
 Return / Debit Note,İade / Borç Dekontu,
-Returns,İade,
+Return Issued,İade edildi,
 Reverse Journal Entry,Ters Günlük Girişi,
 Review Invitation Sent,Gönderilen Davetiyeyi İnceleme,
 Review and Action,İnceleme ve İşlem,
-Role,rol,
+Role,Rol,
 Rooms Booked,Rezervasyonlu Odalar,
 Root Company,Kök Şirketi,
 Root Type,Kök Tipi,
@@ -2427,154 +2427,154 @@
 Row # {0}: Batch No must be same as {1} {2},Satır # {0}: Toplu Hayır aynı olmalıdır {1} {2},
 Row # {0}: Cannot return more than {1} for Item {2},Satır # {0}: daha geri olamaz {1} Öğe için {2},
 Row # {0}: Rate cannot be greater than the rate used in {1} {2},"Sıra # {0}: Oran, {1} {2} &#39;de kullanılan hızdan daha büyük olamaz",
-Row # {0}: Serial No is mandatory,Satır # {0}: Seri No zorunludur,
+Row # {0}: Serial No is mandatory,Satır # {0}: Seri No,
 Row # {0}: Serial No {1} does not match with {2} {3},Satır # {0}: Seri No {1} ile eşleşmiyor {2} {3},
 Row #{0} (Payment Table): Amount must be negative,Satır # {0} (Ödeme Tablosu): Tutar negatif olmalı,
 Row #{0} (Payment Table): Amount must be positive,Sıra # {0} (Ödeme Tablosu): Miktarın pozitif olması gerekir,
 Row #{0}: Account {1} does not belong to company {2},"Sıra # {0}: Hesap {1}, şirkete {2} ait değil",
-Row #{0}: Allocated Amount cannot be greater than outstanding amount.,"Sıra # {0}: Tahsis Edilen Miktar, ödenmemiş tutardan büyük olamaz.",
-"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Satır {0}: Sabit Varlık {1} gönderilemedi, zaten {2}",
-Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Satır # {0}: Öğe {1} için faturalanan tutardan daha büyükse Oran ayarlanamaz.,
-Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Satır # {0}: Boşluk tarihi {1} Çek tarihinden önce olamaz {2},
-Row #{0}: Duplicate entry in References {1} {2},Satır # {0}: Referanslarda çoğaltılmış girdi {1} {2},
-Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,"Sıra # {0}: Beklenen Teslim Tarihi, Satın Alma Siparişi Tarihinden önce olamaz",
+Row #{0}: Allocated Amount cannot be greater than outstanding amount.,"Sıra # {0}: Tahsis Edilen Miktar, ödenmemiş tutarlardan büyük olamaz.",
+"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Satır {0}: Sabit Kıymet {1} gönderilemedi, zaten {2}",
+Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Satır # {0}: Öğe {1} için faturalanan tutarlardan daha büyükse Oran ayarlanamaz.,
+Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Satır # {0}: Boşluk tarihi {1} Çek taşıyıcıları önce olamaz {2},
+Row #{0}: Duplicate entry in References {1} {2},Satır # {0}: Referanslarda sonlandırmış girmiş {1} {2},
+Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,"Sıra # {0}: Beklenen Teslim Tarihi, Satınalma Siparişi Tarihinden önce olamaz",
 Row #{0}: Item added,Satır # {0}: Öğe eklendi,
-Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Satır # {0}: günlük girdisi {1} hesabı yok {2} ya da zaten başka bir çeki karşı eşleşti,
-Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Satır # {0}: Sipariş zaten var olduğu Tedarikçi değiştirmek için izin verilmez,
-Row #{0}: Please set reorder quantity,Satır # {0}: yeniden sipariş miktarını ayarlamak Lütfen,
+Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Satır # {0}: Yevmiye Kaydı {1} hesabı yok {2} ya da zaten başka bir çeki karşı eşleşti,
+Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Satır # {0}: Sipariş zaten var olduğu tedarikçisi değiştirmek için izin verilmez,
+Row #{0}: Please set reorder quantity,Satır # {0}: yeniden satınalma yetkisi Lütfen,
 Row #{0}: Please specify Serial No for Item {1},Satır # {0}: Ürün{1} için seri no belirtiniz,
-Row #{0}: Qty increased by 1,Satır # {0}: Adet 1 arttı,
+Row #{0}: Qty increased by 1,Satır # {0}: Adet 1 arttırıldı,
 Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Satır # {0}: Puan aynı olmalıdır {1}: {2} ({3} / {4}),
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,"Sıra # {0}: Referans Belge Türü, Gider Talebi veya Günlük Girişi olmalıdır",
-"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Satır # {0}: Referans Doküman Tipi Satın Alma Emri biri, Satın Alma Fatura veya günlük girdisi olmalıdır",
-Row #{0}: Rejected Qty can not be entered in Purchase Return,Satır # {0}: Miktar Satınalma Return girilemez Reddedildi,
-Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Satır # {0}: Depo Reddedildi reddedilen Öğe karşı zorunludur {1},
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,"Sıra # {0}: Referans Belge Türü, Gider Talebi veya Yevmiye Kaydı olmalıdır",
+"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Satır # {0}: Referans Doküman Tipi Satınalma Emri biri, Satınalma Fatura veya günlük girmesi gerekir",
+Row #{0}: Rejected Qty can not be entered in Purchase Return,Satır # {0}: Miktar Satınalma İade girilemez Reddedildi,
+Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Satır # {0}: Depo Reddedildi reddedilen Öğeye karşı dosyalar {1},
 Row #{0}: Reqd by Date cannot be before Transaction Date,"Sıra # {0}: Reqd by Date, İşlem Tarihinden önce olamaz",
-Row #{0}: Set Supplier for item {1},Satır # {0}: öğe için Set Tedarikçi {1},
+Row #{0}: Set Supplier for item {1},Satır # {0}: öğe için Set Tedarikçisi {1},
 Row #{0}: Status must be {1} for Invoice Discounting {2},Satır # {0}: Fatura İndirimi {2} için durum {1} olmalı,
-"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches",Sıra # {0}: Toplu işlem {1} yalnızca {2} adetlik bir miktara sahip. Lütfen {3} adet mevcut olan başka bir partiyi seçin veya satırı birden çok partiye dağıtmak / yayınlamak için satırı birden çok satıra bölün.,
+"Row #{0}: The batch {1} has only {2} qty. Please select another batch which has {3} qty available or split the row into multiple rows, to deliver/issue from multiple batches",Sıra # {0}: Toplu işlem {1} yalnızca {2} adetlik bir miktara sahiptir. Lütfen {3} adet mevcut olan başka bir partiyi seçin veya bilgiyi birden çok partiye dağıtmak / yayınlamak için bilgi birdenbire çok satıra bölünür.,
 Row #{0}: Timings conflicts with row {1},Satır # {0}: satır ile Gecikme çatışmalar {1},
 Row #{0}: {1} can not be negative for item {2},Satır # {0}: {1} öğe için negatif olamaz {2},
 Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Sıra Hayır {0}: Tutar Gider İstem {1} karşı Tutar Bekleyen daha büyük olamaz. Bekleyen Tutar {2},
-Row {0} : Operation is required against the raw material item {1},{0} Satırı: {1} hammadde öğesine karşı işlem yapılması gerekiyor,
-Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},"Satır {0} # Tahsis edilen tutar {1}, talep edilmeyen tutardan {2} daha büyük olamaz",
-Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},"{0} Satırı # Ürün {1}, Satın Alma Siparişi {3} &#39;den {2}&#39; den fazla transfer edilemiyor",
-Row {0}# Paid Amount cannot be greater than requested advance amount,Satır {0} # Ödenen Miktar istenen avans tutarı kadar büyük olamaz,
-Row {0}: Activity Type is mandatory.,Satır {0}: Etkinlik Türü zorunludur.,
-Row {0}: Advance against Customer must be credit,Satır {0}: Müşteriye karşı Advance kredi olmalı,
-Row {0}: Advance against Supplier must be debit,Satır {0}: Tedarikçi karşı Advance debit gerekir,
-Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Satır {0}: Ayrılan miktarı {1} daha az olması veya Ödeme giriş miktarı eşittir gerekir {2},
-Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Satır {0}: Tahsis miktar {1} daha az ya da olağanüstü miktarda fatura eşit olmalıdır {2},
+Row {0} : Operation is required against the raw material item {1},{0} Satırı: {1} hammadde işleminin karşı işlemi yapılması gerekiyor,
+Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},"Satır {0} # Tahsis edilen tutarlar {1}, talep edilmeyen tutarlardan {2} daha büyük olamaz",
+Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},"{0} Satırı # Ürün {1}, Satınalma Siparişi {3} &#39;den {2}&#39; den fazla transfer edilemiyor",
+Row {0}# Paid Amount cannot be greater than requested advance amount,Satır {0} # Ödenen Miktar istenen avans kadar büyük olamaz,
+Row {0}: Activity Type is mandatory.,Satır {0}: Faaliyet Türü.,
+Row {0}: Advance against Customer must be credit,Satır {0}: Müşteriye karşı Avans kredisi olmalı,
+Row {0}: Advance against Supplier must be debit,Satır {0}: Tedarikçiye karşı Avans ödemesi gerekir,
+Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Satır {0}: Ayrılık miktarı {1} daha az olması veya Ödeme giriş miktarının büyüklüğü olması gerekir {2},
+Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Satır {0}: Tahsis miktarı {1} daha az ya da yüce fatura miktarı eşit olmalıdır {2},
 Row {0}: An Reorder entry already exists for this warehouse {1},Satır {0}: Bir Yeniden Sipariş girişi zaten bu depo için var {1},
 Row {0}: Bill of Materials not found for the Item {1},Satır {0}: Malzeme Listesi Öğe için bulunamadı {1},
-Row {0}: Conversion Factor is mandatory,Satır {0}: Dönüşüm katsayısı zorunludur,
-Row {0}: Cost center is required for an item {1},{0} Satırı: {1} öğesi için maliyet merkezi gerekiyor,
-Row {0}: Credit entry can not be linked with a {1},Satır {0}: Kredi giriş ile bağlantılı edilemez bir {1},
-Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Satır {0}: BOM # Döviz {1} seçilen para birimi eşit olmalıdır {2},
-Row {0}: Debit entry can not be linked with a {1},Satır {0}: Banka giriş ile bağlantılı edilemez bir {1},
+Row {0}: Conversion Factor is mandatory,Satır {0}: Dönüşüm tüketimi tüketimi,
+Row {0}: Cost center is required for an item {1},{0} Satırı: {1} öğe için maliyet merkezi gerekiyor,
+Row {0}: Credit entry can not be linked with a {1},Satır {0}: Kredi girişi ile bağlantılı olamaz bir {1},
+Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Satır {0}: BOM # Döviz {1} seçilen para birimine eşit olmalıdır {2},
+Row {0}: Debit entry can not be linked with a {1},Satır {0}: Banka girişi ile bağlantılı olamaz bir {1},
 Row {0}: Depreciation Start Date is required,Satır {0}: Amortisman Başlangıç Tarihi gerekli,
-Row {0}: Enter location for the asset item {1},Satır {0}: {1} varlık öğesi için yer girin,
-Row {0}: Exchange Rate is mandatory,Satır {0}: Döviz Kuru zorunludur,
+Row {0}: Enter location for the asset item {1},Satır {0}: {1} varlık varlığı için yer girin,
+Row {0}: Exchange Rate is mandatory,Satır {0}: Döviz Kuru cezaları,
 Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Satır {0}: Faydalı Ömürden Sonra Beklenen Değer Brüt Alım Tutarından daha az olmalıdır,
-Row {0}: From Time and To Time is mandatory.,Satır {0}: From Time ve Zaman için zorunludur.,
+Row {0}: From Time and To Time is mandatory.,Satır {0}: From Time ve Zaman için bakımları.,
 Row {0}: From Time and To Time of {1} is overlapping with {2},Satır {0}: Zaman ve zaman {1} ile örtüşen {2},
-Row {0}: From time must be less than to time,{0} Satırı: Zamandan zamandan az olmalıdır,
+Row {0}: From time must be less than to time,{0} Satırı: Zamandan duyguları az olmalı,
 Row {0}: Hours value must be greater than zero.,Satır {0}: Saat değeri sıfırdan büyük olmalıdır.,
 Row {0}: Invalid reference {1},Satır {0}: Geçersiz başvuru {1},
-Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Satır {0}: Parti / Hesap ile eşleşmiyor {1} / {2} içinde {3} {4},
+Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Satır {0}: Cari / Hesap ile eşleşmiyor {1} / {2} içinde {3} {4},
 Row {0}: Party Type and Party is required for Receivable / Payable account {1},Satır {0}: Parti Tipi ve Parti Alacak / Borç hesabı için gerekli olan {1},
 Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Satır {0}: Satış / Satınalma Siparişi karşı Ödeme hep avans olarak işaretlenmiş olmalıdır,
-Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Satır {0}: kontrol edin Hesabı karşı 'Advance mı' {1} Bu bir avans giriş ise.,
+Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,Satır {0}: Kontrol edin Hesabı karşı 'Advance mı' {1} Bu bir avans girişi ise.,
 Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,{0} Satırı: Lütfen Satış Vergileri ve Masraflarında Vergi Muafiyeti Nedeni ayarını yapın,
-Row {0}: Please set the Mode of Payment in Payment Schedule,{0} Satırı: Lütfen Ödeme Planında Ödeme Modunu ayarlayın,
-Row {0}: Please set the correct code on Mode of Payment {1},{0} Satırı: Lütfen {1} Ödeme Modunda doğru kodu ayarlayın,
-Row {0}: Qty is mandatory,Satır {0}: Miktar zorunludur,
-Row {0}: Quality Inspection rejected for item {1},{0} Satırı: {1} kalemi için Kalite Denetimi reddedildi,
-Row {0}: UOM Conversion Factor is mandatory,Satır {0}: Ölçü Birimi Dönüşüm Faktörü zorunludur,
-Row {0}: select the workstation against the operation {1},{0} satırı: {1} işlemine karşı iş istasyonunu seçin,
-Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,{0} Satırı: {1} {2} Numarası için seri numarası gerekli. {3} adresini verdiniz.,
-Row {0}: {1} must be greater than 0,{0} satırı: {1} 0&#39;dan büyük olmalı,
+Row {0}: Please set the Mode of Payment in Payment Schedule,{0} Satırı: Lütfen Ödeme Planında Ödeme Modu ayarı,
+Row {0}: Please set the correct code on Mode of Payment {1},{0} Satırı: Lütfen {1} Ödeme Modunda doğru kodu ayarı,
+Row {0}: Qty is mandatory,Satır {0}: Miktar cezaları,
+Row {0}: Quality Inspection rejected for item {1},{0} Satırı: {1} kalem için Kalite Denetimi reddedildi,
+Row {0}: UOM Conversion Factor is mandatory,Satır {0}: Ölçü Birimi Dönüşüm Faktörü Hizmetleri,
+Row {0}: select the workstation against the operation {1},{0} bilgisi: {1} işlemine karşı iş istasyonunu seçin,
+Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,{0} Satırı: {1} {2} Numara için seri numarası gerekli. {3} adresini verdiniz.,
+Row {0}: {1} must be greater than 0,{0} bilgisi: {1} 0'dan büyük olmalı,
 Row {0}: {1} {2} does not match with {3},Satır {0}: {1} {2} ile eşleşmiyor {3},
 Row {0}:Start Date must be before End Date,Satır {0}: Başlangıç tarihi bitiş tarihinden önce olmalıdır,
-Rows with duplicate due dates in other rows were found: {0},Diğer satırlardaki yinelenen teslim tarihlerine sahip satırlar bulundu: {0},
-Rules for adding shipping costs.,Nakliye maliyetleri ekleme  Kuralları.,
-Rules for applying pricing and discount.,Fiyatlandırma ve indirim uygulanması için kurallar.,
-S.O. No.,Satış Emri No,
+Rows with duplicate due dates in other rows were found: {0},Diğer satırlardaki yinelenen teslim dosyalarına sahip satırlar bulundu: {0},
+Rules for adding shipping costs.,Nakliye masraflarını yükleme Kuralları.,
+Rules for applying pricing and discount.,Fiyatlandırma ve indirim için kurallar.,
+S.O. No.,Satış Siparişi No,
 SGST Amount,SGST Tutarı,
 SO Qty,SO Adet,
 Safety Stock,Emniyet Stoğu,
 Salary,Maaş,
-Salary Slip ID,Maaş Kayma kimliği,
-Salary Slip of employee {0} already created for this period,çalışanın maaş Kuponu {0} zaten bu dönem için oluşturulan,
-Salary Slip of employee {0} already created for time sheet {1},çalışanın maaş Kuponu {0} zaten zaman çizelgesi için oluşturulan {1},
-Salary Slip submitted for period from {0} to {1},{0} &#39;dan {1}&#39; e kadar dönem için gönderilen maaş kaydı,
+Salary Slip ID,Maaş kayma kimliği,
+Salary Slip of employee {0} already created for this period,çalışanın maaş Kuponu {0} zaten bu dönem için tahrik edilen,
+Salary Slip of employee {0} already created for time sheet {1},çalışanın maaş Kuponu {0} zaten zaman ayırmak için çalışanlar {1},
+Salary Slip submitted for period from {0} to {1},{0} &#39;dan {1}&#39; e kadar dönem için maaş yardımı,
 Salary Structure Assignment for Employee already exists,Çalışan için Maaş Yapısı Ataması zaten var,
 Salary Structure Missing,Maaş Yapısı Eksik,
-Salary Structure must be submitted before submission of Tax Ememption Declaration,Vergi İstisnası Beyannamesi sunulmadan önce Maaş Yapısı ibraz edilmelidir,
+Salary Structure must be submitted before submission of Tax Ememption Declaration,Vergi İstisnası Beyannamesi sunulmadan Maaş Yapısı ibraz edilmelidir,
 Salary Structure not found for employee {0} and date {1},{0} çalışanı ve {1} tarihi için Maaş Yapısı bulunamadı,
-Salary Structure should have flexible benefit component(s) to dispense benefit amount,"Maaş Yapısı, fayda miktarını dağıtmak için esnek fayda bileşenlerine sahip olmalıdır.",
-"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Maaş zaten {0} ve {1}, bu tarih aralığında olamaz başvuru süresini bırakın arasındaki dönem için işlenmiş.",
-Sales,Satışlar,
-Sales Account,Satış hesabı,
+Salary Structure should have flexible benefit component(s) to dispense benefit amount,"Maaş Yapısı, fayda miktarını dağıtmak için esnek fayda miktarına sahip olmalıdır.",
+"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Maaş zaten {0} ve {1}, bu tarih aralığında başvuru yapılamaz süreler arası dönem için işlenmiş.",
+Sales,Satış,
+Sales Account,Satış Hesabı,
 Sales Expenses,Satış Giderleri,
-Sales Funnel,Satış Yolu,
-Sales Invoice,Satış faturası,
+Sales Funnel,Satış Hunisi,
+Sales Invoice,Satış Faturası,
 Sales Invoice {0} has already been submitted,Satış Faturası {0} zaten gönderildi,
 Sales Invoice {0} must be cancelled before cancelling this Sales Order,Satış Faturası {0} bu Satış Siparişi iptal edilmeden önce iptal edilmelidir,
-Sales Manager,Satış Müdürü,
-Sales Master Manager,Satış Master Müdürü,
+Sales Manager,Satış Yöneticisi,
+Sales Master Manager,Satış Master Yönetici,
 Sales Order,Satış Siparişi,
-Sales Order Item,Satış Sipariş Ürünü,
-Sales Order required for Item {0},Ürün {0}için Satış Sipariş  gerekli,
+Sales Order Item,Sipariş Satış Kalemi,
+Sales Order required for Item {0},Ürün {0}için Satış Sipariş gerekli,
 Sales Order to Payment,Ödeme Satış Sipariş,
 Sales Order {0} is not submitted,Satış Sipariş {0} teslim edilmedi,
 Sales Order {0} is not valid,Satış Sipariş {0} geçerli değildir,
 Sales Order {0} is {1},Satış Sipariş {0} {1},
 Sales Orders,Satış Siparişleri,
 Sales Partner,Satış Ortağı,
-Sales Pipeline,Ön Satış Süreci,
+Sales Pipeline,Satış Pipeline,
 Sales Price List,Satış Fiyat Listesi,
-Sales Return,Satış İade,
-Sales Summary,Satış özeti,
-Sales Tax Template,Satış Vergisi Şablon,
-Sales Team,Satış ekibi,
-Sales User,Satış Kullanıcı,
+Sales Return,Satış İadesi,
+Sales Summary,Satış Özeti,
+Sales Tax Template,Satış Vergisi Şablonu,
+Sales Team,Satış Ekibi,
+Sales User,Satış Kullanıcısı,
 Sales and Returns,Satışlar ve İadeler,
 Sales campaigns.,Satış kampanyaları.,
-Sales orders are not available for production,Satış siparişleri üretim için mevcut değildir,
+Sales orders are not available for production,Satış siparişleri üretim için mevcut değil,
 Salutation,Hitap,
-Same Company is entered more than once,Aynı şirket birden fazla girilir,
+Same Company is entered more than once,Aynı şirket birden fazla kızılır,
 Same item cannot be entered multiple times.,Aynı madde birden çok kez girilemez.,
-Same supplier has been entered multiple times,Aynı Tedarikçi birden fazla kez girilmiş,
+Same supplier has been entered multiple times,Aynı tedarikçi birden fazla kez girilmiş,
 Sample,Numune,
-Sample Collection,Örnek koleksiyon,
-Sample quantity {0} cannot be more than received quantity {1},"Örnek miktarı {0}, alınan miktardan {1} fazla olamaz.",
-Sanctioned,onaylanmış,
-Sanctioned Amount,tasdik edilmiş tutar,
+Sample Collection,Örnek Koleksiyon,
+Sample quantity {0} cannot be more than received quantity {1},"Örnek miktarı {0}, alınan miktarn {1} fazla olamaz.",
+Sanctioned,seçildi,
+Sanctioned Amount,tasdik edilmiş tutarlar,
 Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Yaptırıma Tutar Satır talep miktarı daha büyük olamaz {0}.,
 Sand,Kum,
 Saturday,Cumartesi,
 Saved,Kaydedilmiş,
 Saving {0},{0} kaydediliyor,
 Scan Barcode,Barkod Tara,
-Schedule,program,
+Schedule,Planla,
 Schedule Admission,Program Kabulü,
-Schedule Course,Program Ders,
+Schedule Course,Program Dersi,
 Schedule Date,Program Tarihi,
-Schedule Discharge,Program Deşarjı,
+Schedule Discharge,Program Deşarjisi,
 Scheduled,Planlandı,
-Scheduled Upto,Zamanlanmış Upto,
-"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","{0} için program çakışıyor, çakışan yuvaları atladıktan sonra devam etmek istiyor musunuz?",
+Scheduled Upto,Şu tarihe kadar planlandı:,
+"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","{0} için program sınırlıyor, kesişen yuvaları attıktan sonra devam ettirmek istiyor musunuz?",
 Score cannot be greater than Maximum Score,Skor Maksimum Skor daha büyük olamaz,
 Score must be less than or equal to 5,Skor 5'ten az veya eşit olmalıdır,
 Scorecards,Skor kartları,
-Scrapped,Hurda edilmiş,
-Search,Arama,
+Scrapped,Hurdaya çıkmış,
+Search,arama,
 Search Results,arama sonuçları,
-Search Sub Assemblies,Arama Alt Kurullar,
+Search Sub Assemblies,Arama Alt Kurulları,
 "Search by item code, serial number, batch no or barcode","Ürün kodu, seri numarası, parti numarası veya barkod ile arama",
-"Seasonality for setting budgets, targets etc.","Ayar bütçeler, hedefler vb Mevsimselliği",
-Secret Key,Gizli anahtar,
+"Seasonality for setting budgets, targets etc.","Ayar bütçeleri, hedefler vb Mevsimselliği",
+Secret Key,Gizli şifre,
 Secretary,Sekreter,
 Section Code,Bölüm Kodu,
 Secured Loans,Teminatlı Krediler,
@@ -2582,227 +2582,227 @@
 Securities and Deposits,Teminatlar ve Mevduatlar,
 See All Articles,Tüm Makaleleri Gör,
 See all open tickets,Tüm açık biletlere bakın,
-See past orders,Geçmiş siparişlere bakın,
+See past orders,Geçmiş satınalmalara bakın,
 See past quotations,Geçmiş alıntılara bakın,
 Select,Seç,
 Select Alternate Item,Alternatif Öğe Seç,
-Select Attribute Values,Özellik Değerlerini Seç,
-Select BOM,seç BOM,
-Select BOM and Qty for Production,Üretim için BOM ve Miktar seçin,
+Select Attribute Values,Özel Değerlerini Seç,
+Select BOM,BOM Ürün Ağacı Seç,
+Select BOM and Qty for Production,Üretim için BOM ve Miktar Seçin,
 "Select BOM, Qty and For Warehouse","Malzeme Listesini, Miktarı ve Depoyu Seçin",
 Select Batch,Toplu iş seç,
 Select Batch Numbers,Toplu Numaraları Seç,
-Select Brand...,Marka Seçiniz ...,
+Select Brand...,Marka Seçiniz...,
 Select Company,Şirket Seç,
-Select Company...,Firma Seçin ...,
+Select Company...,Firma Seçin...,
 Select Customer,Müşteri Seç,
 Select Days,Günleri Seç,
-Select Default Supplier,Seç Varsayılan Tedarikçi,
-Select DocType,Belge Tipi seçine,
-Select Fiscal Year...,Mali Yıl Seçin ...,
-Select Item (optional),Öğe seçin (isteğe bağlı),
+Select Default Supplier,Seçilmiş varsayılan tedarikçi,
+Select DocType,Belge Tipi Seçin,
+Select Fiscal Year...,Mali Yıl Seç...,
+Select Item (optional),Öğe Seçin (isteğe bağlı),
 Select Items based on Delivery Date,Teslimat Tarihine Göre Öğe Seç,
-Select Items to Manufacture,İmalat Öğe seç,
-Select Loyalty Program,Bağlılık Programı Seç,
-Select Patient,Hastayı seçin,
-Select Possible Supplier,Olası Tedarikçi Seçin,
-Select Property,Emlak Seç,
+Select Items to Manufacture,Üretilecek Ürünleri Seç,
+Select Loyalty Program,Sadakat Programı Seç,
+Select Patient,Hastayı Seçin,
+Select Possible Supplier,Olası Tedarikçiyi Seçin,
+Select Property,Özellik Seç,
 Select Quantity,",Miktar Seç",
 Select Serial Numbers,Seri Numaralarını Seçin,
-Select Target Warehouse,Hedef Ambarı&#39;nı seçin,
-Select Warehouse...,Warehouse Seçiniz ...,
-Select an account to print in account currency,Hesap para birimi cinsinden yazdırılacak bir hesap seçin,
+Select Target Warehouse,Hedef Depoyu Seç,
+Select Warehouse...,Depo Seçiniz...,
+Select an account to print in account currency,Hesap para birimi boyutu yazdırılacak bir hesap seçin,
 Select an employee to get the employee advance.,Çalışan avansını elde etmek için bir çalışan seçin.,
 Select at least one value from each of the attributes.,Her bir özellikten en az bir değer seçin.,
-Select change amount account,Seç değişim miktarı hesabı,
+Select change amount account,Tutar hesabını değiştiri seç,
 Select company first,Önce şirketi seç,
-Select students manually for the Activity based Group,Etkinliğe Dayalı Grup için öğrencileri manuel olarak seçin,
-Select the customer or supplier.,Müşteri veya tedarikçiyi seçin.,
-Select the nature of your business.,işinizin doğası seçin.,
-Select the program first,Önce programı seçin,
-Select to add Serial Number.,Seri Numarası eklemek için seçin.,
+Select students manually for the Activity based Group,Etkinliğe Dayılı Grup için platformları manuel olarak seçin,
+Select the customer or supplier.,Müşteri veya tedarikçisini seçin.,
+Select the nature of your business.,taşıdığın mesajı seç.,
+Select the program first,Önce programını seçin,
+Select to add Serial Number.,Seri numarasını dahil etmek için seçin.,
 Select your Domains,Çalışma alanlarınızı seçin,
-Selected Price List should have buying and selling fields checked.,Seçilen Fiyat Listesi alım satım alanlarına sahip olmalıdır.,
-Sell,Satmak,
+Selected Price List should have buying and selling fields checked.,Seçilen Fiyat Listesi alım satım merkezlerine sahip olmalıdır.,
+Sell,Sat,
 Selling,Satış,
 Selling Amount,Satış Tutarı,
 Selling Price List,Satış Fiyatı Listesi,
 Selling Rate,Satış oranı,
-"Selling must be checked, if Applicable For is selected as {0}",Uygulanabilir {0} olarak seçildiyse satış işaretlenmelidir,
-Send Grant Review Email,Grant İnceleme E-postasını gönder,
+"Selling must be checked, if Applicable For is selected as {0}",Uygulanabilir {0} olarak seçilirse satış işaretlenmelidir,
+Send Grant Review Email,Hibe incelemesi E-postasını gönder,
 Send Now,Şimdi Gönder,
-Send SMS,SMS gönder,
+Send SMS,SMS Gönder,
 Send mass SMS to your contacts,Kişilerinize toplu SMS Gönder,
 Sensitivity,Duyarlılık,
-Sent,Gönderilen,
-Serial No and Batch,Seri no ve toplu,
-Serial No is mandatory for Item {0},Ürün {0} için Seri no zorunludur,
+Sent,Gönderildi,
+Serial No and Batch,Seri No ve Parti (Batch),
+Serial No is mandatory for Item {0},Ürün {0} için Seri no cezaları,
 Serial No {0} does not belong to Batch {1},"{0} Seri Numarası, {1} Batch&#39;a ait değil",
-Serial No {0} does not belong to Delivery Note {1},Seri No {0} İrsaliye  {1} e ait değil,
+Serial No {0} does not belong to Delivery Note {1},Seri No {0} İrsaliye {1} e ait değil,
 Serial No {0} does not belong to Item {1},Seri No {0} Ürün {1} e ait değil,
-Serial No {0} does not belong to Warehouse {1},Seri No {0} Depo  {1} e ait değil,
-Serial No {0} does not belong to any Warehouse,Seri Hayır {0} herhangi Warehouse ait değil,
+Serial No {0} does not belong to Warehouse {1},Seri No {0} Depo {1} e ait değil,
+Serial No {0} does not belong to any Warehouse,Seri Hayır {0} herhangi Depo ait değil,
 Serial No {0} does not exist,Seri No {0} yok,
 Serial No {0} has already been received,Seri No {0} zaten alınmış,
-Serial No {0} is under maintenance contract upto {1},Seri No {0} Bakım sözleşmesi {1} uyarınca bakımda,
-Serial No {0} is under warranty upto {1},Seri No {0} {1} uyarınca garantide,
+Serial No {0} is under maintenance contract upto {1},Seri No {0} Bakım sözleşmesi {1} çalıştırdığında bakımda,
+Serial No {0} is under warranty upto {1},Seri No {0} {1} tarihinden itibaren garantide,
 Serial No {0} not found,Bulunamadı Seri No {0},
 Serial No {0} not in stock,Seri No {0} stokta değil,
 Serial No {0} quantity {1} cannot be a fraction,Seri No {0} miktar {1} kesir olamaz,
 Serial Nos Required for Serialized Item {0},Seri Ürün{0} için Seri numaraları gereklidir,
-Serial Number: {0} is already referenced in Sales Invoice: {1},"Seri Numarası: {0}, Satış Faturasında zaten atıfta bulunuldu: {1}",
+Serial Number: {0} is already referenced in Sales Invoice: {1},"Seri Numarası: {0}, Satış Faturasında zaten yapılıyordu: {1}",
 Serial Numbers,Seri numaraları,
-Serial Numbers in row {0} does not match with Delivery Note,{0} satırındaki seri numaraları Teslimat Notu ile eşleşmiyor,
+Serial Numbers in row {0} does not match with Delivery Note,{0} bilgisindeki seri numaraları İrsaliye ile eşleşmiyor,
 Serial no {0} has been already returned,{0} seri numarası zaten gönderildi,
 Serial number {0} entered more than once,Seri numarası {0} birden çok girilmiş,
 Serialized Inventory,Serileştirilmiş Envanteri,
 Series Updated,Serisi Güncellendi,
-Series Updated Successfully,Seri başarıyla güncellendi,
-Series is mandatory,Seri zorunludur,
-Series {0} already used in {1},Seriler {0} {1} de zaten kullanılmıştır,
-Service,Servis,
-Service Expense,Hizmet gideri,
-Service Level Agreement,Hizmet düzeyi anlaşması,
-Service Level Agreement.,Hizmet düzeyi anlaşması.,
-Service Level.,Servis seviyesi.,
+Series Updated Successfully,Seri başarı güncellendi,
+Series is mandatory,Seri askerler,
+Series {0} already used in {1},Seriler {0} {1} de zaten kullanılmış,
+Service,Hizmet,
+Service Expense,Hizmet Masrafı,
+Service Level Agreement,Hizmet Seviyesi Anlaşması,
+Service Level Agreement.,Hizmet Seviyesi Anlaşması.,
+Service Level.,Hizmet Seviyesi.,
 Service Stop Date cannot be after Service End Date,Hizmet Bitiş Tarihi Servis Sonu Tarihinden sonra olamaz,
-Service Stop Date cannot be before Service Start Date,"Hizmet Durdurma Tarihi, Hizmet Başlangıç Tarihi&#39;nden önce olamaz",
-Services,Servisler,
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Şirket, Para Birimi, Mali yıl vb gibi standart değerleri ayarlayın",
+Service Stop Date cannot be before Service Start Date,"Hizmet Durdurma Tarihi, Hizmet Başlangıç Tarihi'nden önce olamaz",
+Services,Hizmetler,
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Şirket, Para Birimi, Mali yıl vb gibi standart değerleri ayarlar",
 Set Details,Ayrıntıları Ayarla,
 Set New Release Date,Yeni Yayın Tarihi Ayarla,
-Set Project and all Tasks to status {0}?,Proje ve Tüm Görevler {0} durumuna ayarlansın mı?,
+Set Project and all Tasks to status {0}?,Proje ve Tüm Görevler {0} hesabı ayarlansın mı?,
 Set Status,Durumu Ayarla,
-Set Tax Rule for shopping cart,Alışveriş sepeti için ayarla Vergi Kural,
+Set Tax Rule for shopping cart,Alışveriş sepeti için ayarlanan Vergi Kural,
 Set as Closed,Kapalı olarak ayarla,
 Set as Completed,Tamamlandı olarak ayarla,
 Set as Default,Varsayılan olarak ayarla,
 Set as Lost,Kayıp olarak ayarla,
 Set as Open,Açık olarak ayarlayın,
-Set default inventory account for perpetual inventory,Sürekli envanter için varsayılan envanter hesabı ayarla,
+Set default inventory account for perpetual inventory,Sürekli envanter için harici envanter hesabı ayarlandı,
 Set this if the customer is a Public Administration company.,Müşteri bir Kamu İdaresi şirketiyse bunu ayarlayın.,
-Set {0} in asset category {1} or company {2},{1} varlık kategorisinde veya {2} şirkette {0} ayarlayın,
-"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Olaylar ayarlanması {0}, Satış Kişilerin altına bağlı çalışan bir kullanıcı kimliğine sahip olmadığından {1}",
-Setting defaults,Varsayılanları ayarlama,
-Setting up Email,E-posta kurma,
+Set {0} in asset category {1} or company {2},{1} varlık sınıfı veya {2} şirkette {0} ayarı,
+"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Olayları çalıştırma {0}, Satış Kişilerin altına bağlı çalışan bir kullanıcının eserine sahip çalıştırma {1}",
+Setting defaults,Varsayılanları Ayarlama,
+Setting up Email,E-posta Kurulumu,
 Setting up Email Account,E-posta Hesabı Oluşturma,
-Setting up Employees,Çalışanlar kurma,
-Setting up Taxes,Vergiler kurma,
-Setting up company,Şirket kurma,
+Setting up Employees,Personel Oluşturma,
+Setting up Taxes,Vergileri Ayarla,
+Setting up company,Şirket Kurulumu,
 Settings,Ayarlar,
-"Settings for online shopping cart such as shipping rules, price list etc.","Böyle nakliye kuralları, fiyat listesi vb gibi online alışveriş sepeti için Ayarlar",
+"Settings for online shopping cart such as shipping rules, price list etc.","Böyle nakliye kuralları, fiyat listesi vb gibi online alışveriş sepeti için ayarlar",
 Settings for website homepage,Web sitesi ana sayfası için ayarlar,
 Settings for website product listing,Web sitesi ürün listeleme ayarları,
-Settled,yerleşik,
+Settled,hayalet,
 Setup Gateway accounts.,Kur Gateway hesapları.,
-Setup SMS gateway settings,Kurulum SMS ağ geçidi ayarları,
-Setup cheque dimensions for printing,Baskı için Kurulum onay boyutları,
-Setup default values for POS Invoices,POS Faturaları için varsayılan değerleri ayarlayın,
-Setup mode of POS (Online / Offline),POS&#39;un kurulum modu (Çevrimiçi / Çevrimdışı),
+Setup SMS gateway settings,Kurulum SMS ağ ayarları ayarları,
+Setup cheque dimensions for printing,Baskı için Kurulum onay dosyaları,
+Setup default values for POS Invoices,POS Faturaları için varsayılan değerler ayarı,
+Setup mode of POS (Online / Offline),POS'un kurulum modu (Çevrimiçi / Çevrimdışı),
 Setup your Institute in ERPNext,Enstitünüzü ERPNext&#39;de Kurun,
 Share Balance,Bakiye Paylaş,
-Share Ledger,Defteri Birlikte Paylaş,
+Share Ledger,Defteri Paylaş,
 Share Management,Paylaşım Yönetimi,
-Share Transfer,Paylaşım Transferi,
+Share Transfer,Transferi Paylaş,
 Share Type,Paylaşım Türü,
 Shareholder,Hissedar,
-Ship To State,Devlete Gemi,
+Ship To State,Eyalete Gönderim,
 Shipments,Gönderiler,
 Shipping,Nakliye,
-Shipping Address,teslimat adresi,
+Shipping Address,Nakliye Adresi,
 "Shipping Address does not have country, which is required for this Shipping Rule","Nakliye Adresi, bu Nakliye Kuralı için gerekli olan ülke içermiyor",
-Shipping rule only applicable for Buying,Nakliye kuralı yalnızca Alış için geçerlidir,
-Shipping rule only applicable for Selling,Nakliye kuralı yalnızca Satış için geçerlidir,
-Shopify Supplier,Shopify Tedarikçi,
+Shipping rule only applicable for Buying,Nakliye kuralları yalnızca Alış için geçerlidir,
+Shipping rule only applicable for Selling,Nakliye kurallarının yalnızca Satış için geçerlidir,
+Shopify Supplier,Shopify tedarikçisi,
 Shopping Cart,Alışveriş Sepeti,
 Shopping Cart Settings,Alışveriş Sepeti Ayarları,
 Short Name,Kısa Adı,
-Shortage Qty,Yetersizlik adeti,
+Shortage Qty,Yetersizlik Mik,
 Show Completed,Tamamlananları Göster,
 Show Cumulative Amount,Kümülatif Tutarı Göster,
 Show Employee,Çalışanı Göster,
-Show Open,Açık olanları göster,
-Show Opening Entries,Açılış Girişlerini Göster,
+Show Open,Açık olanları öster,
+Show Opening Entries,Açılış Kayıtlarını Göster,
 Show Payment Details,Ödeme Ayrıntılarını Göster,
-Show Return Entries,İade Girişlerini Göster,
+Show Return Entries,İade Kayıtlarını Göster,
 Show Salary Slip,Göster Maaş Kayma,
 Show Variant Attributes,Varyant Özelliklerini Göster,
 Show Variants,Göster Varyantlar,
-Show closed,Kapalı olanları göster,
-Show exploded view,Genişletilmiş görünümü göster,
+Show closed,Kapalı olanları Göster,
+Show exploded view,Genişletilmiş görünüm gösterisi,
 Show only POS,Sadece POS göster,
-Show unclosed fiscal year's P&L balances,kapanmamış mali yılın P &amp; L dengeleri göster,
+Show unclosed fiscal year's P&L balances,Kapatılmamış mali yılın K&Z bakiyelerini göster,
 Show zero values,Sıfır değerleri göster,
-Sick Leave,Hastalık izni,
-Silt,alüvyon,
-Single Variant,Tek Çeşit,
-Single unit of an Item.,Bir Ürünün tek birimi,
-"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Atlama Ayrıştırma kayıtları zaten onlara karşı olduğundan, aşağıdaki çalışanlar için Ayrılmayı Bırakma. {0}",
-"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Aşağıdaki çalışanlar için Maaş Yapısı Ataması kayıtları zaten aleyhine olduğu için, Maaş Yapısı Ataması kayıtları zaten atlanmıştır. {0}",
+Sick Leave,Hastalık İzni,
+Silt,Alüvyon,
+Single Variant,Tek Varyant,
+Single unit of an Item.,Bir Öğenin tek birimi.,
+"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Atlama Ayrıştırma kayıtları zaten onlara karşı olduklarında, aşağıdaki çalışanlar için Ayrılmayı Bırakma. {0}",
+"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Aşağıdaki çalışanlar için Maaş Yapısı Ataması kayıtları zaten mülkü olduğu için, Maaş Yapısı Ataması kayıtları zaten atılmıştır. {0}",
 Slideshow,Slayt Gösterisi,
 Slots for {0} are not added to the schedule,{0} için yuvalar programa eklenmez,
 Small,Küçük,
 Soap & Detergent,Sabun ve Deterjan,
 Software,Yazılım,
-Software Developer,Yazılım geliştirici,
+Software Developer,Yazılım Geliştirici,
 Softwares,Yazılımlar,
-Soil compositions do not add up to 100,Zemin kompozisyonları 100&#39;e kadar eklemez,
+Soil compositions do not add up to 100,Zemin bileşenleri 100'e kadar eklemez,
 Sold,Satıldı,
 Some emails are invalid,Bazı e-postalar geçersiz,
 Some information is missing,Bazı bilgiler eksik,
 Something went wrong!,Bir şeyler yanlış gitti!,
-"Sorry, Serial Nos cannot be merged","Üzgünüz, seri numaraları birleştirilemiyor",
+"Sorry, Serial Nos cannot be merged","Üzgünüz, seri numaraları birleştiremiyor",
 Source,Kaynak,
-Source Name,kaynak Adı,
+Source Name,Kaynak Adı,
 Source Warehouse,Kaynak Depo,
-Source and Target Location cannot be same,Kaynak ve Hedef Konumu aynı olamaz,
+Source and Target Location cannot be same,Kaynak ve Hedef Konum aynı olamaz,
 Source and target warehouse cannot be same for row {0},Kaynak ve hedef depo Satır {0} için aynu olamaz,
 Source and target warehouse must be different,Kaynak ve hedef depo farklı olmalıdır,
 Source of Funds (Liabilities),Fon kaynakları (Yükümlülükler),
-Source warehouse is mandatory for row {0},Satır {0} Kaynak depo zorunludur,
+Source warehouse is mandatory for row {0},Satır {0} Kaynak deposu verileri,
 Specified BOM {0} does not exist for Item {1},Ürün için yok Belirtilen BOM {0} {1},
-Split,Bölünmüş,
-Split Batch,Bölme Bölmesi,
-Split Issue,Bölünmüş Sorun,
+Split,Böl,
+Split Batch,Batch/Parti Böl,
+Split Issue,Sorunu Böl,
 Sports,Spor,
-Staffing Plan {0} already exist for designation {1},{1} atanması için {0} Personel Planı zaten mevcut,
+Staffing Plan {0} already exist for designation {1},{1} atanması için {0} Kişisel Planı zaten mevcut,
 Standard,Standart,
-Standard Buying,Standart Satın Alma,
-Standard Selling,Standart satış,
-Standard contract terms for Sales or Purchase.,Satış veya Satın Alma için standart sözleşme şartları.,
+Standard Buying,Standart Alış,
+Standard Selling,Standart Satış,
+Standard contract terms for Sales or Purchase.,Satış veya Satınalma için standart sözleşme hükümleri.,
 Start Date,Başlangıç Tarihi,
 Start Date of Agreement can't be greater than or equal to End Date.,"Anlaşmanın Başlangıç Tarihi, Bitiş Tarihinden büyük veya ona eşit olamaz.",
 Start Year,Başlangıç yılı,
 "Start and end dates not in a valid Payroll Period, cannot calculate {0}","Başlangıç ve bitiş tarihleri geçerli bir Bordro Döneminde değil, {0} hesaplayamıyor",
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Başlangıç ve bitiş tarihleri geçerli bir Bordro Döneminde değil, {0} değerini hesaplayamaz.",
-Start date should be less than end date for Item {0},Başlangıç tarihi Ürün {0} için bitiş tarihinden daha az olmalıdır,
-Start date should be less than end date for task {0},{0} görevi için başlangıç tarihi bitiş tarihinden daha az olmalı,
-Start day is greater than end day in task '{0}',"Başlangıç günü, &#39;{0}&#39; görevi bitiş günden daha büyük",
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Başlangıç ve bitiş süreleri geçerli bir Bordro Döneminde değil, {0} değeri hesaplayamaz.",
+Start date should be less than end date for Item {0},Başlangıç tarihi Ürün {0} için bitiş çizgisi daha az olmalıdır,
+Start date should be less than end date for task {0},{0} görevi için başlangıç tarihi bitiş süreleri daha az olmalıdır,
+Start day is greater than end day in task '{0}',"Başlangıç gününde, &#39;{0}&#39; Görev bitiş tarihinden daha büyük",
 Start on,Başla,
-State,"Belirtmek, bildirmek",
-State/UT Tax,Devlet / UT Vergisi,
+State,Durumu,
+State/UT Tax,Eyalet / UT Vergisi,
 Statement of Account,Hesap Beyanı,
-Status must be one of {0},Durum şunlardan biri olmalıdır {0},
+Status must be one of {0},Durum aşağıdakilerden biri olmalıdır: {0},
 Stock,Stok,
 Stock Adjustment,Stok Ayarı,
 Stock Analytics,Stok Analizi,
 Stock Assets,Hazır Varlıklar,
-Stock Available,Stok mevcut,
-Stock Balance,Stok Bakiye,
+Stock Available,Stok Mevcudu,
+Stock Balance,Stok Bakiyesi,
 Stock Entries already created for Work Order ,İş Emri için önceden hazırlanmış Stok Girişleri,
-Stock Entry,Stok Girişleri,
-Stock Entry {0} created,Stok Giriş {0} oluşturuldu,
+Stock Entry,Stok Hareketi,
+Stock Entry {0} created,Stok Giriş {0} kaydı,
 Stock Entry {0} is not submitted,Stok Giriş {0} teslim edilmez,
 Stock Expenses,Stok Giderleri,
-Stock In Hand,Elde Edilen Stoklar,
-Stock Items,Stok Öğeler,
-Stock Ledger,Stok defteri,
-Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stok Ledger Girişler ve GL Girişler seçilen Satınalma Makbuzlar için yayınlanırsa edilir,
-Stock Levels,Stok seviyeleri,
+Stock In Hand,Eldeki Stok,
+Stock Items,Stok Öğeleri,
+Stock Ledger,Stok Defteri,
+Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stok Defteri ve Defter-i Kebir Kayıtları seçilen Satınalma Fişleri için yeniden muhasebeleştirilir,
+Stock Levels,Stok Seviyeleri,
 Stock Liabilities,Stok Yükümlülükleri,
 Stock Options,Stok Seçenekleri,
 Stock Qty,Stok Miktarı,
-Stock Received But Not Billed,Alınmış ancak faturalanmamış stok,
+Stock Received But Not Billed,Alınmış ancak faturasız stok,
 Stock Reports,Stok Raporları,
 Stock Summary,Stok Özeti,
 Stock Transactions,Stok İşlemleri,
@@ -2810,12 +2810,12 @@
 Stock Value,Stok Değeri,
 Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Toplu stok bakiyesi {0} olacak olumsuz {1} Warehouse Ürün {2} için {3},
 Stock cannot be updated against Delivery Note {0},Stok İrsaliye {0} karşısı güncellenmez,
-Stock cannot be updated against Purchase Receipt {0},Stok Satın Alma Makbuzu karşı güncellenmiş edilemez {0},
-Stock cannot exist for Item {0} since has variants,Ürün için var olamaz Stok {0} yana varyantları vardır,
+Stock cannot be updated against Purchase Receipt {0},Stok Satınalma Makbuzu karşı güncellenmiş olmalı {0},
+Stock cannot exist for Item {0} since has variants,Ürün için var olamaz Stok {0} yana öngörüleri vardır,
 Stock transactions before {0} are frozen,{0} dan önceki stok işlemleri dondurulmuştur,
-Stop,dur,
+Stop,Durdur,
 Stopped,Durduruldu,
-"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Durdurulan İş Emri iptal edilemez, İptal etmeden önce kaldır",
+"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Durdurulan İş Emri iptal etmek istiyor, İptal etmeden önce kaldır",
 Stores,Mağazalar,
 Structures have been assigned successfully,Yapılar başarıyla atandı,
 Student,Öğrenci,
@@ -2823,40 +2823,40 @@
 Student Address,Öğrenci Adresi,
 Student Admissions,Öğrenci Kabulleri,
 Student Attendance,Öğrenci Seyirci,
-"Student Batches help you track attendance, assessments and fees for students","Öğrenci Partileri Eğer öğrenciler için katılım, değerlendirme ve ücretler izlemenize yardımcı",
+"Student Batches help you track attendance, assessments and fees for students","Öğrenci Partileri Eğer öğrenciler için kazanma, değerlendirme ve ücretler izlemenize yardımcı olur",
 Student Email Address,Öğrenci E-posta Adresi,
 Student Email ID,Öğrenci E-posta Kimliği,
-Student Group,Öğrenci grubu,
+Student Group,öğrenci grubu,
 Student Group Strength,Öğrenci Grubu Gücü,
 Student Group is already updated.,Öğrenci Grubu zaten güncellendi.,
 Student Group: ,Öğrenci Grubu:,
 Student ID,Öğrenci Kimliği,
 Student ID: ,Öğrenci Kimliği:,
 Student LMS Activity,Öğrenci LMS Etkinliği,
-Student Mobile No.,Öğrenci Mobil No,
+Student Mobile No.,Öğrenci Cep No,
 Student Name,Öğrenci adı,
 Student Name: ,Öğrenci adı:,
 Student Report Card,Öğrenci Rapor Kartı,
-Student is already enrolled.,Öğrenci zaten kayıtlı olduğu.,
+Student is already enrolled.,Öğrenci zaten kayıtlıdır.,
 Student {0} - {1} appears Multiple times in row {2} & {3},Öğrenci {0} - {1} satırda birden çok kez görünür {2} {3},
-Student {0} does not belong to group {1},{0} öğrencisi {1} grubuna ait değil,
-Student {0} exist against student applicant {1},Öğrenci {0} öğrenci başvuru karşı mevcut {1},
-"Students are at the heart of the system, add all your students","Öğrenciler sisteminin kalbi, tüm öğrenci ekleyebilir edilir",
+Student {0} does not belong to group {1},{0} öğrenci {1} grubu ait değil,
+Student {0} exist against student applicant {1},Öğrenci {0} öğrenci başvurusu karşı mevcut {1},
+"Students are at the heart of the system, add all your students","Öğrencilerin kalbinin atılması, tüm öğrencilerin alınması sağlanır",
 Sub Assemblies,Alt Kurullar,
-Sub Type,Alt türü,
-Sub-contracting,Taşeronluk,
-Subcontract,alt sözleşme,
-Subject,konu,
-Submit,Gönder,
+Sub Type,Alt Tür,
+Sub-contracting,Alt sözleşme,
+Subcontract,Taşeronluk,
+Subject,Konu,
+Submit,Gönder/İşle,
 Submit Proof,Kanıt Gönder,
 Submit Salary Slip,Bordro Gönder,
 Submit this Work Order for further processing.,Daha fazla işlem için bu İş Emrini gönderin.,
 Submit this to create the Employee record,Çalışan kaydını oluşturmak için bunu gönderin,
-Submitting Salary Slips...,Maaş Fişlerini Göndermek ...,
-Subscription,abone,
+Submitting Salary Slips...,Maaş Fişleri Gönderiliyor ...,
+Subscription,Abonelik,
 Subscription Management,Abonelik Yönetimi,
 Subscriptions,Abonelikler,
-Subtotal,ara toplam,
+Subtotal,Ara toplam,
 Successful,Başarılı,
 Successfully Reconciled,Başarıyla Uzlaştırıldı,
 Successfully Set Supplier,Tedarikçi Başarıyla Ayarlandı,
@@ -2868,8 +2868,8 @@
 Summary for this month and pending activities,Bu ay ve bekleyen aktiviteler için Özet,
 Summary for this week and pending activities,Bu hafta ve bekleyen aktiviteler için Özet,
 Sunday,Pazar,
-Suplier,suplier,
-Supplier,satıcı,
+Suplier,Tedarikçi,
+Supplier,Tedarikçi,
 Supplier Group,Tedarikçi Grubu,
 Supplier Group master.,Tedarikçi Grubu yöneticisi.,
 Supplier Id,Tedarikçi kimliği,
@@ -2880,42 +2880,42 @@
 Supplier Part No,Tedarikçi Parça No,
 Supplier Quotation,Tedarikçi Teklifi,
 Supplier Scorecard,Tedarikçi Puan Kartı,
-Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Alt Sözleşmeye bağlı Alım makbuzu için Tedarikçi deposu zorunludur,
+Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Taşerona bağlı Alış Fişi için Tedarikçi deposu zorunludur,
 Supplier database.,Tedarikçi veritabanı.,
 Supplier {0} not found in {1},Tedarikçi {0} {1} konumunda bulunamadı,
-Supplier(s),Tedarikçi (ler),
+Supplier(s),Tedarikçi(ler),
 Supplies made to UIN holders,UIN sahiplerine yapılan sarf malzemeleri,
 Supplies made to Unregistered Persons,Kayıt Dışı Kişilere Yapılan Malzemeler,
 Suppliies made to Composition Taxable Persons,Vergilendirilebilir Kişilerin Bileşimine Yapılan Tedarikler,
-Supply Type,Tedarik türü,
+Supply Type,Tedarik Türü,
 Support,Destek,
 Support Analytics,Destek Analizi,
-Support Settings,Destek ayarları,
-Support Tickets,destek biletleri,
+Support Settings,Destek Ayarları,
+Support Tickets,Destek Biletleri,
 Support queries from customers.,Müşterilerden gelen destek sorguları.,
 Susceptible,Duyarlı,
-Sync has been temporarily disabled because maximum retries have been exceeded,Maksimum deneme sayısı aşıldığı için senkronizasyon geçici olarak devre dışı bırakıldı,
-Syntax error in condition: {0},Durumdaki sözdizimi hatası: {0},
-Syntax error in formula or condition: {0},Formül ya da durumun söz dizimi hatası: {0},
+Sync has been temporarily disabled because maximum retries have been exceeded,Maksimum deneme sayısının aşıldığı için geçici olarak devre dışı bırakıldı,
+Syntax error in condition: {0},Durumdaki söz dizimi hatası: {0},
+Syntax error in formula or condition: {0},Formül ya da işletim söz dizimi hatası: {0},
 System Manager,Sistem Yöneticisi,
-TDS Rate %,TDS Oranı%,
-Tap items to add them here,Buraya eklemek için öğelere dokunun,
+TDS Rate %,TDS Oranı %,
+Tap items to add them here,Buraya dahil etmek için biriktirmek,
 Target,Hedef,
 Target ({}),Hedef ({}),
-Target On,Hedefi,
+Target On,Hedef yeri,
 Target Warehouse,Hedef Depo,
-Target warehouse is mandatory for row {0},Satır {0} için hedef depo zorunludur,
+Target warehouse is mandatory for row {0},Satır {0} için hedef depo cezaları,
 Task,Görev,
 Tasks,Görevler,
-Tasks have been created for managing the {0} disease (on row {1}),{0} hastalığını yönetmek için görevler oluşturuldu (satır {1}),
+Tasks have been created for managing the {0} disease (on row {1}),{0} hastalığını izlemek için yazışmalar (satır {1}),
 Tax,Vergi,
 Tax Assets,Vergi Varlıkları,
 Tax Category,Vergi Kategorisi,
 Tax Category for overriding tax rates.,Vergi oranlarını geçersiz kılmak için Vergi Kategorisi.,
-"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Tüm Maddeler stokta bulunmayan maddeler olduğundan, Vergi Kategorisi &quot;Toplam&quot; olarak değiştirildi",
+"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Tüm Maddeler stokta bulunmayan maddeler olduklarında, Vergi Kategorisi &quot;Toplam&quot; olarak değiştirildi",
 Tax ID,Vergi Numarası,
 Tax Id: ,Vergi numarası:,
-Tax Rate,Vergi oranı,
+Tax Rate,Vergi Oranı,
 Tax Rule Conflicts with {0},Vergi Kural Çatışmalar {0},
 Tax Rule for transactions.,Işlemler için vergi hesaplama kuralı.,
 Tax Template is mandatory.,Vergi şablonu zorunludur.,
@@ -2926,45 +2926,45 @@
 Taxable Amount,Vergilendirilebilir Tutar,
 Taxes,Vergiler,
 Team Updates,Ekip Güncellemeleri,
-Technology,teknoloji,
+Technology,Teknoloji,
 Telecommunications,Telekomünikasyon,
 Telephone Expenses,Telefon Giderleri,
 Television,Televizyon,
 Template Name,Şablon adı,
-Template of terms or contract.,Şart veya sözleşmeler şablonu.,
+Template of terms or contract.,Şartlar veya sözleşme şablonu.,
 Templates of supplier scorecard criteria.,Tedarikçi puan kartı kriterlerinin şablonları.,
 Templates of supplier scorecard variables.,Tedarikçi puan kartı değişkenlerinin şablonları.,
 Templates of supplier standings.,Tedarikçi sıralamaları şablonları.,
 Temporarily on Hold,Geçici olarak Beklemede,
 Temporary,Geçici,
 Temporary Accounts,Geçici Hesaplar,
-Temporary Opening,Geçici Açma,
-Terms and Conditions,Şartlar ve koşullar,
-Terms and Conditions Template,Şartlar ve Koşullar Şablon,
-Territory,bölge,
+Temporary Opening,Geçici Açılış,
+Terms and Conditions,Şartlar ve Koşullar,
+Terms and Conditions Template,Şartlar ve Koşullar Şablonu,
+Territory,Bölge,
 Test,Test,
 Thank you,Teşekkürler,
 Thank you for your business!,İşiniz için teşekkür ederim!,
-The 'From Package No.' field must neither be empty nor it's value less than 1.,&#39;Paketten Numara&#39; alanı ne boş ne de 1&#39;den küçük bir değer olmalıdır.,
+The 'From Package No.' field must neither be empty nor it's value less than 1.,'Paketten Numara' alanı ne boş ne de 1'den küçük bir değer olmalıdır.,
 The Brand,Marka,
 The Item {0} cannot have Batch,Öğe {0} Toplu olamaz,
-The Loyalty Program isn't valid for the selected company,Bağlılık Programı seçilen şirket için geçerli değil,
+The Loyalty Program isn't valid for the selected company,Sadakat Programı seçilen şirket için geçerli değil,
 The Payment Term at row {0} is possibly a duplicate.,"{0} Satırındaki Ödeme Süresi, muhtemelen bir kopyadır.",
-The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Terim Bitiş Tarihi Dönem Başlangıç Tarihi daha önce olamaz. tarihleri düzeltmek ve tekrar deneyin.,
-The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Dönem Bitiş Tarihi sonradan terim bağlantılı olduğu için Akademik Yılı Yıl Sonu tarihi daha olamaz (Akademik Yılı {}). tarihleri düzeltmek ve tekrar deneyin.,
-The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Dönem Başlangıç Tarihi terim bağlantılı olduğu için Akademik Yılı Year Başlangıç Tarihi daha önce olamaz (Akademik Yılı {}). tarihleri düzeltmek ve tekrar deneyin.,
-The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Yıl Bitiş Tarihi Yil Başlangıç Tarihi daha önce olamaz. tarihleri düzeltmek ve tekrar deneyin.,
-The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Bu ödeme isteğinde belirlenen {0} tutarı, tüm ödeme planlarının hesaplanan tutarından farklı: {1}. Belgeyi göndermeden önce bunun doğru olduğundan emin olun.",
-The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Eğer izin için başvuruda edildiği gün (ler) tatildir. Sen izin talebinde gerekmez.,
-The field From Shareholder cannot be blank,Pay Sahipinden alan boş olamaz,
+The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Terim Bitiş Tarihi Dönem Başlangıç Tarihi daha önce olamaz. sonları düzeltin ve tekrar deneyin.,
+The Term End Date cannot be later than the Year End Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Dönem Bitiş Tarihi'nin terimleriyle bağlantılı olduğu için Akademik Yılı Yıl Sonu tarihi daha olamaz (Akademik Yılı {}). sonları düzeltin ve tekrar deneyin.,
+The Term Start Date cannot be earlier than the Year Start Date of the Academic Year to which the term is linked (Academic Year {}). Please correct the dates and try again.,Dönem Başlangıç Tarihi terimi birbiriyle bağlantılı olduğu için Akademik Yılı Yıl Başlangıç Tarihi daha önce imkansız (Akademik Yılı {}). sonları düzeltin ve tekrar deneyin.,
+The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Yıl Bitiş Tarihi Yıl Başlangıç Tarihi daha önce olamaz. sonları düzeltin ve tekrar deneyin.,
+The amount of {0} set in this payment request is different from the calculated amount of all payment plans: {1}. Make sure this is correct before submitting the document.,"Bu ödeme isteğinde belirtilen {0} özellikleri, tüm ödeme planlarının hesaplanan davranışlarından farklı: {1}. Belgeyi göndermeden önce bunun doğru olduğundan emin olun.",
+The day(s) on which you are applying for leave are holidays. You need not apply for leave.,Eğer izin için başvuruda bulunulduğu gün (ler) tatildir. İstemenize izin gerekmez.,
+The field From Shareholder cannot be blank,Pay Sahipliğinden alan boş olamaz,
 The field To Shareholder cannot be blank,Hissedar Sahası boş olamaz,
 The fields From Shareholder and To Shareholder cannot be blank,Hissedar ve Hissedarya ait alanlar boş bırakılamaz,
-The folio numbers are not matching,Folio numaraları eşleşmiyor,
+The folio numbers are not matching,Folyo numaraları eşleşmiyor,
 The holiday on {0} is not between From Date and To Date,{0} üzerinde tatil Tarihten itibaren ve Tarihi arasında değil,
 The name of the institute for which you are setting up this system.,Enstitünün adı kendisi için bu sistemi kuruyoruz.,
 The name of your company for which you are setting up this system.,Bu sistemi kurduğunu şirketinizin adı,
-The number of shares and the share numbers are inconsistent,Hisse sayısı ve hisse sayıları tutarsız,
-The payment gateway account in plan {0} is different from the payment gateway account in this payment request,"{0} planındaki ödeme ağ geçidi hesabı, bu ödeme isteğindeki ödeme ağ geçidi hesabından farklıdır",
+The number of shares and the share numbers are inconsistent,Hisse miktarı ve his miktarları tutarsız,
+The payment gateway account in plan {0} is different from the payment gateway account in this payment request,"{0} planındaki ödeme ağ sahip hesabı, bu ödeme talebindeki ödeme ağ mülk hesabından ilişkilendirme",
 The selected BOMs are not for the same item,Seçilen malzeme listeleri aynı madde için değildir,
 The selected item cannot have Batch,Seçilen öğe Toplu olamaz,
 The seller and the buyer cannot be the same,Satıcı ve alıcı aynı olamaz,
@@ -2972,116 +2972,116 @@
 The shares already exist,Paylar zaten var,
 The shares don't exist with the {0},{0} ile paylaşımlar mevcut değil,
 "The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage","Görev, arka plan işi olarak yapıldı. Arka planda işleme konusunda herhangi bir sorun olması durumunda, sistem bu Stok Mutabakatı ile ilgili bir yorum ekler ve Taslak aşamasına geri döner",
-"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Sonra Fiyatlandırma Kurallar Müşteri dayalı filtre edilir, Müşteri Grubu, Territory, Tedarikçi, Tedarikçi Tipi, Kampanya, Satış Ortağı vb",
-"There are inconsistencies between the rate, no of shares and the amount calculated","Oran, pay sayısı ve hesaplanan tutar arasında tutarsızlıklar vardır",
-There are more holidays than working days this month.,Bu ayda çalışma günlerinden daha fazla tatil vardır.,
-There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,"Toplam harcanan toplamı baz alarak çok katmanlı toplama faktörü olabilir. Ancak, itfa için dönüşüm faktörü, tüm katmanlar için her zaman aynı olacaktır.",
-There can only be 1 Account per Company in {0} {1},Sadece Şirket&#39;in başına 1 Hesap olabilir {0} {1},
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Sonra Fiyatlandırma Kuralları Müşteri temelli filtrelenir, Müşteri Grubu, Territory, Tedarikçi, Tedarikçi Tipi, Kampanya, Satış Ortağı vb",
+"There are inconsistencies between the rate, no of shares and the amount calculated","Oran, ödeme miktarı ve hesaplanan tutarlar arasında tutarsızlıklar vardır",
+There are more holidays than working days this month.,Bu aylık çalışma günlerinden daha fazla tatil vardır.,
+There can be multiple tiered collection factor based on the total spent. But the conversion factor for redemption will always be same for all the tier.,"Toplam harcanan toplam baz alarak çok sesli toplama faktörü olabilir. Ancak, itfa için dönüştürme faktörü, tüm katmanlar için her zaman aynı olacaktır.",
+There can only be 1 Account per Company in {0} {1},Sadece Şirketin başına 1 Hesap olabilir {0} {1},
 "There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Sadece ""değerini"" için 0 veya boş değere sahip bir Nakliye Kural Durumu olabilir",
-There is no leave period in between {0} and {1},{0} ile {1} tarihleri arasında izin süresi yoktur,
+There is no leave period in between {0} and {1},{0} ile {1} süreleri arasında izin süresi yoktur,
 There is not enough leave balance for Leave Type {0},İzin tipi{0} için yeterli izin bakiyesi yok,
 There is nothing to edit.,Düzenlenecek bir şey yok,
-There isn't any item variant for the selected item,Seçilen öğe için herhangi bir öğe varyantı yok,
-"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Sunucunun GoCardless yapılandırmasında bir sorun var gibi görünüyor. Endişelenme, başarısızlık durumunda, tutar hesabınıza iade edilir.",
+There isn't any item variant for the selected item,Seçilen öğe için herhangi bir öğe tahmini yok,
+"There seems to be an issue with the server's GoCardless configuration. Don't worry, in case of failure, the amount will get refunded to your account.","Sunucunun GoCardless çevresinde bir sorun var gibi görünüyor. Endişelenme, çökmeleri durumunda, tutulmaları iade edilir.",
 There were errors creating Course Schedule,Ders Programı Oluşturma Hataları Oluştu,
 There were errors.,Hatalar vardı,
-This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,Bu Ürün Şablon ve işlemlerde kullanılamaz. 'Hayır Kopyala' ayarlanmadığı sürece Öğe özellikleri varyantları içine üzerinden kopyalanır,
-This Item is a Variant of {0} (Template).,"Bu Öğe, {0} (Şablon) değişkenidir.",
+This Item is a Template and cannot be used in transactions. Item attributes will be copied over into the variants unless 'No Copy' is set,Bu Öğe bir Şablondur ve işlemlerde kullanılamaz. 'Kopyalama Yok' ayarlanmadığı sürece öğe özellikleri varyantlara kopyalanacaktır,
+This Item is a Variant of {0} (Template).,"Bu Öğe, {0} (Şablon)nin bir değişkenidir.",
 This Month's Summary,Bu Ayın Özeti,
 This Week's Summary,Bu Haftanın Özeti,
-This action will stop future billing. Are you sure you want to cancel this subscription?,"Bu işlem, gelecekteki faturalandırmayı durduracak. Bu aboneliği iptal etmek istediğinizden emin misiniz?",
-This covers all scorecards tied to this Setup,"Bu, bu Kurulum ile bağlantılı tüm puan kartlarını kapsar",
-This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Bu belge ile sınırı üzerinde {0} {1} öğe için {4}. yapıyoruz aynı karşı başka {3} {2}?,
+This action will stop future billing. Are you sure you want to cancel this subscription?,"Bu işlemi, faturalandırmayı durduracak. Bu aboneliği iptal etmek istediğinizden emin misiniz?",
+This covers all scorecards tied to this Setup,"Bu, bu Kurulum ile bağlantılı tüm puan kartlarını kapsayan",
+This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Bu belge ile sınırı üzerinde {0} {1} öğe için {4}. aynı karşı başka {3} {2}?,
 This is a root account and cannot be edited.,Bu bir kök hesabıdır ve düzenlenemez.,
 This is a root customer group and cannot be edited.,Bu bir kök müşteri grubudur ve düzenlenemez.,
-This is a root department and cannot be edited.,Bu bir kök departmanıdır ve düzenlenemez.,
-This is a root healthcare service unit and cannot be edited.,Bu bir kök sağlık hizmeti birimidir ve düzenlenemez.,
-This is a root item group and cannot be edited.,Bu bir kök Ürün grubudur ve düzenlenemez.,
+This is a root department and cannot be edited.,Bu bir kök devlettir ve düzenlenemez.,
+This is a root healthcare service unit and cannot be edited.,Bu bir kök sağlık hizmet birimidir ve düzenlenemez.,
+This is a root item group and cannot be edited.,Bu bir kök grubu Üründür ve düzenlenemez.,
 This is a root sales person and cannot be edited.,Bu bir kök satış kişisidir ve düzenlenemez.,
 This is a root supplier group and cannot be edited.,Bu bir kök tedarikçi grubudur ve düzenlenemez.,
 This is a root territory and cannot be edited.,Bu bir kök bölgedir ve düzenlenemez.,
-This is an example website auto-generated from ERPNext,Bu ERPNextten otomatik olarak üretilmiş bir örnek web sitedir.,
-This is based on logs against this Vehicle. See timeline below for details,"Bu, bu Araç karşı günlükleri dayanmaktadır. Ayrıntılar için aşağıdaki zaman çizelgesini bakın",
-This is based on stock movement. See {0} for details,Bu stok hareketi dayanmaktadır. Bkz {0} ayrıntılar için,
-This is based on the Time Sheets created against this project,"Bu, bu projeye karşı oluşturulan Zaman kağıtları dayanmaktadır",
-This is based on the attendance of this Employee,"Bu, bu Çalışan katılımı esas alır",
-This is based on the attendance of this Student,"Bu, bu Öğrencinin katılımıyla dayanmaktadır",
-This is based on transactions against this Customer. See timeline below for details,"Bu, bu Müşteriye karşı işlemlere dayanmaktadır. Ayrıntılar için aşağıdaki zaman çizelgesini bakın",
-This is based on transactions against this Healthcare Practitioner.,"Bu, bu Sağlık Hizmeti Uygulayıcısına yapılan işlemlere dayanmaktadır.",
-This is based on transactions against this Patient. See timeline below for details,"Bu, bu Hastaya karşı işlemlere dayanmaktadır. Ayrıntılar için aşağıdaki zaman çizelgesine bakın",
-This is based on transactions against this Sales Person. See timeline below for details,"Bu, bu Satış Kişisine karşı yapılan işlemlere dayanmaktadır. Ayrıntılar için aşağıdaki zaman çizelgesine bakın",
-This is based on transactions against this Supplier. See timeline below for details,Bu Bu Satıcıya karşı işlemlere dayanmaktadır. Ayrıntılar için aşağıdaki zaman çizelgesini bakın,
-This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,"Bu, Maaş Fişleri gönderecek ve Tahakkuk Dergisi Girişi oluşturacaktır. Devam etmek istiyor musunuz?",
+This is an example website auto-generated from ERPNext,Bu ERPNextten otomatik olarak üretilmiş bir örnek web sitesidir.,
+This is based on logs against this Vehicle. See timeline below for details,"Bu, bu Araç karşı günlükleri gider. Ayrıntılar için aşağıdaki zaman geçişini bakın",
+This is based on stock movement. See {0} for details,Bu stok hareketleri devam ediyor. Bkz. {0} ayrıntılar için,
+This is based on the Time Sheets created against this project,"Bu, bu projeye karşı potansiyel Zaman postalarını yönlendiriyor",
+This is based on the attendance of this Employee,"Bu, bu çalışan yoğunluğu esas alır",
+This is based on the attendance of this Student,"Bu, bu Öğrencinin katılımıyla artar",
+This is based on transactions against this Customer. See timeline below for details,"Bu, bu Müşteriye karşı işlemlere ayrılmıştır. Ayrıntılar için aşağıdaki zaman geçişini bakın",
+This is based on transactions against this Healthcare Practitioner.,"Bu, bu Sağlık Hizmeti Uygulayıcısına yapılan işlemlere bağlıdır.",
+This is based on transactions against this Patient. See timeline below for details,"Bu, bu Hastaya karşı işlemlere göre yapılır. Ayrıntılar için aşağıdaki zaman aralarına bakın",
+This is based on transactions against this Sales Person. See timeline below for details,"Bu, bu Satış Kişisine karşı yapılan işlemlere göre yapılır. Ayrıntılar için aşağıdaki zaman aralarına bakın",
+This is based on transactions against this Supplier. See timeline below for details,Bu Satıcıya karşı işlemleri ayarlamak. Ayrıntılar için aşağıdaki zaman geçişini bakın,
+This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,"Bu, Maaş Balıkları gönderecek ve Tahakkuk Yevmiye Kaydı oluşturacaktır. Devam etmek istiyor musunuz?",
 This {0} conflicts with {1} for {2} {3},Bu {0} çatışmalar {1} için {2} {3},
 Time Sheet for manufacturing.,Üretim için Mesai Kartı.,
-Time Tracking,Zaman Takip,
+Time Tracking,Zaman Takibi,
 "Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Zaman aralığı atlandı, {0} - {1} arasındaki yuva {2} çıkış yuvasına {3} uzanıyor",
-Time slots added,Zaman aralıkları eklendi,
-Time(in mins),(Dakika cinsinden) Zaman,
-Timer,kronometre,
-Timer exceeded the given hours.,Zamanlayıcı verilen saatleri aştı.,
-Timesheet,Zaman çizelgesi,
-Timesheet for tasks.,Görevler için mesai kartı.,
-Timesheet {0} is already completed or cancelled,Mesai Kartı {0} tamamlanmış veya iptal edilmiş,
-Timesheets,Mesai kartları,
-"Timesheets help keep track of time, cost and billing for activites done by your team","Zaman çizelgeleri ekip tarafından yapılan aktiviteler için zaman, maliyet ve fatura izlemenize yardımcı",
-Titles for print templates e.g. Proforma Invoice.,"Baskı Şablonları için başlıklar, örneğin Proforma Fatura",
-To,için,
-To Address 1,Adrese 1,
-To Address 2,Adres 2&#39;ye,
-To Bill,Faturala,
-To Date,Tarihine kadar,
-To Date cannot be before From Date,Bitiş tarihi başlangıç tarihinden önce olmamalıdır,
+Time slots added,Zaman dilimleri eklendi,
+Time(in mins),Zaman (dakika) ,
+Timer,Kronometre,
+Timer exceeded the given hours.,Zamanlayıcı verilen saati aştı.,
+Timesheet,Mesai Kartı,
+Timesheet for tasks.,Görevler için Mesai kartı.,
+Timesheet {0} is already completed or cancelled,Mesai Kartı {0} işletmeye alındı veya iptal edildi,
+Timesheets,Mesai Kartı,
+"Timesheets help keep track of time, cost and billing for activites done by your team","Zaman organizasyonları ekip tarafından yapılan uçuşlar için zaman, maliyet ve fatura izlemenize yardımcı olur",
+Titles for print templates e.g. Proforma Invoice.,"Baskı Şablonları için başlıklar, boşaltma Proforma Fatura",
+To,Kime,
+To Address 1,Adres 1'ye,
+To Address 2,Adres 2'ye,
+To Bill,Faturalanacak,
+To Date,Bitiş Tarihi,
+To Date cannot be before From Date,Bitiş tarihi başlatma cezaları önce bitirme,
 To Date cannot be less than From Date,"Tarihe, Başlangıç Tarihinden daha az olamaz",
-To Date must be greater than From Date,"Tarihe, Tarihten büyük olmalıdır",
+To Date must be greater than From Date,"Tarihe, Tarihten büyük olmalı",
 To Date should be within the Fiscal Year. Assuming To Date = {0},Tarih Mali Yıl içinde olmalıdır. İlgili Tarih = {0},
 To Datetime,DateTime için,
 To Deliver,Teslim edilecek,
 To Deliver and Bill,Teslim edilecek ve Faturalanacak,
-To Fiscal Year,Mali Yıla,
+To Fiscal Year,Mali Yıl,
 To GSTIN,GSTIN&#39;e,
-To Party Name,Parti adına,
-To Pin Code,PIN Kodu&#39;na,
-To Place,Yerleştirmek,
-To Receive,Almak,
-To Receive and Bill,Teslimat ve Ödeme,
-To State,Devlete,
+To Party Name,Cari Adı bitişi,
+To Pin Code,PIN Koduna,
+To Place,Yerleştirilecek,
+To Receive,Alınacak,
+To Receive and Bill,Teslim Alınacak ve Faturalanacak,
+To State,Hedef Durum,
 To Warehouse,Depoya,
 To create a Payment Request reference document is required,Bir Ödeme Talebi oluşturmak için referans belgesi gerekiyor,
-To date can not be equal or less than from date,Bugüne kadar aynı tarihte eşit veya daha az olamaz,
+To date can not be equal or less than from date,Bugüne kadar aynı anda eşit veya daha az olamaz,
 To date can not be less than from date,Bugüne kadar bugünden daha az olamaz,
-To date can not greater than employee's relieving date,Bugüne kadar çalışanın tahliye tarihinden daha büyük olamaz,
-"To filter based on Party, select Party Type first",Partiye dayalı seçim için önce Parti Tipi seçiniz,
-"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","ERPNext en iyi sonucu almak için, biraz zaman ayırın ve bu yardım videoları izlemek öneririz.",
-"To include tax in row {0} in Item rate, taxes in rows {1} must also be included",Satır {0} a vergi eklemek için  {1} satırlarındaki vergiler de dahil edilmelidir,
-To make Customer based incentive schemes.,Müşteri bazlı teşvik programları yapmak.,
-"To merge, following properties must be same for both items","Birleştirmek için, aşağıdaki özellikler her iki Ürün için de aynı olmalıdır",
+To date can not greater than employee's relieving date,Bugüne kadar çalışanın sevkıyatı daha büyük olamaz,
+"To filter based on Party, select Party Type first",Cariye dayalı seçim için önce Cari Tipi seçiniz,
+"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","ERPNext en iyi sonucu almak için, biraz zaman ayırın ve bu yardım videolarını izlemenizi öneririz.",
+"To include tax in row {0} in Item rate, taxes in rows {1} must also be included",Satır {0} bir vergiyi dahil etmek için {1} satırlarındaki vergiler de dahil edilmelidir,
+To make Customer based incentive schemes.,Müşteri temelli teşvik programları yapıyor.,
+"To merge, following properties must be same for both items","Birleştirme için, aşağıdaki özellikler her iki Ürün için de aynı olmalıdır",
 "To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.",Belli bir işlemde Fiyatlandırma kuralını uygulamamak için bütün mevcut Fiyatlandırma Kuralları devre dışı bırakılmalıdır.,
-"To set this Fiscal Year as Default, click on 'Set as Default'","Varsayılan olarak bu Mali Yılı ayarlamak için, 'Varsayılan olarak ayarla' seçeneğini tıklayın",
-To view logs of Loyalty Points assigned to a Customer.,Bir Müşteriye atanan Bağlılık Puanlarının günlüklerini görmek için.,
-To {0},Şu kişiye {0},
+"To set this Fiscal Year as Default, click on 'Set as Default'","Varsayılan olarak bu Mali Yılı ayarları için, 'Varsayılan olarak ayarladık' seçeneğini tıklayın",
+To view logs of Loyalty Points assigned to a Customer.,Bir Müşteriye atanan Sadakat Puanlarının günlüklerini görmek için.,
+To {0},Şu kişi {0},
 To {0} | {1} {2},Şu kişi(lere) {0} | {1} {2},
 Toggle Filters,Geçiş Filtreleri,
-Too many columns. Export the report and print it using a spreadsheet application.,Çok fazla sütun. Raporu çıkarın ve spreadsheet uygulaması kullanarak yazdırın.,
+Too many columns. Export the report and print it using a spreadsheet application.,Çok fazla sütun. Rapor çıkarın ve elektronik tablo uygulamasını kullanarak yazdırın.,
 Tools,Araçlar,
-Total (Credit),Toplam (Kredi),
-Total (Without Tax),Toplam (Vergisiz),
-Total Absent,Toplam Yok,
-Total Achieved,Toplam Elde,
+Total (Credit),Toplam (Alacak),
+Total (Without Tax),Toplam (Vergi hariç),
+Total Absent,Toplam Devamsız,
+Total Achieved,Toplam Eldeki,
 Total Actual,Gerçek Toplam,
-Total Allocated Leaves,Toplam Tahsis Edilen Yapraklar,
-Total Amount,Toplam tutar,
+Total Allocated Leaves,Toplam Tahsis Edilen İzin,
+Total Amount,Toplam Tutar,
 Total Amount Credited,Kredili Toplam Tutar,
-Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Satın Alma Makbuzu Öğeler tablosundaki toplam Uygulanabilir Masraflar Toplam Vergi ve Masraflar aynı olmalıdır,
-Total Budget,Toplam bütçe,
+Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Satınalma Makbuzu Vergi Öğeleri tablosundaki toplam uygulanabilir Masraflar Toplam ve Masraflar aynı olmalıdır,
+Total Budget,Toplam Bütçe,
 Total Collected: {0},Toplanan Toplam: {0},
 Total Commission,Toplam Komisyon,
 Total Contribution Amount: {0},Toplam Katkı Payı: {0},
-Total Credit/ Debit Amount should be same as linked Journal Entry,"Toplam Kredi / Borç Tutarı, Bağlantılı Dergi Girişi ile aynı olmalıdır",
-Total Debit must be equal to Total Credit. The difference is {0},"Toplam Borç Toplam Krediye eşit olmalıdırr. Aradaki fark, {0}",
-Total Deduction,Toplam kesinti,
+Total Credit/ Debit Amount should be same as linked Journal Entry,"Toplam Kredi / Borç Tutarı, Bağlantılı Yevmiye Kaydı ile aynı olmalıdır",
+Total Debit must be equal to Total Credit. The difference is {0},"Toplam Borç Toplam Krediye eşit olmalıdır. Aradaki fark, {0}",
+Total Deduction,Toplam Kesinti,
 Total Invoiced Amount,Toplam Faturalanmış Tutar,
-Total Leaves,Toplam Yapraklar,
+Total Leaves,Toplam İzin,
 Total Order Considered,Dikkat Toplam Sipariş,
 Total Order Value,Toplam Sipariş Miktarı,
 Total Outgoing,Toplam Giden,
@@ -3089,93 +3089,93 @@
 Total Outstanding Amount,Toplam Alacakların Tutarı,
 Total Outstanding: {0},Toplam Üstün: {0},
 Total Paid Amount,Toplam Ödenen Tutar,
-Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Ödeme Planındaki Toplam Ödeme Tutarı Grand / Rounded Total&#39;e eşit olmalıdır.,
-Total Payments,Toplam tutar,
+Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Ödeme Planındaki Toplam Ödeme Tutarı Büyük / Yuvarlak Toplam eşit olmalıdır.,
+Total Payments,Toplam Ödeme,
 Total Present,Toplam Mevcut,
-Total Qty,Toplam Adet,
-Total Quantity,Toplam miktar,
-Total Revenue,Toplam gelir,
+Total Qty,Toplam Mik,
+Total Quantity,Toplam Miktar,
+Total Revenue,toplam Gelir,
 Total Student,Toplam Öğrenci,
 Total Target,Toplam Hedef,
-Total Tax,Toplam vergi,
+Total Tax,Toplam Vergi,
 Total Taxable Amount,Toplam Vergilendirilebilir Tutar,
 Total Taxable Value,Toplam Vergilendirilebilir Değer,
 Total Unpaid: {0},Toplam Ödenmemiş: {0},
 Total Variance,Toplam Varyans,
-Total Weightage of all Assessment Criteria must be 100%,Bütün Değerlendirme Kriterleri Toplam weightage% 100 olmalıdır,
-Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Toplam avans ({0}) Sipariş karşı {1} Genel Toplam den büyük olamaz ({2}),
-Total advance amount cannot be greater than total claimed amount,"Toplam avans miktarı, talep edilen toplam tutar kadar olamaz",
-Total advance amount cannot be greater than total sanctioned amount,"Toplam avans miktarı, toplam onaylanan tutardan fazla olamaz",
-Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,"Toplam ayrılan yapraklar, dönemdeki {1} çalışan için maksimum {1} izin türünden daha fazla gündür.",
-Total allocated leaves are more than days in the period,Toplam ayrılan yapraklar dönemde gün daha vardır,
-Total allocated percentage for sales team should be 100,Satış ekibi için ayrılan toplam yüzde 100 olmalıdır,
+Total Weightage of all Assessment Criteria must be 100%,Bütün Değerlendirme Kriterleri Toplam ağırlık %100 olmalıdır,
+Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Toplam avans ({0}) Sipariş karşı {1} Genel Toplamdan büyük olamaz ({2}),
+Total advance amount cannot be greater than total claimed amount,"Toplam avans miktarı, talep edilen miktar tutarları kadar olamaz",
+Total advance amount cannot be greater than total sanctioned amount,"Toplam avans miktarı, toplam onaylanan tutarlardan fazla olamaz",
+Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,"Toplam sarf malzemeleri, dönemdeki {1} çalışan için maksimum {1} izin türlerinin daha fazla sürümleri.",
+Total allocated leaves are more than days in the period,Toplam harcamalar süresi boyunca gün daha vardır,
+Total allocated percentage for sales team should be 100,Satış ekibi için koruma toplamı yüzde 100 olmalıdır,
 Total cannot be zero,Toplam sıfır olamaz,
 Total contribution percentage should be equal to 100,Toplam katkı yüzdesi 100&#39;e eşit olmalıdır,
-Total flexible benefit component amount {0} should not be less than max benefits {1},"Toplam esnek fayda bileşeni {0} tutarı, maksimum yarardan {1} daha az olmamalıdır",
+Total flexible benefit component amount {0} should not be less than max benefits {1},"Toplam esnek kullanım bileşenleri {0} birlikte, maksimum faydadan {1} daha az tüketir",
 Total hours: {0},Toplam saat: {0},
-Total leaves allocated is mandatory for Leave Type {0},{0} İzin Türü için ayrılan toplam izinler zorunludur,
-Total working hours should not be greater than max working hours {0},Toplam çalışma süresi maksimum çalışma saatleri fazla olmamalıdır {0},
+Total leaves allocated is mandatory for Leave Type {0},{0} İzin Türü için koruma toplam izinler süreleri,
+Total working hours should not be greater than max working hours {0},Toplam çalışma süresi maksimum çalışma saatleri fazla harcama {0},
 Total {0} ({1}),Toplam {0} ({1}),
-"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'",Toplam {0} tüm öğeler için size &#39;Dayalı Suçlamaları dağıtın&#39; değişmelidir olabilir sıfırdır,
+"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'",Toplam {0} tüm sunucu için size &#39;Dayalı Suçlamaları dağıtın&#39; değişmeli sıfır olabilir,
 Total(Amt),Toplam (AMT),
 Total(Qty),Toplam (Adet),
 Traceability,İzlenebilirlik,
-Traceback,Geri iz,
+Traceback,Geri takip,
 Track Leads by Lead Source.,Lead Source tarafından Leads izleyin.,
 Training,Eğitim,
-Training Event,Eğitim Etkinlik,
+Training Event,Eğitim Etkinliği,
 Training Events,Eğitim Etkinlikleri,
 Training Feedback,Eğitim Görüşleri,
 Training Result,Eğitim Sonucu,
-Transaction,işlem,
+Transaction,İşlem,
 Transaction Date,İşlem Tarihi,
 Transaction Type,işlem tipi,
-Transaction currency must be same as Payment Gateway currency,İşlem birimi Ödeme Gateway para birimi olarak aynı olmalıdır,
-Transaction not allowed against stopped Work Order {0},İşlem durdurulmuş iş emrine karşı izin verilmiyor {0},
-Transaction reference no {0} dated {1},İşlem referans yok {0} tarihli {1},
-Transactions,işlemler,
-Transactions can only be deleted by the creator of the Company,İşlemler sadece Şirket&#39;in yaratıcısı tarafından silinebilir,
-Transfer,Transfer,
+Transaction currency must be same as Payment Gateway currency,İşlem para birimi Ödeme Gateway para birimi ile aynı olmalıdır,
+Transaction not allowed against stopped Work Order {0},İşlem durdurulmuş {0} iş emrine karşı izin verilmiyor,
+Transaction reference no {0} dated {1},{1} tarihli {0} numaralı işlem referansı,
+Transactions,İşlemler,
+Transactions can only be deleted by the creator of the Company,İşlemler sadece Şirketin yaratıcısı tarafından silinebilir,
+Transfer,Transfer et,
 Transfer Material,Transfer Malzemesi,
-Transfer Type,Aktarım Türü,
-Transfer an asset from one warehouse to another,başka bir depodan bir varlık transfer,
-Transfered,Aktarılan,
+Transfer Type,Transfer Türü,
+Transfer an asset from one warehouse to another,başka bir depodan bir varlık transferi,
+Transfered,Transfer edildi,
 Transferred Quantity,Aktarılan Miktar,
-Transport Receipt Date,Taşıma Fişi Tarihi,
-Transport Receipt No,Taşıma Makbuzu No,
-Transportation,Taşıma,
-Transporter ID,Taşıyıcı Kimliği,
-Transporter Name,Taşıyıcı Adı,
+Transport Receipt Date,Nakliye Fişi Tarihi,
+Transport Receipt No,Nakliye Fişi No,
+Transportation,Nakliye,
+Transporter ID,Nakliyeci Kimliği,
+Transporter Name,Nakliyeci Adı,
 Travel,Gezi,
 Travel Expenses,Seyahat Giderleri,
 Tree Type,Ağaç Tipi,
 Tree of Bill of Materials,Malzeme Listesi Ağacı,
 Tree of Item Groups.,Ürün Grupları Ağacı,
-Tree of Procedures,Prosedürler Ağacı,
-Tree of Quality Procedures.,Kalite Ağacı Prosedürleri.,
+Tree of Procedures,mahkumlar ağacı,
+Tree of Quality Procedures.,Kalite Ağacı hükümleri.,
 Tree of financial Cost Centers.,Finansal Maliyet Merkezleri Ağacı.,
-Tree of financial accounts.,mali hesaplarının Ağacı.,
+Tree of financial accounts.,mali hesap Ağaçlarının.,
 Treshold {0}% appears more than once,"Eşik {0},% kereden fazla görünür",
 Trial Period End Date Cannot be before Trial Period Start Date,Deneme Süresi Bitiş Tarihi Deneme Süresi Başlangıç Tarihinden önce olamaz,
-Trialling,trialling,
+Trialling,deneme,
 Type of Business,İş türü,
-Types of activities for Time Logs,Zaman Kayıtlar faaliyetleri Türleri,
+Types of activities for Time Logs,Zaman Kayıtları operasyon Türleri,
 UOM,Birim,
-UOM Conversion factor is required in row {0},Ölçü Birimi Dönüşüm katsayısı satır {0} da gereklidir,
-UOM coversion factor required for UOM: {0} in Item: {1},Ürün {1} de Ölçü Birimi: {0} için Ölçü Birimi dönüştürme katsayısı gereklidir.,
+UOM Conversion factor is required in row {0},Ölçü Birimi Dönüşüm tüketimi satırı {0} da gereklidir,
+UOM coversion factor required for UOM: {0} in Item: {1},Ürün {1} de Ölçü Birimi: {0} için Ölçü Birimi dönüştürme parametresi dahildir.,
 URL,URL,
 Unable to find DocType {0},DocType {0} bulunamadı,
-Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Anahtar tarih {2} için {0} ila {1} arası döviz kuru bulunamadı. Lütfen bir Döviz Değiştirme kaydı el ile oluşturun,
-Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,{0} &#39;da başlayan skor bulunamadı. 0&#39;dan 100&#39;e kadar olan ayakta puanlara sahip olmanız gerekir,
-Unable to find variable: ,Değişken bulunamadı:,
+Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Anahtar tarih {2} için {0} ila {1} arası döviz kuru bulunamadı. Lütfen bir Döviz taşıma kaydırma el ile oluşturun,
+Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,{0} &#39;da başlarken skor bulunamadı. 0'dan 100'e kadar olan ayakta puanlara sahip olmanız gerekir,
+Unable to find variable: ,işletim bulunamadı:,
 Unblock Invoice,Faturanın Engellenmesini Kaldır,
-Uncheck all,Tümünü işaretleme,
+Uncheck all,Tümünü karıştırma,
 Unclosed Fiscal Years Profit / Loss (Credit),Kapanmamış Mali Yıl Kâr / Zarar (Kredi),
-Unit,birim,
-Unit of Measure,Ölçü birimi,
+Unit,Birim,
+Unit of Measure,Ölçü Birimi,
 Unit of Measure {0} has been entered more than once in Conversion Factor Table,Ölçü Birimi {0} Dönüşüm katsayısı tablosunda birden fazla kez girildi.,
-Unknown,Bilinmeyen,
-Unpaid,ödenmemiş,
+Unknown,Bilinmiyor,
+Unpaid,Ödenmemiş,
 Unsecured Loans,Teminatsız Krediler,
 Unsubscribe from this Email Digest,Bu e-posta Digest aboneliğinden çık,
 Unsubscribed,Kaydolmamış,
@@ -3183,127 +3183,127 @@
 Unverified Webhook Data,Doğrulanmamış Web Kanalı Verileri,
 Update Account Name / Number,Hesap Adını / Numarasını Güncelle,
 Update Account Number / Name,Hesap Numarasını / Adını Güncelle,
-Update Cost,Güncelleme Maliyeti,
+Update Cost,Maliyeti Güncelle,
 Update Items,Öğeleri Güncelle,
-Update Print Format,Update Yazıcı Formatı,
-Update Response,Yanıt Güncelle,
+Update Print Format,Yazıcı Formatını Güncelle,
+Update Response,yanıt güncelle,
 Update bank payment dates with journals.,Günlüklerle ödeme tarihlerini güncelle.,
 Update in progress. It might take a while.,Güncelleme devam ediyor. Bu biraz zaman alabilir.,
-Update rate as per last purchase,Son satın alma oranına göre güncelleme oranı,
-Update stock must be enable for the purchase invoice {0},Satınalma faturası {0} satın alım faturası için etkinleştirilmelidir,
-Updating Variants...,Varyantlar Güncelleniyor ...,
-Upload your letter head and logo. (you can edit them later).,Mektup baş ve logosu yükleyin. (Daha sonra bunları düzenleyebilirsiniz).,
-Upper Income,Üst gelir,
+Update rate as per last purchase,Son Alışa göre fiyatı güncelle,
+Update stock must be enable for the purchase invoice {0},Satınalma faturası {0} satınalma faturası için etkinleştirilmelidir,
+Updating Variants...,Varyantlar Güncelleniyor...,
+Upload your letter head and logo. (you can edit them later).,Mektup baş ve logo yükleyin. (Daha sonra bunları düzenleyebilirsiniz).,
+Upper Income,üst gelir,
 Use Sandbox,Kullanım Sandbox,
-Used Leaves,Kullanılan yapraklar,
-User,kullanıcı,
+Used Leaves,Kullanılan İzin,
+User,Kullanıcı,
 User ID,Kullanıcı kimliği,
-User ID not set for Employee {0},Çalışan {0} için kullanıcı kimliği ayarlanmamış,
+User ID not set for Employee {0},Çalışan {0} için kullanıcı sıfatı ayarlanmamış,
 User Remark,Kullanıcı Açıklaması,
-User has not applied rule on the invoice {0},Kullanıcı {0} faturasına kural uygulamadı,
-User {0} already exists,{0} kullanıcısı zaten mevcut,
-User {0} created,{0} kullanıcısı oluşturuldu,
+User has not applied rule on the invoice {0},Kullanıcı {0} faturasına kural uygulamasıydı,
+User {0} already exists,{0} kullanıcı zaten mevcut,
+User {0} created,{0}görüşmeler,
 User {0} does not exist,Kullanıcı {0} yok,
-User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,{0} kullanıcısının varsayılan POS Profili yok. Bu Kullanıcı için Satır {1} &#39;te Varsayılan&#39;ı işaretleyin.,
-User {0} is already assigned to Employee {1},Kullanıcı {0} zaten Çalışan {1} e atanmış,
-User {0} is already assigned to Healthcare Practitioner {1},"{0} kullanıcısı, Sağlık Uzmanına {1} atandı",
+User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,{0} kullanıcısının varsayılan POS Profili yok. Bu Kullanıcı için Satır {1} &#39;te varsayılan&#39;ı temizleme.,
+User {0} is already assigned to Employee {1},Kullanıcı {0} zaten çalışan {1} e atanmış,
+User {0} is already assigned to Healthcare Practitioner {1},"{0} kullanıcı, Sağlık Uzmanına {1} atandı",
 Users,Kullanıcılar,
 Utility Expenses,Yardımcı Giderleri,
-Valid From Date must be lesser than Valid Upto Date.,"Tarihten Geçerli Tarih, Geçerlie Kadar Geçerli olandan daha az olmalıdır.",
+Valid From Date must be lesser than Valid Upto Date.,"Tarihten geçerli Tarih, geçerlie Kadar hüküm olandan daha az olmalıdır.",
 Valid Till,Kadar geçerli,
-Valid from and valid upto fields are mandatory for the cumulative,Kümülatif alanlar için geçerli ve geçerli alanlar zorunludur,
-Valid from date must be less than valid upto date,Tarihten itibaren geçerli olan tarih geçerli olandan az olmalıdır,
-Valid till date cannot be before transaction date,Geçerli tarihe kadar işlem tarihi öncesi olamaz,
-Validity,Geçerlilik,
+Valid from and valid upto fields are mandatory for the cumulative,Kümülatif alanlar için geçerli ve geçerli alanlar,
+Valid from date must be less than valid upto date,Tarihten itibaren geçerli olan tarihten geçerli olandan az olmalıdır,
+Valid till date cannot be before transaction date,geçerli tarihe kadar işlem tarihi öncesi olamaz,
+Validity,geçerlilik,
 Validity period of this quotation has ended.,Bu fiyat teklifinin geçerlilik süresi sona erdi.,
 Valuation Rate,Değerleme Oranı,
-Valuation Rate is mandatory if Opening Stock entered,Açılış Stok girdiyseniz Değerleme Oranı zorunludur,
+Valuation Rate is mandatory if Opening Stock entered,Açılış Stoğu girilirse Değerleme Oranı zorunludur,
 Valuation type charges can not marked as Inclusive,Değerleme tipi ücretleri dahil olarak işaretlenmiş olamaz,
 Value Or Qty,Değer veya Miktar,
-Value Proposition,Değer Önerisi,
-Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},{0} Attribute değer aralığında olmalıdır {1} {2} artışlarla {3} Öğe için {4},
-Value missing,Değer eksik,
+Value Proposition,Değer Önerileri,
+Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},{0} Attribute değer aralığı olmalıdır {1} {2} dizilerle {3} Öğe için {4},
+Value missing,değer eksik,
 Value must be between {0} and {1},Değer {0} ve {1} arasında olmalıdır,
 "Values of exempt, nil rated and non-GST inward supplies","Muaf, sıfır değer ve GST dışı iç arz değerleri",
-Variable,Değişken,
+Variable,hareketli,
 Variance,Varyans,
 Variance ({}),Varyans ({}),
-Variant,varyant,
+Variant,sahip olmak,
 Variant Attributes,Varyant Nitelikler,
-Variant Based On cannot be changed,Temel Varyant değiştirilemez,
+Variant Based On cannot be changed,Temel Değişken değiştirilemez,
 Variant Details Report,Varyant Detayları Raporu,
-Variant creation has been queued.,Varyant oluşturma işlemi sıraya alındı.,
-Vehicle Expenses,araç Giderleri,
+Variant creation has been queued.,Varyant oluşturma işlemi kayda alındı.,
+Vehicle Expenses,araç giderleri,
 Vehicle No,Araç No,
 Vehicle Type,araç tipi,
 Vehicle/Bus Number,Araç / Otobüs Numarası,
 Venture Capital,Girişim Sermayesi,
-View Chart of Accounts,Hesapların Grafiğini Görüntüle,
+View Chart of Accounts,Hesapların Grafiği Görüntüle,
 View Fees Records,Ücret Kayıtlarını Görüntüleme,
-View Form,Formu Görüntüle,
+View Form,Form Görüntüle,
 View Lab Tests,Lab Testlerini Görüntüle,
-View Leads,Görünüm İlanlar,
-View Ledger,Değerlendirme Defteri,
+View Leads,Adaylerı Göster,
+View Ledger,Defteri Göster,
 View Now,Şimdi Görüntüle,
-View a list of all the help videos,Tüm yardım videoların bir listesini görüntüleyin,
+View a list of all the help videos,Tüm yardım videolarının bir listesini alma,
 View in Cart,Sepet Görüntüle,
 Visit report for maintenance call.,Bakım araması için ziyaret raporu.,
 Visit the forums,Forumları ziyaret et,
-Vital Signs,Hayati bulgular,
+Vital Signs,Hayati geçirmek,
 Volunteer,Gönüllü,
 Volunteer Type information.,Gönüllü Türü bilgileri.,
 Volunteer information.,Gönüllü bilgi.,
-Voucher #,Föy #,
+Voucher #,#,
 Voucher No,Föy No,
 Voucher Type,Föy Türü,
-WIP Warehouse,WIP Depo,
+WIP Warehouse,Yarı Mamül Depo,
 Walk In,Rezervasyonsuz Müşteri,
 Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Bu depo için defter girdisi mevcutken depo silinemez.,
 Warehouse cannot be changed for Serial No.,Depo Seri No için değiştirilemez,
-Warehouse is mandatory,Depo zorunludur,
-Warehouse is mandatory for stock Item {0} in row {1},Satır {1} de stok Ürünü {0} için depo zorunludur,
+Warehouse is mandatory,depo cezaları,
+Warehouse is mandatory for stock Item {0} in row {1},Satır {1} de stok Ürün {0} için depo bakım ürünleri,
 Warehouse not found in the system,Sistemde depo bulunmadı,
-"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","{0} numaralı Satırda gerekli depo lütfen, {2} şirketi için {1} öğesinin varsayılan depolamasını lütfen ayarlayın",
+"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","{0} numaralandırma Satırda gerekli depo lütfen, {2} şirket için {1} varlığın varsayılan depolamasını lütfen ayarlayın",
 Warehouse required for stock Item {0},Stok Ürünü {0} için depo gereklidir,
-Warehouse {0} can not be deleted as quantity exists for Item {1},Ürün {1} için miktar mevcut olduğundan depo {0} silinemez,
+Warehouse {0} can not be deleted as quantity exists for Item {1},Ürün {1} için miktar mevcut olduklarında depo {0} silinemez,
 Warehouse {0} does not belong to company {1},Depo {0} Şirket {1}e ait değildir,
-Warehouse {0} does not exist,Depo {0} yoktur,
-"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Depo {0} herhangi bir hesaba bağlı değil, lütfen depo kaydındaki hesaptaki sözcükten veya {1} şirketindeki varsayılan envanter hesabını belirtin.",
-Warehouses with child nodes cannot be converted to ledger,alt düğümleri ile depolar Ledger dönüştürülebilir olamaz,
+Warehouse {0} does not exist,Depo {0} yok,
+"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Depo {0} herhangi bir açıklamaya bağlı değil, lütfen depo kaydındaki hesaptaki sözcükten veya {1} şirketteki varsayılan envanter hesabını kullanın.",
+Warehouses with child nodes cannot be converted to ledger,alt düğümleri ile depolar Ledger dönüştürülemez,
 Warehouses with existing transaction can not be converted to group.,Mevcut işlem ile depolar grubuna dönüştürülemez.,
-Warehouses with existing transaction can not be converted to ledger.,Mevcut işlem ile depolar defterine dönüştürülür edilemez.,
+Warehouses with existing transaction can not be converted to ledger.,Mevcut işlem ile depolar defterine dönüştürülemez.,
 Warning,Uyarı,
-Warning: Another {0} # {1} exists against stock entry {2},Uyarı: Başka {0} # {1} stok girişi karşı var {2},
+Warning: Another {0} # {1} exists against stock entry {2},Uyarı: {2} Stok Hareketi karşı başka bir {0} # {1} var,
 Warning: Invalid SSL certificate on attachment {0},Uyarı: eki Geçersiz SSL sertifikası {0},
-Warning: Invalid attachment {0},Uyarı: Geçersiz Eklenti {0},
-Warning: Leave application contains following block dates,Uyarı: İzin uygulamasında aşağıdaki engel tarihleri bulunmaktadır,
+Warning: Invalid attachment {0},Uyarı: Geçersiz İnceleme {0},
+Warning: Leave application contains following block dates,Uyarı: İzin yazılımı aşağıdaki engel bölümleri bulunmaktadır,
 Warning: Material Requested Qty is less than Minimum Order Qty,Uyarı: İstenen Ürün Miktarı Minimum Sipariş Miktarından az,
-Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Uyarı: Satış Sipariş {0} zaten Müşterinin Satın Alma Emri karşı var {1},
-Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Uyarı: {1} deki {0} ürünü miktarı sıfır olduğu için sistem fazla faturalamayı kontrol etmeyecektir,
-Warranty,Garanti,
-Warranty Claim,Garanti talebi,
-Warranty Claim against Serial No.,Seri No. karşı Garanti İddiası,
+Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Uyarı: Satış Sipariş {0} zaten Müşterinin Satınalma Emri karşı var {1},
+Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Uyarı: {1} deki {0} ürün bedeli sıfır olduğu için sistem fazla faturasını ödemeyi kontrol etmeyecektir,
+Warranty,garanti,
+Warranty Claim,Garanti Talebi,
+Warranty Claim against Serial No.,Seri No'ya karşı Garanti Talebi,
 Website,Web sitesi,
-Website Image should be a public file or website URL,Web Sitesi Resim kamu dosya veya web sitesi URL olmalıdır,
+Website Image should be a public file or website URL,Web Sitesi Resim kamu dosyası veya web sitesi URL'si olmalıdır,
 Website Image {0} attached to Item {1} cannot be found,Öğe {1} bağlı Web Sitesi Resmi {0} bulunamıyor,
 Website Listing,Web Sitesi Listesi,
 Website Manager,Web Yöneticisi,
 Website Settings,Web Sitesi Ayarları,
 Wednesday,Çarşamba,
-Week,Hafta,
+Week,Haftalık,
 Weekdays,Hafta içi,
 Weekly,Haftalık,
-"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Ağırlık çok ""Ağırlık Ölçü Birimi"" belirtiniz \n, söz edilmektedir",
-Welcome email sent,Hoşgeldiniz e-posta adresine gönderildi,
+"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Ağırlık çok ""Ağırlık Ölçü Birimi"" Belirtiniz \n, söz verilmektedir",
+Welcome email sent,Hoşgeldiniz e-posta gönderimi yapılır,
 Welcome to ERPNext,Hoşgeldiniz,
-What do you need help with?,Ne konuda yardıma ihtiyacın var?,
+What do you need help with?,Ne konulardaki güçler var?,
 What does it do?,Ne yapar?,
 Where manufacturing operations are carried.,Üretim operasyonları nerede yapılmaktadır.,
 White,Beyaz,
-Wire Transfer,Elektronik transfer,
+Wire Transfer,Elektronik Transfer,
 WooCommerce Products,WooCommerce Ürünleri,
-Work In Progress,Devam eden iş,
-Work Order,İş emri,
+Work In Progress,Devam ediyor,
+Work Order,İş Emri,
 Work Order already created for all items with BOM,BOM ile tüm öğeler için önceden oluşturulmuş olan İş Emri,
 Work Order cannot be raised against a Item Template,"İş Emri, Öğe Şablonuna karşı yükseltilemez",
 Work Order has been {0},İş Emri {0} olmuştur,
@@ -3312,66 +3312,66 @@
 Work Order {0} must be submitted,İş emri {0} sunulmalıdır,
 Work Orders Created: {0},Oluşturulan İş Emirleri: {0},
 Work Summary for {0},{0} İçin İş Özeti,
-Work-in-Progress Warehouse is required before Submit,Devam eden depo işi teslimden önce gereklidir,
-Workflow,İş Akışı,
+Work-in-Progress Warehouse is required before Submit,Göndermeden önce Work-in-Progress Deposu gereklidir,
+Workflow,Workflow,
 Working,Çalışıyor,
-Working Hours,Iş saatleri,
+Working Hours,Çalışma Saatleri,
 Workstation,İş İstasyonu,
 Workstation is closed on the following dates as per Holiday List: {0},İş İstasyonu Tatil List göre aşağıdaki tarihlerde kapalı: {0},
 Wrapping up,Sarma,
-Wrong Password,Yanlış şifre,
-Year start date or end date is overlapping with {0}. To avoid please set company,Yılın başlangıç ve bitiş tarihi {0} ile çakışıyor. Engellemek için lütfen firma seçin.,
-You are not authorized to add or update entries before {0},{0} dan önceki girdileri ekleme veya güncelleme yetkiniz yok,
-You are not authorized to approve leaves on Block Dates,Blok Tarihlerdeki çıkışları onaylama yetkiniz yok,
-You are not authorized to set Frozen value,Donmuş değeri ayarlama yetkiniz yok,
-You are not present all day(s) between compensatory leave request days,Telafi edici izin talebi günleri arasında tüm gün (ler) mevcut değilsiniz.,
-You can not change rate if BOM mentioned agianst any item,Herhangi bir Ürünye karşo BOM belirtildiyse oran değiştiremezsiniz.,
-You can not enter current voucher in 'Against Journal Entry' column,Sen sütununda 'Journal girişine karşı' geçerli fiş giremezsiniz,
-You can only have Plans with the same billing cycle in a Subscription,Abonelikte yalnızca aynı faturalandırma döngüsüne sahip Planlarınız olabilir,
-You can only redeem max {0} points in this order.,Bu sırayla yalnızca maksimum {0} noktayı kullanabilirsiniz.,
+Wrong Password,Yanlış Şifre,
+Year start date or end date is overlapping with {0}. To avoid please set company,Yılın başlangıç ve bitiş tarihi {0} ile kesişiyor. Engellemek için lütfen firma seçiniz.,
+You are not authorized to add or update entries before {0},{0} ve önceki girdileri ekleme veya güncelleme yetkiniz yok,
+You are not authorized to approve leaves on Block Dates,Blok Tarihlerindeki çıkışları onaylama yetkiniz yok,
+You are not authorized to set Frozen value,Donmuş değerini ayarlamak yetkiniz yok,
+You are not present all day(s) between compensatory leave request days,Telafi edici izin talebi gün arasında tüm gün (ler) mevcut değilsiniz.,
+You can not change rate if BOM mentioned agianst any item,Herhangi bir Ürünye karşo BOM belirtilmişse orantısız değiştiremezsiniz.,
+You can not enter current voucher in 'Against Journal Entry' column,Sen sütununda 'Journal girişine karşı' geçerli fişi giremezsin,
+You can only have Plans with the same billing cycle in a Subscription,Abonelikte yalnızca aynı faturalandırma tüketimine sahip Planlarınız olabilir,
+You can only redeem max {0} points in this order.,Bu parçaları yalnızca maksimum {0} noktayı kullanabilirsiniz.,
 You can only renew if your membership expires within 30 days,Üyeliğinizin süresi 30 gün içinde dolarsa yenileyebilirsiniz,
-You can only select a maximum of one option from the list of check boxes.,Onay kutuları listesinden yalnızca en fazla bir seçenek seçebilirsiniz.,
+You can only select a maximum of one option from the list of check boxes.,Onay listelerinden yalnızca en fazla bir seçeneğin sağlanması.,
 You can only submit Leave Encashment for a valid encashment amount,İzin Depozitini geçerli bir nakit miktarı için gönderebilirsiniz.,
-You can't redeem Loyalty Points having more value than the Grand Total.,Büyük Toplam&#39;dan daha fazla değeri olan Bağlılık Puanlarını kullanamazsınız.,
+You can't redeem Loyalty Points having more value than the Grand Total.,Büyük Toplam'dan daha fazla değer olan Sadakat Puanlarını kullanamazsınız.,
 You cannot credit and debit same account at the same time,Aynı hesabı aynı anda kredilendirip borçlandıramazsınız,
 You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Silemezsiniz Mali Yılı {0}. Mali yıl {0} Genel ayarlar varsayılan olarak ayarlanır,
 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 değilsiniz,
+You don't have enought 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 öğeleri seçtiniz {0} {1},
-You have been invited to collaborate on the project: {0},{0} projesine katkıda bulunmak için davet edildiniz,
+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,
 You have entered duplicate items. Please rectify and try again.,Yinelenen Ürünler girdiniz. Lütfen düzeltip yeniden deneyin.,
-You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Marketplace&#39;e kayıt olmak için Sistem Yöneticisi ve Ürün Yöneticisi rolleriyle Yönetici dışında bir kullanıcı olmanız gerekir.,
-You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Kullanıcıları Marketplace&#39;e eklemek için Sistem Yöneticisi ve Ürün Yöneticisi rolleri olan bir kullanıcı olmanız gerekir.,
-You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Marketplace&#39;e kayıt olmak için Sistem Yöneticisi ve Ürün Yöneticisi rolleri olan bir kullanıcı olmanız gerekir.,
-You need to be logged in to access this page,Bu sayfaya erişmek için giriş yapmış olmanız gerekmektedir,
+You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Marketplace'e kayıt olmak için Sistem Yöneticisi ve Ürün Yöneticisi rolleriyle Yönetici dışında bir kullanıcı olmanız gerekir.,
+You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Kullanıcıları Marketplace'te bulunmak için Sistem Yöneticisi ve Ürün Yöneticisi rolleri olan bir kullanıcı olmanız gerekir.,
+You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Marketplace'e kayıt olmak için Sistem Yöneticisi ve Ürün Yöneticisi rolleri olan bir kullanıcı olmanız gerekir.,
+You need to be logged in to access this page,Bu sayfaya erişmek için giriş yapmış olmanız gerekmektedir.,
 You need to enable Shopping Cart,Alışveriş sepetini etkinleştirmeniz gereklidir,
-You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Önceden oluşturulan faturaların kayıtlarını kaybedersiniz. Bu aboneliği tekrar başlatmak istediğinizden emin misiniz?,
+You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,geçmişteki faturaların kayıtlarını kaybedersiniz. Bu aboneliği tekrar başlatmak istediğinizden emin misiniz?,
 Your Organization,Kuruluşunuz,
 Your cart is Empty,Sepetiniz boş,
 Your email address...,E...,
-Your order is out for delivery!,Siparişiniz teslimat için dışarıda!,
+Your order is out for delivery!,Siparişiniz için teslimat için teslimat!,
 Your tickets,Biletleriniz,
 ZIP Code,Posta kodu,
 [Error],[Hata],
 [{0}](#Form/Item/{0}) is out of stock,[{0}](#Form/Item/{0}) stokta yok,
-`Freeze Stocks Older Than` should be smaller than %d days.,`Freeze Stocks Older Than` %d günden daha kısa olmalıdır.,
+`Freeze Stocks Older Than` should be smaller than %d days.,`%d'den Eski Stokları Dondur' günden daha kısa olmalıdır.,
 based_on,temel_olarak,
-cannot be greater than 100,100 'den daha büyük olamaz,
+cannot be greater than 100,100'den daha büyük olamaz,
 disabled user,engelli kullanıcı,
-"e.g. ""Build tools for builders""","örneğin: ""Yazılım Çözümleri""",
-"e.g. ""Primary School"" or ""University""","örneğin, &quot;İlköğretim Okulu&quot; ya da &quot;Üniversite&quot;",
-"e.g. Bank, Cash, Credit Card","Örneğin: Banka, Nakit, Kredi Kartı",
+"e.g. ""Build tools for builders""","örnekleme: ""Yazılım Çözümleri""",
+"e.g. ""Primary School"" or ""University""","örnekleme, &quot;İlköğretim Okulu&quot; ya da &quot;Üniversite&quot;",
+"e.g. Bank, Cash, Credit Card","Örnek: Banka, Nakit, Kredi Kartı",
 hidden,gizli,
-modified,değiştirilmiş,
-old_parent,old_parent,
+modified,ilerlemek,
+old_parent,eski_ebeveyn,
 on,üzerinde,
 {0} '{1}' is disabled,{0} '{1}' devre dışı,
 {0} '{1}' not in Fiscal Year {2},{0} '{1}' mali yıl {2} içinde değil,
-{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},"{0} ({1}), İş Emrinde {3} planlanan miktardan ({2}) fazla olamaz",
-{0} - {1} is inactive student,{0} - {1} öğrencisi aktif değildir,
+{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},"{0} ({1}), İş Emrinde {3} sürümünün miktarın ({2}) fazla olamaz",
+{0} - {1} is inactive student,{0} - {1} öğrenci aktif değildir,
 {0} - {1} is not enrolled in the Batch {2},{0} - {1} Küme {2} &#39;ye kayıtlı değil,
 {0} - {1} is not enrolled in the Course {2},"{0} - {1}, {2} Kursuna kayıtlı değil",
 {0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} {2} {3} için {1} bütçe hesabı {4} tanımlıdır. Bütçe {5} kadar aşılacaktır.,
@@ -3379,113 +3379,113 @@
 {0} Request for {1},{0} {1} için istek,
 {0} Result submittted,{0} Sonuç gönderildi,
 {0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Öğe için gerekli Seri Numaraları {1}. Sağladığınız {2}.,
-{0} Student Groups created.,Öğrenci Grupları {0} oluşturuldu.,
-{0} Students have been enrolled,{0} Öğrenciler kaydoldu,
-{0} against Bill {1} dated {2},{0} Bill karşı {1} tarihli {2},
+{0} Student Groups created.,Öğrenci Grupları {0} kuruldu.,
+{0} Students have been enrolled,{0} öğrenci kaydoldu,
+{0} against Bill {1} dated {2},{0} Fatura Karşısı {1} tarihli {2},
 {0} against Purchase Order {1},{0} Satınalma siparişine karşı{1},
 {0} against Sales Invoice {1},{0} Satış Faturasına karşı {1},
 {0} against Sales Order {1},{0} Satış Siparişine karşı {1},
-{0} already allocated for Employee {1} for period {2} to {3},{0} zaten Çalışan tahsis {1} dönem {2} için {3},
+{0} already allocated for Employee {1} for period {2} to {3},{0} zaten çalışan ödenekleri {1} dönem {2} için {3},
 {0} applicable after {1} working days,{1} iş gününden sonra {0} uygulanabilir,
-{0} asset cannot be transferred,{0} varlığı transfer edilemez,
+{0} asset cannot be transferred,{0} varlığını aktaramaz,
 {0} can not be negative,{0} negatif olamaz,
-{0} created,{0} oluşturuldu,
-"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.",{0} şu anda bir {1} Tedarikçi Puan Kartı&#39;na sahip ve bu tedarikçiye Satın Alma Siparişleri dikkatle verilmelidir.,
-"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} şu anda bir {1} Tedarikçi Puan Kartı&#39;na sahip ve bu tedarikçinin RFQ&#39;ları dikkatli bir şekilde verilmelidir.,
+{0} created,{0} sahip,
+"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.",{0} şu anda bir {1} Tedarikçi Puan Kartına sahip ve bu tedarikçiye Satınalma Siparişleri çalıştırma.,
+"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.",{0} şu anda bir {1} Tedarikçi Puan Kartına sahip ve bu tedarikçinin RFQ'ları dikkatli bir şekilde çıkarılıyor.,
 {0} does not belong to Company {1},{0} Şirket {1}E ait değildir,
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,"{0}, bir Sağlık Hizmeti Uygulayıcısı Programına sahip değil. Sağlık Uygulayıcısı ana bölümüne ekle",
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,"{0}, bir Sağlık Hizmeti Uygulayıcısı Programına sahip değil. Sağlık Uygulayıcısı ana bölüm ekle",
 {0} entered twice in Item Tax,{0} iki kere ürün vergisi girildi,
 {0} for {1},{0} için {1},
 {0} has been submitted successfully,{0} başarıyla gönderildi,
-{0} has fee validity till {1},"{0}, {1} yılına kadar ücret geçerliliğine sahiptir.",
+{0} has fee validity till {1},"{0}, {1} Yükün kadar ücret geçerliliğine sahiptir.",
 {0} hours,{0} saat,
-{0} in row {1},{1} satırında {0},
+{0} in row {1},{1} bilgisinde {0},
 {0} is blocked so this transaction cannot proceed,"{0} engellendi, bu işleme devam edilemiyor",
-{0} is mandatory,{0} alanı zorunludur,
-{0} is mandatory for Item {1},{0} Ürün {1} için zorunludur,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} zorunludur. {1} ve {2} için Döviz kaydı oluşturulmayabilir.,
+{0} is mandatory,{0} yaşam alanı,
+{0} is mandatory for Item {1},{0} Ürün {1} için cezalar,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} yaptırımlar. {1} ve {2} için Döviz kaydı oluşturulabilir.,
 {0} is not a stock Item,{0} bir stok ürünü değildir.,
 {0} is not a valid Batch Number for Item {1},{0} Ürün {1} için geçerli bir parti numarası değildir,
 {0} is not added in the table,Tabloya {0} eklenmedi,
 {0} is not in Optional Holiday List,{0} İsteğe Bağlı Tatil Listesinde değil,
 {0} is not in a valid Payroll Period,{0} geçerli bir Bordro Döneminde değil,
-{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} varsayılan Mali Yıldır. Değiştirmek için tarayıcınızı yenileyiniz,
-{0} is on hold till {1},"{0}, {1} tarihine kadar beklemede",
+{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} varsayılan Mali Yıldır. değiştirmek için tarayıcınızı yenileyiniz,
+{0} is on hold till {1},"{0}, {1} geçen zamana kadar beklemede",
 {0} item found.,{0} öğe bulundu.,
 {0} items found.,{0} öğe bulundu.,
-{0} items in progress,{0} ürün işlemde,
-{0} items produced,{0} ürün üretildi,
+{0} items in progress,{0} ürün işleminde,
+{0} items produced,{0} ürün üretimi,
 {0} must appear only once,{0} sadece bir kez yer almalıdır,
-{0} must be negative in return document,{0} return belgesinde negatif olmalıdır,
+{0} must be negative in return document,{0} iade belgesinde negatif olmalı,
 {0} must be submitted,{0} gönderilmelidir,
-{0} not allowed to transact with {1}. Please change the Company.,"{0}, {1} ile işlem yapmasına izin verilmiyor. Lütfen Şirketi değiştirin.",
+{0} not allowed to transact with {1}. Please change the Company.,"{0}, {1} ile işlem yapmasına izin verilmiyor. Lütfen Şirketi kurallarına uyun.",
 {0} not found for item {1},{1} öğesi için {0} bulunamadı,
-{0} parameter is invalid,{0} parametre geçersiz,
+{0} parameter is invalid,{0} parametresi geçersiz,
 {0} payment entries can not be filtered by {1},{0} ödeme girişleri şu tarafından filtrelenemez {1},
 {0} should be a value between 0 and 100,"{0}, 0 ile 100 arasında bir değer olmalıdır",
 {0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} miktar [{1}](#Form/Item/{1}) bulunduğu yer [{2}](#Form/Warehouse/{2}),
-{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,Bu işlemi tamamlamak için {2} içinde {3} {4} üstünde {5} için {0} miktar {1} gerekli.,
-{0} units of {1} needed in {2} to complete this transaction.,Bu işlemi tamamlamak için {2} içinde {0} birim {1} gerekli.,
+{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,Bu işlemi gerçekleştirmek için {2} içinde {3} {4} üstünde {5} için {0} miktar {1} gerekli.,
+{0} units of {1} needed in {2} to complete this transaction.,Bu işlemi yapmak için {2} içinde {0} birim {1} gerekli.,
 {0} valid serial nos for Item {1},Ürün {1} için {0} geçerli bir seri numarası,
-{0} variants created.,{0} varyant oluşturuldu.,
-{0} {1} created,{0} {1}  oluşturuldu,
+{0} variants created.,{0} geçmiş.,
+{0} {1} created,{0} {1} kuruluş,
 {0} {1} does not exist,{0} {1} mevcut değil,
-{0} {1} has been modified. Please refresh.,"{0}, {1} düzenlenmiştir. Lütfen yenileyin.",
-{0} {1} has not been submitted so the action cannot be completed,"{0} {1} gönderilmedi, bu nedenle eylem tamamlanamadı",
-"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1}, {2} ile ilişkili, ancak Parti Hesabı {3}",
+{0} {1} has been modified. Please refresh.,"{0}, {1} düzenlendi. Lütfen yenileyin.",
+{0} {1} has not been submitted so the action cannot be completed,"{0} {1} verildi, bu nedenle eylem tamamlanamadı",
+"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1}, {2} dosyaları, ancak Cari Hesabı {3}",
 {0} {1} is cancelled or closed,{0} {1} iptal edildi veya kapatıldı,
-{0} {1} is cancelled or stopped,{0} {1} iptal edilmiş veya durdurulmuş,
+{0} {1} is cancelled or stopped,{0} {1}iptal edilmiş veya durdurulmuş,
 {0} {1} is cancelled so the action cannot be completed,"{0} {1} iptal edildi, bu nedenle eylem tamamlanamadı",
 {0} {1} is closed,{0} {1} kapatıldı,
 {0} {1} is disabled,{0} {1} devre dışı,
 {0} {1} is frozen,{0} {1} donduruldu,
 {0} {1} is fully billed,{0} {1} tam fatura edilir,
 {0} {1} is not active,{0} {1} aktif değil,
-{0} {1} is not associated with {2} {3},"{0} {1}, {2} {3} ile ilişkili değil",
+{0} {1} is not associated with {2} {3},"{0} {1}, {2} {3} ile yayınlamıyor",
 {0} {1} is not present in the parent company,{0} {1} ana şirkette mevcut değil,
 {0} {1} is not submitted,{0} {1} teslim edilmedi,
 {0} {1} is {2},"{0} {1}, {2}",
 {0} {1} must be submitted,{0} {1} teslim edilmelidir,
 {0} {1} not in any active Fiscal Year.,{0} {1} Aktif mali dönem içinde değil.,
 {0} {1} status is {2},{0} {1} durum {2} olduğu,
-{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Kar ve Zarar&#39; türü hesabı {2} Entry Açılış izin verilmez,
-{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Hesap {2} Şirket&#39;e ait olmayan {3},
+{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &#39;Kar ve Zarar&#39; türü hesabı {2} Entry Açılışına izin verilmez,
+{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Hesap {2} Şirkete ait olmayan {3},
 {0} {1}: Account {2} is inactive,{0} {1}: Hesap {2} etkin değil,
 {0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: {2} için muhasebe kaydı yalnızca bu para birimi ile yapılabilir: {3},
-{0} {1}: Cost Center is mandatory for Item {2},Ürün{2} için {0} {1}: Maliyert Merkezi zorunludur,
-{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Kar/zarar hesabı {2} için Masraf Merkezi tanımlanmalıdır. Lütfen aktif şirket için varsayılan bir Masraf Merkezi tanımlayın.,
-{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Maliyet Merkezi {2} Şirket&#39;e ait olmayan {3},
+{0} {1}: Cost Center is mandatory for Item {2},Ürün{2} için {0} {1}: Maliyert Merkezi yaptırımları,
+{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Kar/zarar hesabı {2} için Masraf Merkezi tanımlanmalıdır. Lütfen aktif şirket için kapsamlı bir Masraf Merkezi tanımlayın.,
+{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Maliyet Merkezi {2} Şirkete ait olmayan {3},
 {0} {1}: Customer is required against Receivable account {2},{0} {1}: Alacak hesabı {2} için müşteri tanımlanmalıdır.,
-{0} {1}: Either debit or credit amount is required for {2},{0} {1}: {2} için borç ya da alacak tutarı girilmelidir,
+{0} {1}: Either debit or credit amount is required for {2},{0} {1}: {2} için borç ya da alacak alacaklısı girilmelidir,
 {0} {1}: Supplier is required against Payable account {2},{0} {1}: Borç hesabı {2} için tedarikçi tanımlanmalıdır,
-{0}% Billed,{0}% Faturalandırıldı,
+{0}% Billed,%{0} Faturalandırıldı,
 {0}% Delivered,{0}% Teslim Edildi,
 "{0}: Employee email not found, hence email not sent",{0}: Çalışanın e-posta adresi bulunamadığı için e-posta gönderilemedi,
 {0}: From {0} of type {1},{0}: gönderen {0} çeşidi {1},
 {0}: From {1},{0}: gönderen {1},
 {0}: {1} does not exists,{0}: {1} mevcut değil,
-{0}: {1} not found in Invoice Details table,{0}: {1} Fatura Ayrıntıları tablosunda bulunamadı,
+{0}: {1} not found in Invoice Details table,{0}: {1} Fatura Ayrıntıları tablosunda bulunmaması,
 {} of {},{} / {},
 Assigned To,Atanan,
 Chat,Sohbet,
-Completed By,Tarafından tamamlanmıştır,
+Completed By,Tamamlayan,
 Conditions,Koşullar,
 County,Kontluk,
 Day of Week,Haftanın günü,
-"Dear System Manager,","Sevgili Sistem Yöneticisi,",
+"Dear System Manager,Sevgili Sistem Yöneticisi,",
 Default Value,Varsayılan Değer,
 Email Group,E-posta Grubu,
 Email Settings,E-posta Ayarları,
-Email not sent to {0} (unsubscribed / disabled),Gönderilmez Email {0} (devre dışı / abonelikten),
+Email not sent to {0} (unsubscribed / disabled),Gönderilmez Email {0} (devre dışı / üyelikten),
 Error Message,Hata mesajı,
-Fieldtype,FIELDTYPE,
+Fieldtype,AlanTipi,
 Help Articles,Yardım Makaleleri,
-ID,İD,
+ID,ID,
 Images,Görüntüler,
-Import,İçe aktar,
+Import,İçe Aktar,
 Language,Dil,
 Likes,Beğeniler,
-Merge with existing,Mevcut Birleştirme,
+Merge with existing,Varolan ile Birleştir,
 Office,Ofis,
 Orientation,Oryantasyon,
 Parent,Ana Kalem,
@@ -3494,17 +3494,17 @@
 Percent,Yüzde,
 Permanent,kalıcı,
 Personal,Kişisel,
-Plant,Tesis,
+Plant,tesis,
 Post,Gönder,
-Postal,Posta,
+Postal,posta,
 Postal Code,Posta Kodu,
 Previous,Önceki,
-Provider,sağlayan,
-Read Only,Salt Okunur,
-Recipient,Alıcı,
+Provider,Sağlayıcı,
+Read Only,Tuz Okunur,
+Recipient,alıcı,
 Reviews,yorumlar,
-Sender,Gönderici,
-Shop,Mağaza,
+Sender,Sevkiyatçı,
+Shop,mağaza,
 Sign Up,Kaydol,
 Subsidiary,Yardımcı,
 There is some problem with the file url: {0},Dosya url ile bazı sorun var: {0},
@@ -3512,173 +3512,173 @@
 Values Changed,Değerler Değişti,
 or,veya,
 Ageing Range 4,4 Yaşlanma Aralığı,
-Allocated amount cannot be greater than unadjusted amount,"Tahsis edilen tutar, düzeltilmemiş tutardan büyük olamaz",
-Allocated amount cannot be negative,Tahsis edilen miktar negatif olamaz,
-"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Fark Hesabı, Duran Varlık / Yükümlülük türü bir hesap olmalıdır, çünkü bu Stok Girişi bir Açılış Girişidir",
+Allocated amount cannot be greater than unadjusted amount,"Tahsis edilen tutarlar, düzeltilmemiş tutarlardan büyük olamaz",
+Allocated amount cannot be negative,Tahsis edilen miktarlar olamaz,
+"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Fark Hesabı, Duran Varlık / Yükümlülük türü bir hesap olmalıdır, çünkü bu Stok Hareketi bir Açılış Kaydıdır",
 Error in some rows,Bazı satırlarda hata,
-Import Successful,Başarılı İçe Aktar,
-Please save first,Lütfen önce kaydet,
-Price not found for item {0} in price list {1},{0} kaleminde {1} fiyat listesinde fiyat bulunamadı,
+Import Successful,Başarılı İç Aktar,
+Please save first,lütfen önce kaydet,
+Price not found for item {0} in price list {1},{0} kaleminde {1} fiyat listelerinde fiyat bulunamadı,
 Warehouse Type,Depo türü,
 'Date' is required,&#39;Tarih&#39; gerekli,
 Benefit,Yarar,
-Budgets,Bütçeler,
+Budgets,bütçeler,
 Bundle Qty,Paket Adet,
-Company GSTIN,Şirket GSTIN,
-Company field is required,Şirket alanı zorunludur,
-Creating Dimensions...,Boyutların Oluşturulması ...,
+Company GSTIN,şirket GSTIN,
+Company field is required,Şirket alanı alanı,
+Creating Dimensions...,Boyutların Yapılandırması ...,
 Duplicate entry against the item code {0} and manufacturer {1},{0} ürün koduna ve {1} üreticisine karşı yinelenen giriş,
 Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,"Geçersiz GSTIN! Girdiğiniz giriş, UIN Sahipleri veya Yerleşik Olmayan OIDAR Servis Sağlayıcıları için GSTIN biçimiyle eşleşmiyor",
 Invoice Grand Total,Fatura Genel Toplamı,
-Last carbon check date cannot be a future date,Son karbon kontrol tarihi gelecekteki bir tarih olamaz,
-Make Stock Entry,Stok Girişi Yap,
-Quality Feedback,Kalite geribildirim,
+Last carbon check date cannot be a future date,Son karbon tarihi kontrol kaynağı bir tarih olamaz,
+Make Stock Entry,Stok Hareketi Yap,
+Quality Feedback,Kalite geribildirimi,
 Quality Feedback Template,Kalite Geribildirim Şablonu,
 Rules for applying different promotional schemes.,Farklı promosyon programlarını uygulama kuralları.,
-Shift,vardiya,
-Show {0},{0} göster,
-"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Ve &quot;}}&quot; dışındaki Özel Karakterler, seri dizisine izin verilmez {0}",
+Shift,Vardiya,
+Show {0},Göster {0} ,
+"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; ve &quot;}}&quot; Dış Özel Karakterler, dizi dizisine izin verilmez {0}",
 Target Details,Hedef Detayları,
-{0} already has a Parent Procedure {1}.,{0} zaten bir {1} veli prosedürüne sahip.,
+{0} already has a Parent Procedure {1}.,{0} zaten bir {1} veli yapıya sahip.,
 API,API,
 Annual,Yıllık,
 Approved,Onaylandı,
-Change,Değişiklik,
+Change,Değiştir,
 Contact Email,İletişim E-Posta,
-Export Type,İhracat Şekli,
-From Date,Tarihinden itibaren,
+Export Type,Export Türü,
+From Date,Baş. Tarihi,
 Group By,Gruplama Ölçütü,
 Importing {0} of {1},{1} içinden {0} içe aktar,
 Invalid URL,Geçersiz URL,
-Landscape,peyzaj,
+Landscape,Landscape,
 Last Sync On,Son Senkronizasyon Açık,
-Naming Series,Seri Adlandırma,
+Naming Series,Adlandırma Serisi,
 No data to export,Verilecek veri yok,
-Portrait,Portre,
+Portrait,Portrait,
 Print Heading,Baskı Başlığı,
 Scheduler Inactive,Zamanlayıcı Etkin Değil,
 Scheduler is inactive. Cannot import data.,Zamanlayıcı etkin değil. Veri alınamıyor.,
 Show Document,Belgeyi Göster,
 Show Traceback,Geri İzlemeyi Göster,
 Video,Video,
-Webhook Secret,Webhook Sırrı,
-% Of Grand Total,Genel Toplamın% &#39;si,
+Webhook Secret,Webhook Secret,
+% Of Grand Total,Genel Toplamın % &#39;si,
 'employee_field_value' and 'timestamp' are required.,&#39;worker_field_value&#39; ve &#39;zaman damgası&#39; gereklidir.,
 <b>Company</b> is a mandatory filter.,<b>Şirket</b> zorunlu bir filtredir.,
 <b>From Date</b> is a mandatory filter.,<b>Başlangıç Tarihi</b> zorunlu bir filtredir.,
-<b>From Time</b> cannot be later than <b>To Time</b> for {0},"{0} için <b>From Time</b> , <b>To Time&#39;dan</b> daha geç olamaz",
+<b>From Time</b> cannot be later than <b>To Time</b> for {0},"{0} için <b>From Time</b> , <b>To Time&#39;dan</b> daha geçilemez",
 <b>To Date</b> is a mandatory filter.,<b>Bugüne kadar</b> zorunlu bir filtredir.,
-A new appointment has been created for you with {0},{0} ile sizin için yeni bir randevu oluşturuldu,
-Account Value,Hesap değeri,
-Account is mandatory to get payment entries,Ödeme girişleri almak için hesap zorunludur,
-Account is not set for the dashboard chart {0},{0} gösterge tablosu grafiği için hesap ayarlanmadı,
+A new appointment has been created for you with {0},{0} ile sizin için yeni bir randevu kaydı,
+Account Value,hesap değeri,
+Account is mandatory to get payment entries,Ödemeleri giriş almak için hesap yaptırımları,
+Account is not set for the dashboard chart {0},{0} gösterge tablo grafiği için hesap ayarlanmadı,
 Account {0} does not belong to company {1},Hesap {0} Şirkete ait değil {1},
 Account {0} does not exists in the dashboard chart {1},"{0} hesabı, {1} gösterge tablosunda yok",
-Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Hesap: <b>{0}</b> sermayedir Devam etmekte olan iş ve Journal Entry tarafından güncellenemez,
-Account: {0} is not permitted under Payment Entry,Hesap: {0} Ödeme Girişi altında izin verilmiyor,
+Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Hesap: <b>{0}</b> sermayedir Devam etmekte olan iş ve Yevmiye Kaydı tarafından güncellenemez,
+Account: {0} is not permitted under Payment Entry,Hesap: İzin verilmiyor altında {0} Ödeme Girişi,
 Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,<b>{1}</b> &#39;Bilanço&#39; hesabı için <b>{0}</b> Muhasebe Boyutu gerekiyor.,
 Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,<b>{1}</b> &#39;Kâr ve Zarar&#39; hesabı için <b>{0}</b> Muhasebe Boyutu gereklidir.,
-Accounting Masters,Muhasebe Ustaları,
+Accounting Masters,Muhasebe Ana Verileri,
 Accounting Period overlaps with {0},Muhasebe Dönemi {0} ile örtüşüyor,
 Activity,Aktivite,
 Add / Manage Email Accounts.,E-posta Hesaplarını Ekle / Yönet.,
 Add Child,Alt öğe ekle,
 Add Loan Security,Kredi Güvenliği Ekleme,
-Add Multiple,Birden fazla ekle,
-Add Participants,Katılımcı ekle,
-Add to Featured Item,Öne Çıkan Öğe Ekle,
-Add your review,Yorum yaz,
-Add/Edit Coupon Conditions,Kupon Koşulları Ekle / Düzenle,
+Add Multiple,Çoklu Ekle,
+Add Participants,Katılımcı Ekle,
+Add to Featured Item,Öne Çıkan Öğeye Ekle,
+Add your review,Yorumunuzu yazın,
+Add/Edit Coupon Conditions,Kupon Koşullarını Ekle/Düzenle,
 Added to Featured Items,Öne Çıkan Öğelere Eklendi,
 Added {0} ({1}),Eklenen {0} ({1}),
 Address Line 1,Adres Satırı 1,
-Addresses,Adresleri,
+Addresses,Adresler,
 Admission End Date should be greater than Admission Start Date.,"Giriş Bitiş Tarihi, Giriş Başlangıç Tarihinden büyük olmalıdır.",
 Against Loan,Krediye Karşı,
 Against Loan:,Krediye Karşı:,
-All,Herşey,
-All bank transactions have been created,Tüm banka işlemleri oluşturuldu,
+All,Tümü,
+All bank transactions have been created,Tüm banka işlemleri işletme,
 All the depreciations has been booked,Tüm amortismanlar rezerve edildi,
-Allocation Expired!,Tahsis Süresi Doldu!,
+Allocation Expired!,Tahsis Süresi Bitti!,
 Allow Resetting Service Level Agreement from Support Settings.,Servis Seviyesi Sözleşmesini Destek Ayarlarından Sıfırlamaya İzin Ver.,
-Amount of {0} is required for Loan closure,Kredi kapanması için {0} tutarı gerekli,
-Amount paid cannot be zero,Ödenen tutar sıfır olamaz,
+Amount of {0} is required for Loan closure,Kredi çıkışı için {0} barındırma gerekli,
+Amount paid cannot be zero,Ödenen tutarları sıfır olamaz,
 Applied Coupon Code,Uygulamalı Kupon Kodu,
-Apply Coupon Code,kupon kodunu uygula,
+Apply Coupon Code,kupon üretme uygula,
 Appointment Booking,Randevu Rezervasyonu,
-"As there are existing transactions against item {0}, you can not change the value of {1}","öğe {0} karşı varolan işlemler vardır gibi, değerini değiştiremezsiniz {1}",
+"As there are existing transactions against item {0}, you can not change the value of {1}","öğe {0} karşı varolan işlemler vardır gibi, değeri değiştiremezsiniz {1}",
 Asset Id,Varlık Kimliği,
-Asset Value,Varlık değeri,
-Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,"Varlık Değer Ayarlaması, Varlığın satın alma tarihinden önce <b>{0} yayınlanamaz</b> .",
-Asset {0} does not belongs to the custodian {1},"{0} varlık, {1} saklama kuruluşuna ait değil",
-Asset {0} does not belongs to the location {1},"{0} öğesi, {1} konumuna ait değil",
+Asset Value,Varlık Değeri,
+Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,"Varlık Değer Ayarlaması, Varlığın satınalma yollarından önce <b>{0} yayınlanamaz</b> .",
+Asset {0} does not belongs to the custodian {1},"{0} varlık, {1} saklama deposuna ait değil",
+Asset {0} does not belongs to the location {1},"{0} öğesi, {1} sunumu ait değil",
 At least one of the Applicable Modules should be selected,Uygulanabilir Modüllerden en az biri seçilmelidir,
 Atleast one asset has to be selected.,En az bir varlık seçilmelidir.,
-Attendance Marked,İşaretli Seyirci,
+Attendance Marked,Katılım İşaretlendi,
 Attendance has been marked as per employee check-ins,"Katılım, çalışan başına check-in olarak işaretlenmiştir.",
-Authentication Failed,Kimlik doğrulama başarısız oldu,
+Authentication Failed,Kimlik doğrulaması başarısız oldu,
 Automatic Reconciliation,Otomatik Mutabakat,
-Available For Use Date,Kullanım Tarihi,
+Available For Use Date,Kullanıma Uygun Tarih,
 Available Stock,Mevcut Stok,
 "Available quantity is {0}, you need {1}","Kullanılabilir miktar {0}, {1}",
-BOM 1,BOM 1,
-BOM 2,BOM 2,
-BOM Comparison Tool,BOM Karşılaştırma Aracı,
-BOM recursion: {0} cannot be child of {1},"BOM özyineleme: {0}, {1} öğesinin alt öğesi olamaz",
-BOM recursion: {0} cannot be parent or child of {1},"BOM özyinelemesi: {0}, {1} öğesinin ebeveyni veya çocuğu olamaz",
-Back to Home,Eve geri dön,
+BOM 1,Ürün Ağacı 1,
+BOM 2,Ürün Ağacı 2,
+BOM Comparison Tool,Malzeme Listesi Karşılaştırma Aracı,
+BOM recursion: {0} cannot be child of {1},"BOM özyineleme: {0}, {1} öğenin alt öğesi olamaz",
+BOM recursion: {0} cannot be parent or child of {1},"BOM özyinelemesi: {0}, {1} ürünün ebeveyni veya çocuğu olamaz",
+Back to Home,Eve Geri dön,
 Back to Messages,Mesajlara Geri Dön,
 Bank Data mapper doesn't exist,Banka Verileri eşleştiricisi mevcut değil,
-Bank Details,Banka detayları,
+Bank Details,Banka Detayları,
 Bank account '{0}' has been synchronized,&#39;{0}&#39; banka hesabı senkronize edildi,
 Bank account {0} already exists and could not be created again,{0} banka hesabı zaten var ve tekrar oluşturulamadı,
 Bank accounts added,Banka hesapları eklendi,
-Batch no is required for batched item {0},Toplu iş {0} toplu öğesi için gerekli,
-Billing Date,Fatura tarihi,
-Billing Interval Count cannot be less than 1,Faturalama Aralığı Sayısı 1&#39;den az olamaz,
+Batch no is required for batched item {0},Toplu iş {0} toplu öğe için gerekli,
+Billing Date,Fatura Tarihi,
+Billing Interval Count cannot be less than 1,Faturalama Aralığı Sayısı 1'den az olamaz,
 Blue,Mavi,
-Book,Kitap,
-Book Appointment,Kitap randevusu,
+Book,Kaydet,
+Book Appointment,Randevu Kaydı,
 Brand,Marka,
 Browse,Araştır,
 Call Connected,Arama Bağlandı,
 Call Disconnected,Çağrı Kesildi,
 Call Missed,Çağrı Cevapsız,
 Call Summary,Çağrı Özeti,
-Call Summary Saved,Arama Özeti Kayıtlı,
+Call Summary Saved,Çağrı Özeti Kaydedildi,
 Cancelled,İptal edildi,
-Cannot Calculate Arrival Time as Driver Address is Missing.,Sürücü Adresi Eksik olduğundan Varış Saati Hesaplanamıyor.,
+Cannot Calculate Arrival Time as Driver Address is Missing.,Sürücü Adresi Eksiklerinden Varış Saati Hesaplanamıyor.,
 Cannot Optimize Route as Driver Address is Missing.,Sürücü Adresi Eksik Olarak Rotayı Optimize Etme,
-Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,{0} görevi tamamlanamıyor çünkü bağımlı görevi {1} tamamlanmadı / iptal edilmedi.,
+Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,{0} görevi tamamlanamıyor çünkü görevli görevi {1} tamamlanmadı / iptal edilmedi.,
 Cannot create loan until application is approved,Başvuru onaylanana kadar kredi oluşturulamaz,
-Cannot find a matching Item. Please select some other value for {0}.,Eşleşen bir öğe bulunamıyor. Için {0} diğer bazı değer seçiniz.,
-"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","{1} satırındaki {0} öğesi için {2} &#39;den fazla öğe fazla faturalandırılamıyor. Fazla faturalandırmaya izin vermek için, lütfen Hesap Ayarlarında ödenek ayarlayın.",
-"Capacity Planning Error, planned start time can not be same as end time","Kapasite Planlama Hatası, planlanan başlangıç zamanı bitiş zamanı ile aynı olamaz",
+Cannot find a matching Item. Please select some other value for {0}.,Eşleşen bir öğe bulunamıyor. İçin {0} diğer bazı değer seçiniz.,
+"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","{1} bilgisindeki {0} öğe için {2} &#39;den fazla öğe fazla faturalandırılamıyor. Fazla faturalandırmaya izin vermek için, lütfen Hesap Yapılandırmalarında ödenenek ayarını yapınız.",
+"Capacity Planning Error, planned start time can not be same as end time","Kapasite Planlama Hatası, patlama başlangıç zamanı bitiş zamanı ile aynı olamaz",
 Categories,Kategoriler,
 Changes in {0},{0} &#39;daki değişiklikler,
 Chart,Grafik,
 Choose a corresponding payment,Uygun bir ödeme seçin,
-Click on the link below to verify your email and confirm the appointment,E-postanızı doğrulamak ve randevuyu onaylamak için aşağıdaki bağlantıyı tıklayın,
+Click on the link below to verify your email and confirm the appointment,E-postanızı doğrulamak ve randevuyu onaylamak için aşağıdaki formu tıklayın,
 Close,Kapat,
 Communication,İletişim,
 Compact Item Print,Kompakt Öğe Yazdır,
-Company,şirket,
-Company of asset {0} and purchase document {1} doesn't matches.,{0} varlık varlığı ve {1} satın alma belgesi eşleşmiyor.,
+Company,Şirket,
+Company of asset {0} and purchase document {1} doesn't matches.,{0} varlık ve {1} satınalma belgesi eşleşmiyor.,
 Compare BOMs for changes in Raw Materials and Operations,Hammadde ve İşlemlerdeki değişiklikler için Malzeme Listesini karşılaştırın,
-Compare List function takes on list arguments,Karşılaştırma Listesi işlevi liste değişkenlerini alır,
-Complete,Komple,
+Compare List function takes on list arguments,Yükleme listesi işlevlerini liste değişkenlerini alır,
+Complete,Tamamla,
 Completed,Tamamlandı,
 Completed Quantity,Tamamlanan Miktar,
-Connect your Exotel Account to ERPNext and track call logs,Exotel Hesabınızı ERPNext&#39;e bağlayın ve çağrı kayıtlarını takip edin,
-Connect your bank accounts to ERPNext,Banka hesaplarınızı ERPNext&#39;e bağlayın,
+Connect your Exotel Account to ERPNext and track call logs,Exotel Hesabınızı ERPNext'e bağlayın ve çağrı kayıtlarını takip edin,
+Connect your bank accounts to ERPNext,Banka hesaplarınızı ERPNext'e bağlayın,
 Contact Seller,Satıcıyla iletişime geç,
-Continue,Devam etmek,
+Continue,Devam et,
 Cost Center: {0} does not exist,Maliyet Merkezi: {0} mevcut değil,
 Couldn't Set Service Level Agreement {0}.,{0} Hizmet Seviyesi Sözleşmesi Ayarlanamadı.,
-Country,ülke,
+Country,Ülke,
 Country Code in File does not match with country code set up in the system,"Dosyadaki Ülke Kodu, sistemde ayarlanan ülke koduyla eşleşmiyor",
-Create New Contact,Yeni kişi yarat,
-Create New Lead,Yeni Müşteri Adayı Yarat,
+Create New Contact,Yeni Kişi Oluştur,
+Create New Lead,Yeni Müşteri Adayı Oluştur,
 Create Pick List,Seçim Listesi Oluştur,
 Create Quality Inspection for Item {0},{0} Maddesi için Kalite Denetimi Yaratın,
 Creating Accounts...,Hesaplar oluşturuluyor ...,
@@ -3686,10 +3686,10 @@
 Credit limit is already defined for the Company {0},{0} Şirketi için zaten kredi limiti tanımlanmış,
 Ctrl + Enter to submit,Göndermek için Ctrl + Enter,
 Ctrl+Enter to submit,Ctrl + Göndermek için Enter,
-Currency,Para birimi,
+Currency,Para Birimi,
 Current Status,Şu anki durum,
 Customer PO,Müşteri PO,
-Customize,Özelleştirme,
+Customize,Özelleştir,
 Daily,Günlük,
 Date,Tarih,
 Date Range,Tarih aralığı,
@@ -3700,176 +3700,176 @@
 Delayed Days,Gecikmeli Günler,
 Delete,Sil,
 Delivered Quantity,Teslim edilen miktar,
-Delivery Notes,Teslimat notları,
+Delivery Notes,İrsaliyeler,
 Depreciated Amount,Amortisman Tutarı,
 Description,Açıklama,
 Designation,Atama,
 Difference Value,Fark Değeri,
 Dimension Filter,Boyut Filtresi,
 Disabled,Devredışı,
-Disbursement and Repayment,Ödeme ve Geri Ödeme,
-Distance cannot be greater than 4000 kms,Mesafe 4000 km&#39;den büyük olamaz,
+Disbursement and Repayment,Masraf ve Geri Ödeme,
+Distance cannot be greater than 4000 kms,Mesafe 4000 km'den büyük olamaz,
 Do you want to submit the material request,Malzeme talebini göndermek ister misiniz,
-Doctype,DOCTYPE,
+Doctype,BelgeTipi,
 Document {0} successfully uncleared,{0} dokümanı başarıyla temizlendi,
 Download Template,Şablonu İndir,
-Dr,Dr,
+Dr,Borç,
 Due Date,Bitiş tarihi,
 Duplicate,Kopyala,
-Duplicate Project with Tasks,Görevlerle Çoğaltılmış Proje,
+Duplicate Project with Tasks,Projeyi Görev ile Çoğalt,
 Duplicate project has been created,Yinelenen proje oluşturuldu,
-E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON yalnızca gönderilen bir belgeden oluşturulabilir,
-E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON yalnızca gönderilen dokümandan oluşturulabilir,
+E-Way Bill JSON can only be generated from a submitted document,E-Way Bill JSON yalnızca kullandıkları bir belgeden oluşturulabilir,
+E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON yalnızca kullanımlarından oluşturulabilir,
 E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON şu andan itibaren Satış İadesi için oluşturulamıyor,
-ERPNext could not find any matching payment entry,ERPNext eşleşen bir ödeme girişi bulamadı,
+ERPNext could not find any matching payment entry,ERPNext'e bir ödeme girişi bulunamadı,
 Earliest Age,En Erken Yaş,
-Edit Details,Detayları düzenle,
-Edit Profile,Profili Düzenle,
-Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Ulaştırma Modu Yol ise GST Transporter ID ya da Araç No gereklidir.,
-Email,EPosta,
+Edit Details,Detayları düzenlemek,
+Edit Profile,profil düzenleme,
+Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,Ulaştırma Modu Yol ise GST Nakliyeci Kimliği ya da Araç No mevcuttur.,
+Email,E-posta,
 Email Campaigns,E-posta Kampanyaları,
-Employee ID is linked with another instructor,Çalışan kimliği başka bir eğitmenle bağlantılı,
+Employee ID is linked with another instructor,Çalışan kişinin başka bir eğitmenle bağlantısı,
 Employee Tax and Benefits,Çalışan Vergi ve Yardımları,
 Employee is required while issuing Asset {0},{0} Varlığı verilirken çalışan gerekli,
-Employee {0} does not belongs to the company {1},{0} çalışanı {1} şirketine ait değil,
+Employee {0} does not belongs to the company {1},{0} çalışanı {1} ortamı ait değil,
 Enable Auto Re-Order,Otomatik Yeniden Siparişi Etkinleştir,
 End Date of Agreement can't be less than today.,Anlaşmanın Bitiş Tarihi bugünden az olamaz.,
 End Time,Bitiş Zamanı,
 Energy Point Leaderboard,Enerji Noktası Lider Tablosu,
-Enter API key in Google Settings.,Google Ayarları’na API anahtarını girin.,
+Enter API key in Google Settings.,Google Configuration'na API anahtarını girin.,
 Enter Supplier,Tedarikçi Girin,
-Enter Value,Değeri girin,
+Enter Value,Değeri Girin,
 Entity Type,Varlık Türü,
 Error,Hata,
 Error in Exotel incoming call,Exotel gelen aramada hata,
-Error: {0} is mandatory field,Hata: {0} zorunlu alandır,
+Error: {0} is mandatory field,Hata: {0} zorunlu olarak alandır,
 Event Link,Etkinlik Bağlantısı,
-Exception occurred while reconciling {0},{0} uzlaştırırken kural dışı durum oluştu,
-Expected and Discharge dates cannot be less than Admission Schedule date,Beklenen ve Deşarj tarihleri Kabul Zamanlama tarihinden daha az olamaz,
+Exception occurred while reconciling {0},{0} uzlaştırırken kural dışı durum oluşur,
+Expected and Discharge dates cannot be less than Admission Schedule date,Beklenen ve Deşarj süreleri Kabul Zamanlama hatları daha az olamaz,
 Expire Allocation,Tahsisin Sona Ermesi,
-Expired,Süresi Doldu,
-Export,Dışarı aktar,
-Export not allowed. You need {0} role to export.,İhracat izin verilmiyor. Vermek {0} rol gerekir.,
-Failed to add Domain,Etki Alanı eklenemedi,
+Expired,Süresi Bitti,
+Export,Dışarı Aktar,
+Export not allowed. You need {0} role to export.,İhracata izin verilmiyor. Vermek {0} rolü gerekir.,
+Failed to add Domain,Etki alanı eklenemedi,
 Fetch Items from Warehouse,Depodan Eşya Al,
-Fetching...,Getiriliyor ...,
+Fetching...,Getiriliyor...,
 Field,Alan,
 File Manager,Dosya Yöneticisi,
 Filters,Filtreler,
 Finding linked payments,Bağlantılı ödemeleri bulma,
-Fleet Management,Filo yönetimi,
-Following fields are mandatory to create address:,Adres oluşturmak için aşağıdaki alanların doldurulması zorunludur:,
+Fleet Management,Filo Yönetimi,
+Following fields are mandatory to create address:,Adres oluşturmak için aşağıdaki muhafazaların doldurulması:,
 For Month,Aylık,
-"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","{1} satırındaki {0} öğesi için, seri numaralarının sayısı toplanan miktarla eşleşmiyor",
-For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),"{0} işlemi için: Miktar ({1}), beklemedeki miktardan ({2}) daha emin olamaz",
-For quantity {0} should not be greater than work order quantity {1},{0} miktarı için {1} iş emri miktarından büyük olmamalıdır,
-Free item not set in the pricing rule {0},{0} fiyatlandırma kuralında ayarlanmamış ücretsiz öğe,
+"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","{1} bilgisindeki {0} öğe için, seri numaralarının sayıları toplanan miktarla eşleşmiyor",
+For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),"{0} işlemi için: Miktar ({1}), beklemedeki miktarın ({2}) daha emin olunamaz",
+For quantity {0} should not be greater than work order quantity {1},{0} miktarı için {1} iş emri miktarından büyük kısıtlama,
+Free item not set in the pricing rule {0},{0} fiyatlandırma düzenlemesinde ayarlanmamış ücretsiz öğe,
 From Date and To Date are Mandatory,Başlangıç Tarihi ve Bitiş Tarihi Zorunludur,
-From employee is required while receiving Asset {0} to a target location,{0} Varlığını hedef konuma alırken çalışandan gerekli,
+From employee is required while receiving Asset {0} to a target location,{0} Varlığını hedef alırken çalışmaktan gerekli,
 Fuel Expense,Yakıt Gideri,
-Future Payment Amount,Gelecekteki Ödeme Tutarı,
-Future Payment Ref,Gelecekteki Ödeme Ref,
+Future Payment Amount,Devamındaki Ödeme Tutarı,
+Future Payment Ref,Devamındaki Ödeme Ref,
 Future Payments,Gelecekteki Ödemeler,
 GST HSN Code does not exist for one or more items,GST HSN Kodu bir veya daha fazla öğe için mevcut değil,
-Generate E-Way Bill JSON,E-Way Bill JSON oluşturun,
-Get Items,Ürünleri alın,
-Get Outstanding Documents,Üstün Belgeler Alın,
+Generate E-Way Bill JSON,E-İrsaliye JSON oluşturun,
+Get Items,Ürünleri Getir,
+Get Outstanding Documents,Kapanmamış/Ödenmemiş Belgeleri Getir,
 Goal,Hedef,
 Greater Than Amount,Tutardan Büyük,
 Green,Yeşil,
-Group,grup,
-Group By Customer,Müşteriye Göre Grupla,
-Group By Supplier,Tedarikçiye Göre Grupla,
-Group Node,Grup Düğüm,
-Group Warehouses cannot be used in transactions. Please change the value of {0},Grup Depoları işlemlerde kullanılamaz. Lütfen {0} değerini değiştirin,
+Group,Grup,
+Group By Customer,Müşteriye göre Grupla,
+Group By Supplier,Tedarikçiye göre Grupla,
+Group Node,Grup Düğümü,
+Group Warehouses cannot be used in transactions. Please change the value of {0},Grup Depoları işlemlerinde taşıma. Lütfen {0} değerini değiştirin,
 Help,Yardım,
-Help Article,Yardım Madde,
-"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Tedarikçi, Müşteri ve Çalışana Dayalı Sözleşmeleri takip etmenize yardımcı olur",
-Helps you manage appointments with your leads,Müşteri adaylarıyla randevularınızı yönetmenize yardımcı olur,
+Help Article,Yardım Maddesi,
+"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Tedarikçi, Müşteri ve Çalışana Dayalı Sözleşmeleri takip görevlileri yardımcı olur",
+Helps you manage appointments with your leads,Müşteri adaylarıyla randevularınızı yöneticinize yardımcı olur,
 Home,Ana Sayfa,
 IBAN is not valid,IBAN geçerli değil,
 Import Data from CSV / Excel files.,CSV / Excel dosyalarından Veri Aktar.,
-In Progress,Devam etmekte,
+In Progress,Devam ediyor,
 Incoming call from {0},{0} den gelen arama,
 Incorrect Warehouse,Yanlış Depo,
-Intermediate,Orta düzey,
+Intermediate,Orta seviye,
 Invalid Barcode. There is no Item attached to this barcode.,Geçersiz Barkod Bu barkoda ekli bir ürün yok.,
 Invalid credentials,Geçersiz kimlik bilgileri,
-Invite as User,Kullanıcı olarak davet,
-Issue Priority.,Öncelik Verme.,
+Invite as User,kullanıcı olarak Davet et,
+Issue Priority.,Sorun Önceliği.,
 Issue Type.,Sorun Tipi.,
-"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Sunucunun şerit yapılandırmasında bir sorun var gibi görünüyor. Arıza durumunda, tutar hesabınıza iade edilir.",
+"It seems that there is an issue with the server's stripe configuration. In case of failure, the amount will get refunded to your account.","Sunucunun şerit çevresinde bir sorun var gibi görünüyor. Arıza durumunda, tutarları iade edilir.",
 Item Reported,Öğe Bildirildi,
-Item listing removed,Öğe listesi kaldırıldı,
+Item listing removed,öğe listesi kaldırıldı,
 Item quantity can not be zero,Ürün miktarı sıfır olamaz,
 Item taxes updated,Öğe vergileri güncellendi,
-Item {0}: {1} qty produced. ,Öğe {0}: {1} adet üretildi.,
-Joining Date can not be greater than Leaving Date,Katılım Tarihi Ayrılma Tarihinden daha büyük olamaz,
+Item {0}: {1} qty produced. ,Öğe {0}: {1} adet oluşturma.,
+Joining Date can not be greater than Leaving Date,Katılım Tarihi Ayrılık Tarihinden daha büyük olamaz,
 Lab Test Item {0} already exist,Laboratuar Test Öğesi {0} zaten var,
 Last Issue,Son Konu,
-Latest Age,Son Yaş,
-Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,"İzin başvurusu, {0} izin tahsisleri ile bağlantılı. İzinsiz bırakılma başvurusu, izinsiz izinsiz yapılamaz",
-Leaves Taken,Alınan Yapraklar,
+Latest Age,En Son Yaş,
+Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,"İzin projesi, {0} izin tahsisleri ile bağlantılı. İzinsiz yapılması, izinsiz izinsiz yapılamaz",
+Leaves Taken,Alınan İzin,
 Less Than Amount,Tutardan Az,
 Liabilities,Yükümlülükler,
 Loading...,Yükleniyor...,
-Loan Amount exceeds maximum loan amount of {0} as per proposed securities,"Kredi Tutarı, önerilen menkul kıymetlere göre maksimum {0} kredi tutarını aşıyor",
+Loan Amount exceeds maximum loan amount of {0} as per proposed securities,"Kredi Tutarı, çekilen menkul kıymetlere göre maksimum {0} kredi tutarını aşıyor",
 Loan Applications from customers and employees.,Müşterilerden ve çalışanlardan kredi uygulamaları.,
-Loan Disbursement,Kredi kullanımı,
+Loan Disbursement,Kredi Masrafı,
 Loan Processes,Kredi Süreçleri,
 Loan Security,Kredi Güvenliği,
 Loan Security Pledge,Kredi Güvenliği Taahhüdü,
-Loan Security Pledge Created : {0},Kredi Güvenliği Rehin Yaratıldı: {0},
+Loan Security Pledge Created : {0},Kredi Güvenliği Rehin Oluşturuldu: {0},
 Loan Security Price,Kredi Güvenliği Fiyatı,
 Loan Security Price overlapping with {0},{0} ile örtüşen Kredi Güvenliği Fiyatı,
 Loan Security Unpledge,Kredi Güvenliği Bilgisizliği,
 Loan Security Value,Kredi Güvenliği Değeri,
 Loan Type for interest and penalty rates,Faiz ve ceza oranları için Kredi Türü,
-Loan amount cannot be greater than {0},Kredi tutarı {0} &#39;dan fazla olamaz,
-Loan is mandatory,Kredi zorunludur,
+Loan amount cannot be greater than {0},Kredi birimleri {0} &#39;dan fazla olamaz,
+Loan is mandatory,Kredi ağları,
 Loans,Krediler,
 Loans provided to customers and employees.,Müşterilere ve çalışanlara verilen krediler.,
 Location,Konum,
-Log Type is required for check-ins falling in the shift: {0}.,Vardiyaya giren check-in işlemleri için Günlük Tipi gereklidir: {0}.,
-Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Birisi eksik URL&#39;ye gönderdi benziyor. içine bakmak için isteyin.,
-Make Journal Entry,Kayıt Girdisi Yap,
-Make Purchase Invoice,Satın Alma Faturası Oluştur,
+Log Type is required for check-ins falling in the shift: {0}.,Vardiyaya giriş check-in işlemleri için Günlük Tipi gereklidir: {0}.,
+Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Birisi eksik URL&#39;ye gönderiyor. içini görmek için isteyin.,
+Make Journal Entry,Yevmiye Kaydı Yap,
+Make Purchase Invoice,Satınalma Faturası Oluşturma,
 Manufactured,üretilmiş,
 Mark Work From Home,İşi Evden İşaretle,
 Master,Ana Kaynak,
 Max strength cannot be less than zero.,Maksimum güç sıfırdan az olamaz.,
 Maximum attempts for this quiz reached!,Bu sınav için maksimum deneme yapıldı!,
-Message,İleti,
+Message,Mesaj,
 Missing Values Required,Gerekli Eksik Değerler,
-Mobile No,Mobil No,
-Mobile Number,Cep numarası,
+Mobile No,Cep No,
+Mobile Number,Cep Numarası,
 Month,Ay,
-Name,İsim,
+Name,Adı,
 Near you,Sana yakın,
-Net Profit/Loss,Net kâr (zarar,
+Net Profit/Loss,Net Kar/Zarar,
 New Expense,Yeni Gider,
-New Invoice,Yeni fatura,
+New Invoice,yeni fatura,
 New Payment,Yeni Ödeme,
-New release date should be in the future,Yeni çıkış tarihi gelecekte olmalı,
+New release date should be in the future,Yeni çıkış tarihi olmalı,
 Newsletter,Bülten,
-No Account matched these filters: {},Bu filtrelerle eşleşen Hesap yok: {},
-No Employee found for the given employee field value. '{}': {},Verilen çalışanın saha değeri için çalışan bulunamadı. &#39;{}&#39;: {},
+No Account matched these filters: {},Bu filtrelerle doldurma Hesap yok: {},
+No Employee found for the given employee field value. '{}': {},verilen çalışanın saha değeri için çalışan bulunamadı. &#39;{}&#39;: {},
 No Leaves Allocated to Employee: {0} for Leave Type: {1},Çalışana Ayrılan Yaprak Yok: {0} İzin Türü için: {1},
 No communication found.,İletişim bulunamadı.,
 No correct answer is set for {0},{0} için doğru cevap ayarlanmadı,
 No description,açıklama yok,
-No issue has been raised by the caller.,Arayan tarafından herhangi bir sorun gündeme gelmedi.,
-No items to publish,Yayınlanacak öğe yok,
-No outstanding invoices found,Ödenmemiş fatura bulunamadı,
-No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Belirttiğiniz filtrelere uygun {0} {1} için ödenmemiş fatura bulunamadı.,
-No outstanding invoices require exchange rate revaluation,"Ödenmemiş faturalar, döviz kuru yeniden değerlemesi gerektirmez",
+No issue has been raised by the caller.,Arayan tarafından herhangi bir sorun beklenmiyor.,
+No items to publish,Yayın öğesi yok edilecek,
+No outstanding invoices found,Ödenmemiş fatura alınamıyor,
+No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Belirttiğiniz filtrelere uygun {0} {1} için ödenmemiş fatura bulunamıyor.,
+No outstanding invoices require exchange rate revaluation,"Ödenmemiş faturalar, döviz kuru yeniden değerlemesi vergileri",
 No reviews yet,Henüz değerlendirme yok,
 No views yet,Henüz görüntülenme yok,
 Non stock items,Stokta olmayan ürünler,
-Not Allowed,İzin Değil,
-Not allowed to create accounting dimension for {0},{0} için muhasebe boyutu oluşturmaya izin verilmiyor,
+Not Allowed,İzin verilmedi,
+Not allowed to create accounting dimension for {0},{0} için hesaplama boyutu oluşturmaya izin verilmiyor,
 Not permitted. Please disable the Lab Test Template,İzin verilmedi. Lütfen Laboratuvar Test Şablonunu devre dışı bırakın,
-Note,Not,
+Note,Olumsuz,
 Notes: ,Notlar:,
 On Converting Opportunity,Fırsat Dönüştürme Üzerine,
 On Purchase Order Submission,Satınalma Siparişi Gönderme İşleminde,
@@ -3877,200 +3877,200 @@
 On Task Completion,Görev Tamamlandıktan Sonra,
 On {0} Creation,{0} Yaratılışında,
 Only .csv and .xlsx files are supported currently,Şu anda yalnızca .csv ve .xlsx dosyaları desteklenmektedir,
-Only expired allocation can be cancelled,Yalnızca süresi dolmuş tahsis iptal edilebilir,
-Only users with the {0} role can create backdated leave applications,"Yalnızca {0} rolüne sahip kullanıcılar, geriye dönük izin uygulamaları oluşturabilir",
+Only expired allocation can be cancelled,Yalnızca süresi dolmuş tahsisler iptal edilebilir,
+Only users with the {0} role can create backdated leave applications,"Yalnızca {0} rolüne sahip kullanıcılar, geriye dönük uygulamalara izin vermek",
 Open,Açık,
 Open Contact,Kişiyi Aç,
-Open Lead,Açık Kurşun,
-Opening and Closing,Açılış ve kapanış,
-Operating Cost as per Work Order / BOM,İş Emri / Ürün Ağacı&#39;na göre İşletme Maliyeti,
-Order Amount,Sipariş miktarı,
-Page {0} of {1},{1} Sayfadan {0}.,
-Paid amount cannot be less than {0},Ücretli tutar {0} &#39;dan az olamaz,
-Parent Company must be a group company,Ana Şirket bir grup şirketi olmalıdır,
+Open Lead,Açık Aday,
+Opening and Closing,Açılış ve Kapanış,
+Operating Cost as per Work Order / BOM,İş Emri / Ürün Ağacına göre İşletme Maliyeti,
+Order Amount,Sipariş Tutarı,
+Page {0} of {1},{1} {0} Sayfası,
+Paid amount cannot be less than {0},Ücretli tutarlar {0} &#39;dan az olamaz,
+Parent Company must be a group company,Ana Şirket bir grup şirket olmalıdır,
 Passing Score value should be between 0 and 100,Geçen puan değeri 0 ile 100 arasında olmalıdır,
-Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Parola politikası boşluk veya eşzamanlı tire içeremez. Format otomatik olarak yeniden yapılandırılacak,
+Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Parola koruma hapları veya kısa süreler tire içeremez. Format otomatik olarak yeniden yapılandıracak,
 Patient History,Hasta Öyküsü,
-Pause,durma,
-Pay,Ödeme,
+Pause,Durdur,
+Pay,Ödeme yap,
 Payment Document Type,Ödeme Belgesi Türü,
 Payment Name,Ödeme Adı,
-Penalty Amount,Ceza Miktarı,
+Penalty Amount,Ceza Tutarı,
 Pending,Bekliyor,
-Performance,performans,
+Performance,Performans,
 Period based On,Tarihine Göre Dönem,
-Perpetual inventory required for the company {0} to view this report.,{0} şirketinin bu raporu görüntülemesi için sürekli envanter gerekiyor.,
+Perpetual inventory required for the company {0} to view this report.,{0} şirketinin bu kanıtı görüntülemesi için sürekli envanter gerekiyor.,
 Phone,Telefon,
-Pick List,Seçim listesi,
+Pick List,Pick List,
 Plaid authentication error,Ekose kimlik doğrulama hatası,
 Plaid public token error,Ekose genel belirteç hatası,
-Plaid transactions sync error,Ekose işlemler senkronizasyon hatası,
-Please check the error log for details about the import errors,Lütfen içe aktarma hatalarıyla ilgili ayrıntılar için hata günlüğünü kontrol edin,
+Plaid transactions sync error,Ekose işlemleri arşivleme hatası,
+Please check the error log for details about the import errors,Lütfen ice aktarım hatalarıyla ilgili ayrıntılar için hata gününü kontrol edin,
 Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Lütfen <b>{}</b> Şirketi için <b>DATEV Ayarları</b> oluşturun.,
-Please create adjustment Journal Entry for amount {0} ,Lütfen {0} tutarı için Dergi Girişi ayarlamasını oluşturun,
-Please do not create more than 500 items at a time,Lütfen bir kerede 500&#39;den fazla öğe oluşturmayın,
+Please create adjustment Journal Entry for amount {0} ,Lütfen {0} için Yevmiye Kaydı düzenlemesini oluşturun,
+Please do not create more than 500 items at a time,Lütfen bir kerede 500'den fazla öğe oluşturmayın,
 Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Lütfen <b>Fark Hesabı</b> girin veya {0} şirketi için varsayılan <b>Stok Ayarlama Hesabını</b> ayarlayın,
 Please enter GSTIN and state for the Company Address {0},Lütfen GSTIN girin ve {0} Şirket Adresini girin.,
-Please enter Item Code to get item taxes,Ürün vergileri almak için lütfen Ürün Kodunu girin,
+Please enter Item Code to get item taxes,Ürün vergilerini almak için lütfen Ürün Kodunu giriniz,
 Please enter Warehouse and Date,Lütfen Depo ve Tarihi giriniz,
-Please enter the designation,Lütfen belirtime giriniz,
+Please enter the designation,Lütfen belirti giriniz,
 Please login as a Marketplace User to edit this item.,Bu öğeyi düzenlemek için lütfen Marketplace Kullanıcısı olarak giriş yapın.,
-Please login as a Marketplace User to report this item.,Bu öğeyi bildirmek için lütfen bir Marketplace Kullanıcısı olarak giriş yapın.,
-Please select <b>Template Type</b> to download template,<b>Şablonu</b> indirmek için lütfen <b>Şablon Türü&#39;nü</b> seçin,
-Please select Applicant Type first,Lütfen önce Başvuru Türü&#39;nü seçin,
-Please select Customer first,Lütfen önce Müşteri&#39;yi seçin,
+Please login as a Marketplace User to report this item.,Bu öğeyi incelemek için lütfen bir Marketplace Kullanıcısı olarak giriş yapın.,
+Please select <b>Template Type</b> to download template,<b>Şablonu</b> indirmek için lütfen <b>Şablon Türü'nü</b> seçin,
+Please select Applicant Type first,Lütfen önce Başvuru Türü'nü seçin,
+Please select Customer first,Lütfen önce Müşteriyi Seçin,
 Please select Item Code first,Lütfen önce Ürün Kodunu seçin,
-Please select Loan Type for company {0},Lütfen {0} şirketi için Kredi Türü&#39;nü seçin,
-Please select a Delivery Note,Lütfen bir Teslimat Notu seçin,
+Please select Loan Type for company {0},Lütfen {0} şirketi için Kredi Türü'nü seçin,
+Please select a Delivery Note,Lütfen bir İrsaliye seçin,
 Please select a Sales Person for item: {0},Lütfen öğe için bir Satış Sorumlusu seçin: {0},
-Please select another payment method. Stripe does not support transactions in currency '{0}',"Lütfen başka bir ödeme yöntemi seçin. Şerit, &#39;{0}&#39; para birimi işlemlerini desteklemez",
+Please select another payment method. Stripe does not support transactions in currency '{0}',"Lütfen başka bir ödeme yöntemini seçin. şerit, &#39;{0}&#39; para birimini desteklemez",
 Please select the customer.,Lütfen müşteriyi seçiniz.,
-Please set a Supplier against the Items to be considered in the Purchase Order.,Lütfen Satınalma Siparişinde dikkate alınacak Öğelere karşı bir Tedarikçi ayarlayın.,
-Please set account heads in GST Settings for Compnay {0},Lütfen {0} Compnay için GST Ayarlarında hesap kafalarını ayarlayın,
-Please set an email id for the Lead {0},Lütfen Lider {0} için bir e-posta kimliği belirleyin,
-Please set default UOM in Stock Settings,Lütfen Stok Ayarları&#39;ndan varsayılan UOM&#39;yi ayarlayın,
-Please set filter based on Item or Warehouse due to a large amount of entries.,Lütfen büyük miktarda girdi nedeniyle filtreyi Öğe veya Depo&#39;ya göre ayarlayın.,
-Please set up the Campaign Schedule in the Campaign {0},Lütfen {0} Kampanyasında Kampanya Zamanlamasını ayarlayın,
+Please set a Supplier against the Items to be considered in the Purchase Order.,Lütfen Satınalma Siparişinde dikkate alın Öğelere karşı bir denetleyici ayarlayın.,
+Please set account heads in GST Settings for Compnay {0},Lütfen {0} Şirket için GST Ayarlarında hesap kafalarını ayarlayın,
+Please set an email id for the Lead {0},Lütfen Lider {0} için bir e-posta kimliğini belirlemiştir,
+Please set default UOM in Stock Settings,Lütfen Stok Ayarları&#39;ndan varsayılan Birimi ayarı,
+Please set filter based on Item or Warehouse due to a large amount of entries.,Lütfen büyük miktarda girdi nedeniyle filtreyi Öğe veya Depoya göre ayarlayın.,
+Please set up the Campaign Schedule in the Campaign {0},Lütfen {0} Kampanyasında Kampanyasında Saatlerini Ayarlayın,
 Please set valid GSTIN No. in Company Address for company {0},Lütfen {0} şirketi için Şirket Adresinde geçerli GSTIN No.,
-Please set {0},Lütfen {0} ayarlayın,customer
-Please setup a default bank account for company {0},Lütfen {0} şirketi için varsayılan bir banka hesabı kurun,
+Please set {0},Lütfen {0} ayarlayın,
+Please setup a default bank account for company {0},Lütfen {0} şirketi için genel bir banka hesabı kurun,
 Please specify,Lütfen belirtiniz,
-Please specify a {0},Lütfen bir {0} belirtin,lead
+Please specify a {0},Lütfen bir {0} kullanmak,
 Pledge Status,Rehin Durumu,
 Pledge Time,Rehin Zamanı,
 Printing,Baskı,
 Priority,Öncelik,
 Priority has been changed to {0}.,Öncelik {0} olarak değiştirildi.,
-Priority {0} has been repeated.,{0} önceliği tekrar edildi.,
+Priority {0} has been repeated.,{0} önceliği tekrarlandı.,
 Processing XML Files,XML Dosyalarını İşleme,
 Profitability,Karlılık,
 Project,Proje,
-Proposed Pledges are mandatory for secured Loans,Teminatlı Krediler için önerilen rehinlerin verilmesi zorunludur,
-Provide the academic year and set the starting and ending date.,Akademik yılı sağlayın ve başlangıç ve bitiş tarihini ayarlayın.,
+Proposed Pledges are mandatory for secured Loans,Teminatlı Krediler için verilen rehinlerin dağıtımı hizmetleri,
+Provide the academic year and set the starting and ending date.,Akademik yıl dönümü ve başlangıç ve bitiş tarihini ayarlayın.,
 Public token is missing for this bank,Bu banka için genel belirteç eksik,
-Publish,yayınlamak,
+Publish,Yayınla,
 Publish 1 Item,1 Öğe Yayınla,
 Publish Items,Öğeleri Yayınla,
-Publish More Items,Daha Fazla Ürün Yayınla,
+Publish More Items,Daha Fazla Öge Yayınla,
 Publish Your First Items,İlk Ürününüzü Yayınlayın,
-Publish {0} Items,{0} Öğeyi Yayımla,
+Publish {0} Items,{0} Öğeyi Yayınla,
 Published Items,Yayınlanan Öğeler,
-Purchase Invoice cannot be made against an existing asset {0},Mevcut bir öğeye karşı {0} satın alma faturası yapılamaz,
+Purchase Invoice cannot be made against an existing asset {0},Mevcut bir öğeye karşı {0} satınalma faturası yapılamaz,
 Purchase Invoices,Satınalma Faturaları,
-Purchase Orders,Satın alma siparişleri,
-Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"Satın Alma Fişinde, Örneği Tut&#39;un etkinleştirildiği bir Öğe yoktur.",
-Purchase Return,Satın alma iadesi,
+Purchase Orders,Satınalma Siparişleri,
+Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"Satınalma Fişinde, Örneği Tut'un etkinleştirildiği bir Öğe yoktur.",
+Purchase Return,Satınalma İadesi,
 Qty of Finished Goods Item,Mamul Mal Miktarı,
-Qty or Amount is mandatroy for loan security,Miktar veya Miktar kredi güvenliği için mandatroy,
-Quality Inspection required for Item {0} to submit,{0} Ürününün göndermesi için Kalite Kontrol gerekli,
+Qty or Amount is mandatroy for loan security,Miktar veya Miktar kredi güvenliği için zorunlu,
+Quality Inspection required for Item {0} to submit,{0} Ürününün gönderilmesi için Kalite Kontrol gerekli,
 Quantity to Manufacture,Üretim Miktarı,
 Quantity to Manufacture can not be zero for the operation {0},{0} işlemi için Üretim Miktarı sıfır olamaz,
 Quarterly,Üç ayda bir,
-Queued,Sıraya alınmış,
-Quick Entry,Hızlı Girişi,
+Queued,Sıraya alındı,
+Quick Entry,Hızlı Giriş,
 Quiz {0} does not exist,{0} yarışması mevcut değil,
 Quotation Amount,Teklif Tutarı,
 Rate or Discount is required for the price discount.,Fiyat indirimi için Oran veya İndirim gereklidir.,
 Reason,Nedeni,
 Reconcile Entries,Mutabakat Girişleri,
-Reconcile this account,Bu hesabı mutabık kılma,
+Reconcile this account,Bu hesap mutabık kılma,
 Reconciled,Mutabık,
 Recruitment,İşe Alım,
 Red,Kırmızı,
-Refreshing,Güncelleniyor,
-Release date must be in the future,Çıkış tarihi gelecekte olmalı,
+Refreshing,Yenileniyor,
+Release date must be in the future,Çıkış tarihi olmalı,
 Relieving Date must be greater than or equal to Date of Joining,"Rahatlama Tarihi, Katılım Tarihinden büyük veya ona eşit olmalıdır",
 Rename,Yeniden adlandır,
-Rename Not Allowed,Yeniden Adlandır İzin Verilmez,
-Repayment Method is mandatory for term loans,Vadeli krediler için geri ödeme yöntemi zorunludur,
-Repayment Start Date is mandatory for term loans,Vadeli krediler için geri ödeme başlangıç tarihi zorunludur,
-Report Item,Öğe Bildir,
-Report this Item,Bu öğeyi bildir,
+Rename Not Allowed,Yeniden Adlandırmaya İzin Verilmiyor,
+Repayment Method is mandatory for term loans,Vadeli krediler için geri ödeme yöntemleri,
+Repayment Start Date is mandatory for term loans,Vadeli krediler için geri ödeme başlangıç tarihi,
+Report Item,Öğeyi Bildir,
+Report this Item,Bu öğeyi bildirin,
 Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Fason Üretim için Ayrılmış Adet: Fason üretim yapmak için hammadde miktarı.,
 Reset,Sıfırla,
 Reset Service Level Agreement,Servis Seviyesi Sözleşmesini Sıfırla,
 Resetting Service Level Agreement.,Servis Seviyesi Sözleşmesini Sıfırlama.,
-Return amount cannot be greater unclaimed amount,İade tutarı talep edilmemiş tutardan fazla olamaz,
-Review,gözden geçirmek,
-Room,oda,
+Return amount cannot be greater unclaimed amount,Garanti gereksinimleri olmayan tutarlarından fazla olamaz,
+Review,Gözden geçir,
+Room,Oda,
 Room Type,Oda tipi,
 Row # ,Satır #,
 Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Satır # {0}: Kabul Edilen Depo ve Tedarikçi Deposu aynı olamaz,
 Row #{0}: Cannot delete item {1} which has already been billed.,Satır # {0}: Faturalandırılan {1} öğesi silinemiyor.,
-Row #{0}: Cannot delete item {1} which has already been delivered,Satır # {0}: Önceden yayınlanmış {1} öğesi silinemiyor,
-Row #{0}: Cannot delete item {1} which has already been received,Satır # {0}: Önceden alınmış olan {1} öğesi silinemiyor,
-Row #{0}: Cannot delete item {1} which has work order assigned to it.,Satır # {0}: İş emri atanmış {1} öğesi silinemez.,
+Row #{0}: Cannot delete item {1} which has already been delivered,Satır # {0}: geçmişte yayınlanmış {1} öğesi silinemiyor,
+Row #{0}: Cannot delete item {1} which has already been received,Satır # {0}: geçmişte alınmış olan {1} öğesi silinemiyor,
+Row #{0}: Cannot delete item {1} which has work order assigned to it.,Satır # {0}: İş emri atanmış {1} öğe silinemez.,
 Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Satır # {0}: Müşterinin satınalma siparişine atanan {1} öğesi silinemiyor.,
 Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Satır # {0}: Taşerona hammadde tedarik ederken Tedarikçi Deposu seçilemiyor,
-Row #{0}: Cost Center {1} does not belong to company {2},"Satır # {0}: Maliyet Merkezi {1}, {2} şirketine ait değil",
-Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Satır # {0}: {3} İş Emri&#39;nde {2} işlenmiş ürün adedi için {1} işlemi tamamlanmadı. Lütfen çalışma durumunu {4} Job Card ile güncelleyin.,
-Row #{0}: Payment document is required to complete the transaction,Satır # {0}: İşlemi tamamlamak için ödeme belgesi gereklidir,
+Row #{0}: Cost Center {1} does not belong to company {2},"Satır # {0}: Maliyet Merkezi {1}, {2} işletme ait değil",
+Row #{0}: Operation {1} is not completed for {2} qty of finished goods in Work Order {3}. Please update operation status via Job Card {4}.,Satır # {0}: {3} İş Emri'nde {2} işlenmiş ürün adedi için {1} işlemi tamamlanmadı. Lütfen çalışma halindeyken {4} Job Card ile güncelleyin.,
+Row #{0}: Payment document is required to complete the transaction,Satır # {0}: İşlemi gizlemek için ödeme belgesi gereklidir,
 Row #{0}: Serial No {1} does not belong to Batch {2},"Satır # {0}: Seri No {1}, Parti {2} &#39;ye ait değil",
 Row #{0}: Service End Date cannot be before Invoice Posting Date,"Satır # {0}: Hizmet Bitiş Tarihi, Fatura Kayıt Tarihinden önce olamaz",
 Row #{0}: Service Start Date cannot be greater than Service End Date,"Satır # {0}: Hizmet Başlangıç Tarihi, Hizmet Bitiş Tarihinden fazla olamaz",
 Row #{0}: Service Start and End Date is required for deferred accounting,Satır # {0}: Ertelenmiş muhasebe için Hizmet Başlangıç ve Bitiş Tarihi gerekiyor,
-Row {0}: Invalid Item Tax Template for item {1},Satır {0}: {1} öğesi için geçersiz Öğe Vergi Şablonu,
-Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Satır {0}: Girişin kaydedildiği tarihte {1} deposundaki {4} miktarı kullanılabilir değil ({2} {3}),
-Row {0}: user has not applied the rule {1} on the item {2},Satır {0}: kullanıcı {2} öğesine {1} kuralını uygulamadı,
+Row {0}: Invalid Item Tax Template for item {1},Satır {0}: {1} öğe için geçersiz Öğe Vergi Şablonu,
+Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Satır {0}: Girişin kaydettiği anında {1}haftasındaki {4} hacmi kullanılabilir değil ({2} {3}),
+Row {0}: user has not applied the rule {1} on the item {2},Satır {0}: kullanıcı {2} işlemi {1} kuralını uygulamadı,
 Row {0}:Sibling Date of Birth cannot be greater than today.,Satır {0}: Kardeş Doğum Tarihi bugünden daha büyük olamaz.,
 Row({0}): {1} is already discounted in {2},"Satır ({0}): {1}, {2} için zaten indirimli",
-Rows Added in {0},{0} içine eklenen satırlar,
-Rows Removed in {0},{0} konumundaki Satırlar Kaldırıldı,
+Rows Added in {0},{0} içindeki satırlar,
+Rows Removed in {0},{0} sonuçları Satırlar Kaldırıldı,
 Sanctioned Amount limit crossed for {0} {1},{0} {1} için Onaylanan Tutar sınırı aşıldı,
-Sanctioned Loan Amount already exists for {0} against company {1},{1} şirketine karşı {0} için Onaylanan Kredi Tutarı zaten var,
+Sanctioned Loan Amount already exists for {0} against company {1},{1} yerleştirme karşı {0} için Onaylanan Kredi Tutarı zaten var,
 Save,Kaydet,
-Save Item,Öğe Kaydet,
+Save Item,Öğeyi Kaydet,
 Saved Items,Kaydedilen Öğeler,
 Search Items ...,Öğeleri Ara ...,
-Search for a payment,Ödeme arayın,
-Search for anything ...,Bir şey arayın ...,
-Search results for,için arama sonuçları,
+Search for a payment,Ödeme Ara,
+Search for anything ...,Bir şey arayın...,
+Search results for,Arama sonuçları için,
 Select All,Tümünü Seç,
 Select Difference Account,Fark Hesabı Seç,
-Select a Default Priority.,Varsayılan bir öncelik seçin.,
+Select a Default Priority.,Varsayılan bir öğe seçin.,
 Select a company,Bir şirket seçin,
-Select finance book for the item {0} at row {1},{1} satırındaki {0} maddesi için finansman kitabını seçin,
+Select finance book for the item {0} at row {1},{1} bilgisindeki {0} madde için pazarlama kitabını seçin,
 Select only one Priority as Default.,Varsayılan olarak sadece bir Öncelik seçin.,
-Seller Information,Satıcı bilgisi,
+Seller Information,Satıcı Bilgisi,
 Send,Gönder,
-Send a message,Bir mesaj göndermek,
-Sending,Gönderme,
-Sends Mails to lead or contact based on a Campaign schedule,Bir Kampanya programına dayalı olarak postaları yönlendirmesi veya irtibat kurması,
+Send a message,Bir mesaj geçti,
+Sending,Gönderiliyor,
+Sends Mails to lead or contact based on a Campaign schedule,Bir Kampanya planına göre Adaya veya İlgili kişiye Postaları gönderir,
 Serial Number Created,Seri Numarası Oluşturuldu,
 Serial Numbers Created,Oluşturulan Seri Numaraları,
-Serial no(s) required for serialized item {0},{0} serileştirilmiş öğesi için seri numarası gerekli,
-Series,Seriler,
-Server Error,Server hatası,
-Service Level Agreement has been changed to {0}.,Hizmet Seviyesi Sözleşmesi {0} olarak değiştirildi.,
+Serial no(s) required for serialized item {0},{0} serileştirilmiş öğe için seri numarası gerekli,
+Series,Kayıt Serisi,
+Server Error,Sunucu Hatası,
+Service Level Agreement has been changed to {0}.,Hizmet Seviyesi Sözleşmesi {0} olarak kaldırıldı.,
 Service Level Agreement was reset.,Hizmet Seviyesi Anlaşması sıfırlandı.,
 Service Level Agreement with Entity Type {0} and Entity {1} already exists.,{0} Varlığı ve {1} Varlığı ile Hizmet Seviyesi Anlaşması zaten var.,
 Set,Ayarla,
-Set Meta Tags,Meta Etiketlerini Ayarla,
-Set {0} in company {1},{1} şirketinde {0} ayarlayın,
+Set Meta Tags,Meta Etiketleri Ayarla,
+Set {0} in company {1},{1} şirketinde {0} Ayarla,
 Setup,Kurulum,
 Setup Wizard,Kurulum Sihirbazı,
 Shift Management,Vardiya Yönetimi,
 Show Future Payments,Gelecekteki Ödemeleri Göster,
-Show Linked Delivery Notes,Bağlantılı Teslimat Notlarını Göster,
-Show Sales Person,Satış Görevlisini Göster,
-Show Stock Ageing Data,Stok Yaşlanma Verilerini Göster,
-Show Warehouse-wise Stock,Depo-Stok Stoğunu Göster,
+Show Linked Delivery Notes,Bağlı İrsaliyeleri Göster,
+Show Sales Person,Satış Elemanını Göster,
+Show Stock Ageing Data,Stok Yaşlandırma Verisini Göster,
+Show Warehouse-wise Stock,Depo-Stok Stokunu Göster,
 Size,Boyut,
-Something went wrong while evaluating the quiz.,Sınavı değerlendirirken bir şeyler ters gitti.,
-Sr,Sr,
+Something went wrong while evaluating the quiz.,Sınavı değerlendirirken bir şey ters gitti.,
+Sr,Kıdemli,
 Start,Başlangıç,
-Start Date cannot be before the current date,"Başlangıç Tarihi, geçerli tarihten önce olamaz",
+Start Date cannot be before the current date,"Başlangıç Tarihi, geçerli karşılaştırma önce olamaz",
 Start Time,Başlangıç Zamanı,
-Status,Durum,
+Status,Durumu,
 Status must be Cancelled or Completed,Durum İptal Edilmeli veya Tamamlandı,
-Stock Balance Report,Borsa Dengesi Raporu,
-Stock Entry has been already created against this Pick List,Bu Seçim Listesi&#39;ne karşı Stok Girişi zaten oluşturuldu,
+Stock Balance Report,Stok Bakiyesi Raporu,
+Stock Entry has been already created against this Pick List,Bu Seçim Listesine karşı Stok Hareketi zaten oluşturulmuş,
 Stock Ledger ID,Stok Defteri Defteri Kimliği,
 Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,"Stok Değeri ({0}) ve Hesap Bakiyesi ({1}), {2} hesabı için senkronize değil ve bağlı depolar.",
 Stores - {0},Mağazalar - {0},
-Student with email {0} does not exist,{0} e-posta adresine sahip öğrenci mevcut değil,
-Submit Review,İnceleme Gönder,
-Submitted,Tanzim Edildi,
+Student with email {0} does not exist,{0} e-posta gönderme sahibi öğrenci mevcut değil,
+Submit Review,İncelemeyi Gönder,
+Submitted,İşlendi,
 Supplier Addresses And Contacts,Tedarikçi Adresler ve İletişim,
 Synchronize this account,Bu hesabı senkronize et,
 Tag,Etiket,
@@ -4078,7 +4078,7 @@
 Target Location is required while transferring Asset {0},{0} Varlığı aktarılırken Hedef Konum gerekli,
 Target Location or To Employee is required while receiving Asset {0},{0} Varlığı alınırken Hedef Yer veya Çalışan için gerekli,
 Task's {0} End Date cannot be after Project's End Date.,"Görev {0} Bitiş Tarihi, Projenin Bitiş Tarihinden sonra olamaz.",
-Task's {0} Start Date cannot be after Project's End Date.,"Görev {0} Başlangıç Tarihi, Projenin Bitiş Tarihinden sonra olamaz.",
+Task's {0} Start Date cannot be after Project's End Date.,"Görev {0} Başlangıç Tarihi, Görev Bitiş Tarihinden sonra olamaz.",
 Tax Account not specified for Shopify Tax {0},Shopify Vergisi için Vergi Hesabı belirtilmedi {0},
 Tax Total,Vergi Toplamı,
 Template,Şablon,
@@ -4086,109 +4086,109 @@
 The difference between from time and To Time must be a multiple of Appointment,Zaman ve Zaman arasındaki fark Randevunun katları olmalıdır,
 The field Asset Account cannot be blank,Duran Varlık Hesabı alanı boş bırakılamaz,
 The field Equity/Liability Account cannot be blank,Varlık / Borç Hesabı alanı boş bırakılamaz,
-The following serial numbers were created: <br><br> {0},Aşağıdaki seri numaraları oluşturuldu: <br><br> {0},
+The following serial numbers were created: <br><br> {0},Aşağıdaki seri numaraları verilmiştir: <br><br> {0},
 The parent account {0} does not exists in the uploaded template,Yüklenen şablonda {0} üst hesabı yok,
 The question cannot be duplicate,Soru kopyalanamaz,
 The selected payment entry should be linked with a creditor bank transaction,Seçilen ödeme girişi bir alacaklı banka işlemi ile bağlantılı olmalıdır,
-The selected payment entry should be linked with a debtor bank transaction,Seçilen ödeme girişi borçlu banka işlemiyle ilişkilendirilmelidir,
-The total allocated amount ({0}) is greated than the paid amount ({1}).,"Tahsis edilen toplam tutar ({0}), ödenen tutardan ({1}) elde edilir.",
+The selected payment entry should be linked with a debtor bank transaction,Seçilen ödeme girişi borçlu banka işlemiyle tüketilmelidir,
+The total allocated amount ({0}) is greated than the paid amount ({1}).,"Tahsis edilen tutarlar ({0}), kullandıkları tutarlardan ({1}) elde edilir.",
 There are no vacancies under staffing plan {0},{0} kadro planında boş yer yok,
 This Service Level Agreement is specific to Customer {0},"Bu Servis Seviyesi Sözleşmesi, {0} Müşterisine özel",
-This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,"Bu işlem, bu hesabın, ERPNext&#39;i banka hesaplarınızla entegre eden herhangi bir harici hizmetle bağlantısını kesecektir. Geri alınamaz. Emin misin ?",
+This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,"Bu işlem, bu hesabın, ERPNext&#39;i banka hesaplarınızla entegre eden herhangi bir harici hizmetle kaybolacaktır. Geri alınamaz. Emin misin?",
 This bank account is already synchronized,Bu banka hesabı zaten senkronize edildi,
 This bank transaction is already fully reconciled,Bu banka işlemi zaten tamamen mutabık kılındı,
 This employee already has a log with the same timestamp.{0},Bu çalışanın zaten aynı zaman damgasına sahip bir günlüğü var. {0},
-This page keeps track of items you want to buy from sellers.,Bu sayfa satıcılardan satın almak istediğiniz ürünleri takip eder.,
-This page keeps track of your items in which buyers have showed some interest.,"Bu sayfa, alıcıların ilgi gösterdiği öğelerin kaydını tutar.",
+This page keeps track of items you want to buy from sellers.,Bu sayfa satıcılardan satınalmak istediğiniz ürünleri takip eder.,
+This page keeps track of your items in which buyers have showed some interest.,"Bu sayfa, alıcıların ilgi gösterdiği nesnelerin telif hakları saklıdır.",
 Thursday,Perşembe,
 Timing,Zamanlama,
 Title,Başlık,
 "To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Fazla faturalandırmaya izin vermek için, Hesap Ayarları veya Öğesinde &quot;Fatura Ödeneği&quot; nı güncelleyin.",
-"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Alınan / teslimin aşırı yapılmasına izin vermek için, Stok Ayarları veya Öğe&#39;deki &quot;Aşırı Alındı / Teslimat Ödeneği&quot; ni güncelleyin.",
-To date needs to be before from date,Bugüne kadar tarihten önce olması gerekiyor,
+"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","alınan / teslimin aşırıya alınmasına izin vermek için, Stok Ayarları veya Öğedeki &quot;Aşırı Alındı / Teslimat Ödeneği&quot; ni güncelleyin.",
+To date needs to be before from date,Bugüne kadar bu konuda daha önce olması gerekiyor,
 Total,Toplam,
 Total Early Exits,Toplam Erken Çıkış,
 Total Late Entries,Toplam Geç Girişler,
-Total Payment Request amount cannot be greater than {0} amount,Toplam Ödeme İsteği tutarı {0} tutarından büyük olamaz,
-Total payments amount can't be greater than {},Toplam ödeme tutarı {} den fazla olamaz,
+Total Payment Request amount cannot be greater than {0} amount,Toplam Ödeme isteğini barındırmak {0} büyük olamaz,
+Total payments amount can't be greater than {},Toplam ödeme kümeleri {} den fazla olamaz,
 Totals,Toplamlar,
 Training Event:,Eğitim Etkinliği:,
 Transactions already retreived from the statement,İşlemler zaten ifadeden alındı,
 Transfer Material to Supplier,Tedarikçi Malzeme Transferi,
-Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Seçtiğiniz Ulaşım Modu için Nakliye Fişi No ve Tarihi zorunludur,
+Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Seçtiğiniz Ulaşım Modu için Nakliye Fişi No ve Tarihi mahkumları,
 Tuesday,Salı,
 Type,Türü,
 Unable to find Salary Component {0},{0} Maaş Bileşeni bulunamıyor,
-Unable to find the time slot in the next {0} days for the operation {1}.,{1} işlemi için sonraki {0} gün içinde zaman aralığı bulunamıyor.,
-Unable to update remote activity,Uzak etkinlik güncellenemiyor,
-Unknown Caller,Bilinmeyen arama,
-Unlink external integrations,Dış entegrasyonların bağlantısını kaldır,
-Unmarked Attendance for days,Günlerce işaretsiz katılım,
+Unable to find the time slot in the next {0} days for the operation {1}.,{1} işlemi için sonraki {0} gün içinde zaman aralığında bulunamıyor.,
+Unable to update remote activity,Uzak Faaliyet güncellenemiyor,
+Unknown Caller,bilinmeyen arama,
+Unlink external integrations,Dış entegrasyonların aktarımlarını kaldır,
+Unmarked Attendance for days,Günlerce işaretsiz bağlantı,
 Unpublish Item,Yayından kaldır,
-Unreconciled,uzlaşmamış,
+Unreconciled,Uzlaşmamış,
 Unsupported GST Category for E-Way Bill JSON generation,E-Way Bill JSON nesli için desteklenmeyen GST Kategorisi,
-Update,Güncelleme,
-Update Details,Güncelleme Ayrıntıları,
+Update,Güncelle,
+Update Details,Ayrıntıları Güncelle,
 Update Taxes for Items,Öğeler için Vergileri Güncelle,
-"Upload a bank statement, link or reconcile a bank account","Bir banka ekstresi yükleyin, bir banka hesabını bağlayın veya mutabakat yapın",
+"Upload a bank statement, link or reconcile a bank account","Bir banka ekstresi yükleyin, bir banka hesabını çalıştırın veya mutabakat yapın",
 Upload a statement,Bir ifade yükle,
-Use a name that is different from previous project name,Önceki proje adından farklı bir ad kullanın,
+Use a name that is different from previous project name,Önceki proje dosyalarından farklı bir ad kullan,
 User {0} is disabled,Kullanıcı {0} devre dışı,
 Users and Permissions,Kullanıcılar ve İzinler,
-Vacancies cannot be lower than the current openings,Boş pozisyonlar mevcut açılışlardan daha düşük olamaz,
-Valid From Time must be lesser than Valid Upto Time.,"Geçerlilik Süresi, Geçerlilik Süresi&#39;nden daha az olmalıdır.",
-Valuation Rate required for Item {0} at row {1},{1} satırındaki {0} Maddesi için Değerleme Oranı gerekli,
-Values Out Of Sync,Senkronizasyon Dışı Değerler,
+Vacancies cannot be lower than the current openings,Boş pozisyonlar mevcut patlamalardan daha düşük olamaz,
+Valid From Time must be lesser than Valid Upto Time.,"Geçerlilik Süresi, geçerlilik Süresi&#39;nden daha az olmalıdır.",
+Valuation Rate required for Item {0} at row {1},{1} bilgisindeki {0} Maddesi için Değerleme Oranı gerekli,
+Values Out Of Sync,Senkronizasyon Dış Değerler,
 Vehicle Type is required if Mode of Transport is Road,Ulaşım Şekli Karayolu ise Araç Tipi gereklidir,
-Vendor Name,Satıcı adı,
-Verify Email,E-mail&#39;i doğrula,
-View,Görünüm,
+Vendor Name,Satıcı Adı,
+Verify Email,E-mail&#39;i dogrula,
+View,Göster,
 View all issues from {0},{0} &#39;daki tüm sorunları görüntüle,
-View call log,Arama günlüğünü görüntüle,
+View call log,Arama gününü görüntüle,
 Warehouse,Depo,
 Warehouse not found against the account {0},{0} hesabına karşı depo bulunamadı,
 Welcome to {0},Hoşgeldiniz {0},
-Why do think this Item should be removed?,Bu öğenin neden kaldırılması gerektiğini düşünüyorsunuz?,
+Why do think this Item should be removed?,Bu öğenin neden kısıtlamaları gereği var?,
 Work Order {0}: Job Card not found for the operation {1},{0} İş Emri: {1} işlemi için kartvizit bulunamadı,
-Workday {0} has been repeated.,{0} iş günü tekrar edildi.,
+Workday {0} has been repeated.,{0} iş günü tekrarlandı.,
 XML Files Processed,İşlenen XML Dosyaları,
 Year,Yıl,
 Yearly,Yıllık,
-You,Siz,
+You,Şahsım,
 You are not allowed to enroll for this course,Bu kursa kayıt olma izniniz yok,
-You are not enrolled in program {0},{0} programına kaydolmadınız,
-You can Feature upto 8 items.,8 öğeye kadar Featuring yapabilirsiniz.,
-You can also copy-paste this link in your browser,Ayrıca bu linki kopyalayıp tarayıcınıza yapıştırabilirsiniz,
-You can publish upto 200 items.,200&#39;e kadar öğe yayınlayabilirsiniz.,
-You have to enable auto re-order in Stock Settings to maintain re-order levels.,Yeniden sipariş seviyelerini korumak için Stok Ayarlarında otomatik yeniden siparişi etkinleştirmeniz gerekir.,
-You must be a registered supplier to generate e-Way Bill,E-Way Bill&#39;i oluşturmak için tescilli bir tedarikçi olmalısınız,
-You need to login as a Marketplace User before you can add any reviews.,Herhangi bir inceleme ekleyebilmeniz için önce bir Marketplace Kullanıcısı olarak giriş yapmanız gerekir.,
+You are not enrolled in program {0},{0} zorla kaydolmadınız,
+You can Feature upto 8 items.,8 öğeye kadar Özelleştirebilirsiniz.,
+You can also copy-paste this link in your browser,Ayrıca bu link kopyalarını tarayıcınıza yapıştırabilirsiniz,
+You can publish upto 200 items.,200'e kadar öğe yayınlayabilirsiniz.,
+You have to enable auto re-order in Stock Settings to maintain re-order levels.,Yeniden sipariş korumalarını korumak için Stok Ayarlarında otomatik yeniden siparişi etkinleştirmeniz gerekir.,
+You must be a registered supplier to generate e-Way Bill,E-Way Bill&#39;i oluşturmak için tescilli bir tedarikçi mutlaka olmalıdır,
+You need to login as a Marketplace User before you can add any reviews.,Herhangi bir inceleme ekleyebilmeniz için daha önce bir Marketplace Kullanıcısı olarak giriş yapmanız gerekir.,
 Your Featured Items,Seçtiğiniz Öğeler,
 Your Items,Öğeleriniz,
-Your Profile,Senin profil,
-Your rating:,Sizin dereceniz:,
+Your Profile,senin profil,
+Your rating:,Dereceniz:,
 and,ve,
-e-Way Bill already exists for this document,e-Way Bill bu belge için zaten var,
-woocommerce - {0},woocommerce - {0},
+e-Way Bill already exists for this document,e-İrsaliye bu belge için zaten var,
+woocommerce - {0},WooCommerce - {0},
 {0} Coupon used are {1}. Allowed quantity is exhausted,{0} Kullanılan kupon {1}. İzin verilen miktar tükendi,
-{0} Name,{0} Ad,
+{0} Name,{0} Adı,
 {0} Operations: {1},{0} İşlemler: {1},
-{0} bank transaction(s) created,{0} banka işlemi yaratıldı,
-{0} bank transaction(s) created and {1} errors,{0} banka işlemi yaratıldı ve {1} hataları,
+{0} bank transaction(s) created,{0} banka işlemi oluşturuldu,
+{0} bank transaction(s) created and {1} errors,{0} banka işlemi oluşturuldu ve {1} hatalar,
 {0} can not be greater than {1},"{0}, {1} &#39;den büyük olamaz",
 {0} conversations,{0} ileti dizisi,
 {0} is not a company bank account,{0} bir şirket banka hesabı değil,
 {0} is not a group node. Please select a group node as parent cost center,{0} bir grup düğümü değil. Lütfen ana maliyet merkezi olarak bir grup düğümü seçin,
-{0} is not the default supplier for any items.,"{0}, hiçbir ürün için varsayılan tedarikçi değildir.",
-{0} is required,{0} gereklidir,
+{0} is not the default supplier for any items.,"{0}, hiçbir ürün için yerel tedarikçi değildir.",
+{0} is required,{0} içerir,
 {0}: {1} must be less than {2},{0}: {1} {2} &#39;den küçük olmalı,
 {} is an invalid Attendance Status.,{} geçersiz Seyirci Durumu.,
-{} is required to generate E-Way Bill JSON,e-Way Bill JSON&#39;u oluşturmak için {} gereklidir,
+{} is required to generate E-Way Bill JSON,e-Way Bill JSON&#39;u oluşturmak için gerekli {},
 "Invalid lost reason {0}, please create a new lost reason","Geçersiz kayıp neden {0}, lütfen yeni bir kayıp neden oluşturun",
 Profit This Year,Bu Yıl Kâr,
 Total Expense,Toplam Gider,
 Total Expense This Year,Bu Yıl Toplam Gider,
-Total Income,Toplam gelir,
+Total Income,toplam gelir,
 Total Income This Year,Bu Yıl Toplam Gelir,
 Barcode,Barkod,
 Bold,cesur,
@@ -4196,195 +4196,195 @@
 Clear,Açık,
 Comment,Yorum Yap,
 Comments,Yorumlar,
-DocType,DocType,
+DocType,Belge Türü,
 Download,İndir,
-Left,Bırakmak,
+Left,Sol,
 Link,bağlantı,
 New,Yeni,
 Not Found,Bulunamadı,
 Print,Yazdır,
-Reference Name,referans adı,
+Reference Name,Referans Adı,
 Refresh,Yenile,
-Success,başarı,
-Time,zaman,
-Value,değer,
+Success,Başarılı,
+Time,Zaman,
+Value,Değer,
 Actual,Gerçek,
-Add to Cart,Sepete ekle,
+Add to Cart,Sepete Ekle,
 Days Since Last Order,Son Siparişten Beri Geçen Gün Sayısı,
 In Stock,Stokta var,
-Loan Amount is mandatory,Kredi Tutarı zorunludur,
+Loan Amount is mandatory,Kredi Tutarı cezaları,
 Mode Of Payment,Ödeme Şekli,
-No students Found,Öğrenci bulunamadı,
+No students Found,Öğrenci Bulunamadı,
 Not in Stock,Stokta yok,
 Please select a Customer,Lütfen bir müşteri seçin,
-Printed On,Baskılı Açık,
-Received From,Dan alındı,
-Sales Person,Satis elemani,
-To date cannot be before From date,Bitiş tarihi başlangıç tarihinden önce olmamalıdır,
+Printed On,Yazdırma Tarihi,
+Received From,Alındığı Yer,
+Sales Person,Satış Elemanı,
+To date cannot be before From date,Bitiş tarihi başlatma cezaları önce bitirme,
 Write Off,Şüpheli Alacak,
 {0} Created,{0} Oluşturuldu,
 Email Id,E-posta kimliği,
-No,Hiç,
-Reference Doctype,Referans DocType,
+No,Hayır,
+Reference Doctype,Referans Belge Türü,
 User Id,Kullanıcı kimliği,
 Yes,Evet,
-Actual ,Gerçek,
-Add to cart,Sepete ekle,
+Actual ,Gerçek ,
+Add to cart,Sepete Ekle,
 Budget,Bütçe,
-Chart of Accounts,Hesap tablosu,
+Chart of Accounts,Hesap Planı,
 Customer database.,Müşteri veritabanı.,
 Days Since Last order,Son siparişten bu yana geçen günler,
 Download as JSON,JSON olarak indir,
 End date can not be less than start date,"Bitiş Tarihi, Başlangıç Tarihinden daha az olamaz",
-For Default Supplier (Optional),Varsayılan Tedarikçi için (İsteğe bağlı),
-From date cannot be greater than To date,Tarihten itibaren tarihe kadardan ileride olamaz,
-Group by,Grup tarafından,
-In stock,Stokta var,
+For Default Supplier (Optional),Varsayılan tedarikçi için (İsteğe bağlı),
+From date cannot be greater than To date,Tarihten bugüne kadardan ileride olamaz,
+Group by,Gruplandır,
+In stock,Stokta,
 Item name,Ürün Adı,
-Loan amount is mandatory,Kredi tutarı zorunludur,
-Minimum Qty,Minimum adet,
+Loan amount is mandatory,Kredi tutarı zorunlu,
+Minimum Qty,Minimum Mik,
 More details,Daha fazla detay,
 Nature of Supplies,Malzemelerin Doğası,
 No Items found.,Hiç bir öğe bulunamadı.,
 No employee found,Çalışan bulunmadı,
-No students found,Hiçbir öğrenci Bulundu,
+No students found,Hiçbir öğrenci yok,
 Not in stock,Stokta yok,
 Not permitted,İzin verilmedi,
-Open Issues ,Açık sorunlar,
+Open Issues ,Açık Sorunlar,
 Open Projects ,Açık Projeler,
-Open To Do ,To Do Aç,
+Open To Do ,Açık Yapılacaklar,
 Operation Id,Operasyon Kimliği,
-Partially ordered,kısmen Sıralı,
+Partially ordered,Yoğun Sıralı,
 Please select company first,İlk Şirket seçiniz,
 Please select patient,Lütfen hastayı seçin,
-Printed On ,Basılı,
+Printed On ,Basım tarihi,
 Projected qty,Öngörülen Adet,
 Sales person,Satış Personeli,
 Serial No {0} Created,Seri No {0} Oluşturuldu,
-Source Location is required for the Asset {0},{0} varlığına ait Kaynak Konumu gerekli,
+Source Location is required for the Asset {0},{0} varlığına ait Kaynak Bağlantısı gerekli,
 Tax Id,Vergi numarası,
-To Time,Zamana,
+To Time,Bitiş Zamanı,
 To date cannot be before from date,Tarihe Tarihten Önce olamaz,
 Total Taxable value,Toplam Vergilendirilebilir Değer,
 Upcoming Calendar Events ,Yaklaşan Takvim Olayları,
 Value or Qty,Değer Veya Adet,
 Variance ,Varyans,
-Variant of,Of Varyant,
+Variant of,Varyant,
 Write off,Şüpheli Alacak,
-hours,Saat,
-received from,Dan alındı,
-to,Şu kişiye,
+hours,saat,
+received from,Alındığı yer,
+to,Şu kişi,
 Cards,Kartlar,
 Percentage,Yüzde,
-Failed to setup defaults for country {0}. Please contact support@erpnext.com,{0} ülkesi için varsayılanlar ayarlanamadı. Lütfen support@erpnext.com ile iletişime geçin,
-Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Satır # {0}: {1} öğesi bir Seri / Toplu İş Öğesi değil. Seri No / Parti No&#39;ya karşı olamaz.,
-Please set {0},Lütfen {0} ayarlayınız,
-Please set {0},Lütfen {0} ayarlayın,supplier
-Draft,taslak,"docstatus,=,0"
-Cancelled,İptal edildi,"docstatus,=,2"
-Please setup Instructor Naming System in Education > Education Settings,Lütfen Eğitim&gt; Eğitim Ayarları bölümünde Eğitmen Adlandırma Sistemini kurun,
+Failed to setup defaults for country {0}. Please contact support@erpnext.com,{0} ülke için varsayılanlar ayarlanamadı. Lütfen support@erpnext.com ile iletişim geçin,
+Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Satır # {0}: {1} öğe bir Seri / Toplu İş Öğesi değil. Seri No / Parti No'ya karşı olamaz.,
+Please set {0},Lütfen {0} ayarınız,
+Please set {0},Lütfen {0} ayarlayın,
+Draft,Taslak,
+Cancelled,İptal edildi,
+Please setup Instructor Naming System in Education > Education Settings,Lütfen Eğitim&gt; Eğitim Yönetimi bölümü Eğitmen Adlandırma Sistemini kurun,
 Please set Naming Series for {0} via Setup > Settings > Naming Series,Lütfen Kurulum&gt; Ayarlar&gt; Adlandırma Serisi aracılığıyla {0} için Adlandırma Serisini ayarlayın,
-UOM Conversion factor ({0} -> {1}) not found for item: {2},{2} öğesi için UOM Dönüşüm faktörü ({0} -&gt; {1}) bulunamadı.,
+UOM Conversion factor ({0} -> {1}) not found for item: {2},{2} bileşeni için UOM Dönüşüm faktörü ({0} -&gt; {1}) bulunamadı.,
 Item Code > Item Group > Brand,Ürün Kodu&gt; Ürün Grubu&gt; Marka,
-Customer > Customer Group > Territory,Müşteri&gt; Müşteri Grubu&gt; Bölge,
-Supplier > Supplier Type,Tedarikçi&gt; Tedarikçi Türü,
-Please setup Employee Naming System in Human Resource > HR Settings,Lütfen İnsan Kaynakları&gt; İK Ayarları bölümünde Çalışan Adlandırma Sistemini kurun,
-Please setup numbering series for Attendance via Setup > Numbering Series,Lütfen Katılım&gt; Numaralandırma Serisi aracılığıyla Katılım için numaralandırma serilerini ayarlayın,
-The value of {0} differs between Items {1} and {2},"{0} değeri, Öğeler {1} ve {2} arasında farklılık gösterir",
-Auto Fetch,Otomatik Getirme,
-Fetch Serial Numbers based on FIFO,FIFO&#39;ya göre Seri Numaralarını getir,
+Customer > Customer Group > Territory,Müşteri&gt; Müşteri Grubu&gt; bölge,
+Supplier > Supplier Type,tedarikçi&gt; Tedarikçi Türü,
+Please setup Employee Naming System in Human Resource > HR Settings,Lütfen İnsan Kaynakları&gt; İK Yapılandırma bölümü Çalışan Adlandırma Sistemini kurun,
+Please setup numbering series for Attendance via Setup > Numbering Series,Lütfen Katılım&gt; Numaralandırma Serisi yoluyla Katılım için numaralandırma serilerini ayarlayın,
+The value of {0} differs between Items {1} and {2},"{0} değeri, Öğeler {1} ve {2} arasında gösterge gösterir",
+Auto Fetch,Otomatik Geliştirme,
+Fetch Serial Numbers based on FIFO,FIFO'ya göre Seri Numaralarını getir,
 "Outward taxable supplies(other than zero rated, nil rated and exempted)","Hariç vergiye tabi tedarikler (sıfır oranlı, sıfır oranlı ve muaf tutulmuş hariç)",
-"To allow different rates, disable the {0} checkbox in {1}.","Farklı oranlara izin vermek için, {1} içindeki {0} onay kutusunu devre dışı bırakın.",
+"To allow different rates, disable the {0} checkbox in {1}.","Farklı oranlara izin vermek için, {1} içinde {0} onayın devre dışı bırakılması.",
 Current Odometer Value should be greater than Last Odometer Value {0},"Mevcut Kilometre Sayacı Değeri, Son Yolölçer Değerinden büyük olmalıdır {0}",
 No additional expenses has been added,Hiçbir ek masraf eklenmedi,
-Asset{} {assets_link} created for {},{} İçin {assets_link} öğesi oluşturuldu,
-Row {}: Asset Naming Series is mandatory for the auto creation for item {},"Satır {}: Öğe Adlandırma Serisi, {} öğesinin otomatik oluşturulması için zorunludur",
-Assets not created for {0}. You will have to create asset manually.,{0} için varlıklar oluşturulmadı. Varlığı manuel olarak oluşturmanız gerekecektir.,
+Asset{} {assets_link} created for {},{} {assets_link} bileşenlerinin varlığı,
+Row {}: Asset Naming Series is mandatory for the auto creation for item {},"Satır {}: Öğe Adlandırma Serisi, {} öğelerin otomatik düzenleme için sunucular",
+Assets not created for {0}. You will have to create asset manually.,{0} için varlıklar oluşturulmadı. Varlığı manuel olarak oluşturmanız gerekir.,
 {0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,"{0} {1}, {3} şirketi için {2} para biriminde muhasebe girişlerine sahip. Lütfen para birimi {2} olan bir alacak veya borç hesabı seçin.",
-Invalid Account,Geçersiz hesap,
+Invalid Account,geçersiz hesap,
 Purchase Order Required,gerekli Satın alma Siparişi,
 Purchase Receipt Required,Gerekli Satın alma makbuzu,
 Account Missing,Hesap Eksik,
 Requested,Talep,
-Partially Paid,Kısmen ödenmiş,
+Partially Paid,Kısmen Ödendi,
 Invalid Account Currency,Geçersiz Hesap Para Birimi,
-"Row {0}: The item {1}, quantity must be positive number","Satır {0}: {1} öğesi, miktar pozitif sayı olmalıdır",
-"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.",Lütfen Gönderimde {2} &#39;yi ayarlamak için kullanılan Toplu Öğe {1} için {0} ayarlayın.,
-Expiry Date Mandatory,Son Kullanma Tarihi Zorunlu,
+"Row {0}: The item {1}, quantity must be positive number","Satır {0}: {1} öğe, miktar pozitif sayı olmalıdır",
+"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.",Lütfen Gönderimde {2} &#39;yi ayarlar için kullanılan Toplu Öğe {1} için {0} ayarlayın.,
+Expiry Date Mandatory,Son Kullanım Tarihi Zorunlu,
 Variant Item,Varyant Öğe,
-BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} ve BOM 2 {1} aynı olmamalıdır,
+BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} ve BOM 2 {1} aynı şekilde,
 Note: Item {0} added multiple times,Not: {0} öğesi birden çok kez eklendi,
 YouTube,Youtube,
 Vimeo,Vimeo,
 Publish Date,Yayın tarihi,
-Duration,süre,
+Duration,Süre,
 Advanced Settings,Gelişmiş Ayarlar,
-Path,yol,
+Path,Path,
 Components,Bileşenler,
 Verified By,Onaylayan Kişi,
-Invalid naming series (. missing) for {0},{0} için geçersiz adlandırma serisi (. Eksik),
+Invalid naming series (. missing) for {0},{0} için geçersiz tanımlayıcıma serisi (.Eksik),
 Filter Based On,Şuna Göre Filtrele,
 Reqd by date,Tarihe göre talep,
 Manufacturer Part Number <b>{0}</b> is invalid,Üretici Parça Numarası <b>{0}</b> geçersiz,
 Invalid Part Number,Geçersiz Parça Numarası,
-Select atleast one Social Media from Share on.,Share on&#39;dan en az bir Sosyal Medya seçin.,
+Select atleast one Social Media from Share on.,Share on en az bir Sosyal Medya Seçin.,
 Invalid Scheduled Time,Geçersiz Planlanmış Zaman,
-Length Must be less than 280.,Uzunluk 280&#39;den az olmalıdır.,
+Length Must be less than 280.,Uzunluk 280'den az olmalıdır.,
 Error while POSTING {0},{0} YAYINLANMA sırasında hata,
-"Session not valid, Do you want to login?","Oturum geçerli değil, Giriş yapmak istiyor musunuz?",
-Session Active,Oturum Etkin,
-Session Not Active. Save doc to login.,Oturum Etkin Değil. Giriş yapmak için dokümanı kaydedin.,
+"Session not valid, Do you want to login?","Oturum mevcut değil, Giriş yapmak istiyor musunuz?",
+Session Active,Oturum Etkinleştirme,
+Session Not Active. Save doc to login.,Oturum Etkin Değil. Giriş yapmak için belgeleri arşivleme.,
 Error! Failed to get request token.,Hata! İstek belirteci alınamadı.,
 Invalid {0} or {1},Geçersiz {0} veya {1},
 Error! Failed to get access token.,Hata! Erişim belirteci alınamadı.,
 Invalid Consumer Key or Consumer Secret Key,Geçersiz Tüketici Anahtarı veya Tüketici Gizli Anahtarı,
 Your Session will be expire in ,Oturumunuzun süresi içinde dolacak,
  days.,günler.,
-Session is expired. Save doc to login.,Oturumun süresi doldu. Giriş yapmak için dokümanı kaydedin.,
+Session is expired. Save doc to login.,Oturumun süresi doldu. Giriş yapmak için belgeleri arşivleme.,
 Error While Uploading Image,Görüntü Yüklenirken Hata,
 You Didn't have permission to access this API,Bu API&#39;ye erişim izniniz yoktu,
-Valid Upto date cannot be before Valid From date,"Geçerli Güncel tarih, Geçerlilik Başlangıç tarihinden önce olamaz",
+Valid Upto date cannot be before Valid From date,"Geçerli Güncel tarih, Geçerlilik Başlangıç kullanımından önce olamaz",
 Valid From date not in Fiscal Year {0},Geçerlilik Başlangıcı tarihi Mali Yıl değil {0},
-Valid Upto date not in Fiscal Year {0},Geçerli Tarih {0} Mali Yıl değil,
-Group Roll No,Grup Rulo Hayır,
-Maintain Same Rate Throughout Sales Cycle,Satış döngüsü boyunca aynı oranı koruyun,
+Valid Upto date not in Fiscal Year {0},Geçerlilik Tarih {0} Mali Yıl değil,
+Group Roll No,Grup Rulo No,
+Maintain Same Rate Throughout Sales Cycle,Satış Döngüsü Boyunca Aynı Oranı Koru,
 "Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Satır {1}: Miktar ({0}) kesir olamaz. Buna izin vermek için, UOM {3} &#39;de&#39; {2} &#39;devre dışı bırakın.",
 Must be Whole Number,Tam Numara olmalı,
-Please setup Razorpay Plan ID,Lütfen Razorpay Plan Kimliğini ayarlayın,
-Contact Creation Failed,Kişi Oluşturulamadı,
+Please setup Razorpay Plan ID,Lütfen Razorpay Plan Kimliğinizi ayarlayın,
+Contact Creation Failed,Kişi Oluşturamadı,
 {0} already exists for employee {1} and period {2},"{0}, {1} çalışanı ve {2} dönemi için zaten mevcut",
 Leaves Allocated,Ayrılan İzinler,
-Leaves Expired,Yaprakların Süresi Doldu,
-Leave Without Pay does not match with approved {} records,"Ödemesiz Bırak, onaylı {} kayıtlarıyla eşleşmiyor",
+Leaves Expired,Süresi Biten İzinler,
+Leave Without Pay does not match with approved {} records,"Ödemesiz bırakma, mahremiyetler {} kayıtlarıyla eşleşmiyor",
 Income Tax Slab not set in Salary Structure Assignment: {0},"Gelir Vergisi Levhası, Maaş Yapısı Atamasında belirlenmemiş: {0}",
 Income Tax Slab: {0} is disabled,Gelir Vergisi Levhası: {0} devre dışı bırakıldı,
 Income Tax Slab must be effective on or before Payroll Period Start Date: {0},"Gelir Vergisi Levhası, Bordro Dönemi Başlangıç Tarihi: {0}",
 No leave record found for employee {0} on {1},{1} tarihinde {0} çalışanı için izin kaydı bulunamadı,
 Row {0}: {1} is required in the expenses table to book an expense claim.,Satır {0}: Bir gider talebi rezerve etmek için gider tablosunda {1} gereklidir.,
-Set the default account for the {0} {1},{0} {1} için varsayılan hesabı ayarlayın,
+Set the default account for the {0} {1},{0} {1} için varsayılan hesap ayarı,
 (Half Day),(Yarım gün),
 Income Tax Slab,Gelir Vergisi Levhası,
-Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Satır # {0}: Vergilendirilebilir Maaşa Dayalı Değişkenle {1} Maaş Bileşeni için tutar veya formül ayarlanamaz,
-Row #{}: {} of {} should be {}. Please modify the account or select a different account.,"Satır # {}: {} / {}, {} olmalıdır. Lütfen hesabı değiştirin veya farklı bir hesap seçin.",
+Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Satır # {0}: Vergilendirilebilir Maaşa Dayali işletimle {1} Maaş Bileşeni için tutar veya formüller ayarlanamaz,
+Row #{}: {} of {} should be {}. Please modify the account or select a different account.,"Satır # {}: {} / {}, {} olmalıdır. Lütfen sahip olunan hesabı veya farklı bir hesap seçin.",
 Row #{}: Please asign task to a member.,Satır # {}: Lütfen bir üyeye görev atayın.,
 Process Failed,İşlem Başarısız,
 Tally Migration Error,Tally Taşıma Hatası,
-Please set Warehouse in Woocommerce Settings,Lütfen Warehouse&#39;u Woocommerce Ayarlarında ayarlayın,
+Please set Warehouse in Woocommerce Settings,Lütfen Warehouse&#39;u WooCommerce Ayarlarında ayarlayın,
 Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Satır {0}: Teslimat Deposu ({1}) ve Müşteri Deposu ({2}) aynı olamaz,
-Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Satır {0}: Ödeme Koşulları tablosundaki Son Tarih Kayıt Tarihinden önce olamaz,
+Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Satır {0}: Ödeme Tablolarındaki Son Tarih Kayıt Tarihinden önce olamaz,
 Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,{} Öğesi için {} bulunamıyor. Lütfen aynı öğeyi Ana Öğe veya Stok Ayarlarında ayarlayın.,
-Row #{0}: The batch {1} has already expired.,Satır # {0}: {1} grubunun süresi zaten doldu.,
-Start Year and End Year are mandatory,Başlangıç Yılı ve Bitiş Yılı zorunludur,
+Row #{0}: The batch {1} has already expired.,Satır # {0}: {1} grubu süresi zaten doldu.,
+Start Year and End Year are mandatory,Başlangıç Yılı ve Bitiş Yılı cezaları,
 GL Entry,GL Girdisi,
 Cannot allocate more than {0} against payment term {1},Ödeme şartına {1} karşı {0} &#39;den fazla tahsis edemezsiniz,
 The root account {0} must be a group,Kök hesap {0} bir grup olmalıdır,
-Shipping rule not applicable for country {0} in Shipping Address,Gönderim Adresindeki {0} ülkesi için gönderim kuralı geçerli değil,
-Get Payments from,Ödemeleri şuradan alın,
+Shipping rule not applicable for country {0} in Shipping Address,Gönderim Adresindeki {0} ülke için gönderi düzenlemesi geçerli değil,
+Get Payments from,Ödemeleri yaptırın alın,
 Set Shipping Address or Billing Address,Gönderim Adresini veya Fatura Adresini Ayarlayın,
 Consultation Setup,Danışma Kurulumu,
-Fee Validity,Ücret Geçerliği,
+Fee Validity,Ücret geçerliliği,
 Laboratory Setup,Laboratuvar Kurulumu,
-Dosage Form,Dozaj formu,
+Dosage Form,Dozaj formülü,
 Records and History,Kayıtlar ve Tarih,
 Patient Medical Record,Hasta Tıbbi Kayıt,
 Rehabilitation,Rehabilitasyon,
@@ -4392,32 +4392,32 @@
 Exercise Difficulty Level,Egzersiz Zorluk Seviyesi,
 Therapy Type,Tedavi Türü,
 Therapy Plan,Terapi Planı,
-Therapy Session,Terapi seansı,
+Therapy Session,Terapi Seansı,
 Motor Assessment Scale,Motor Değerlendirme Ölçeği,
 [Important] [ERPNext] Auto Reorder Errors,[Önemli] [ERPNext] Otomatik Yeniden Sıralama Hataları,
-"Regards,","Saygılarımızla,",
-The following {0} were created: {1},Aşağıdaki {0} oluşturuldu: {1},
+Regards,Saygılarımızla,
+The following {0} were created: {1},Aşağıdaki {0} eseri: {1},
 Work Orders,İş Emirleri,
-The {0} {1} created sucessfully,{0} {1} başarıyla oluşturuldu,
-Work Order cannot be created for following reason: <br> {0},İş Emri aşağıdaki nedenle oluşturulamaz:<br> {0},
-Add items in the Item Locations table,Öğe Konumları tablosuna öğe ekleyin,
-Update Current Stock,Mevcut Stoku Güncelle,
-"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Numuneyi Tutma seriye dayalıdır, öğenin örneğini saklamak için Parti Numarası Var&#39;ı işaretleyin",
+The {0} {1} created sucessfully,{0} {1} başarıyla kuruldu,
+Work Order cannot be created for following reason: <br> {0},İş Emri aşağıdaki neden oluşturulamaz:<br> {0},
+Add items in the Item Locations table,Öğe Konumları tablona öğe ekleyin,
+Update Current Stock,Mevcut Stok Güncelle,
+"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Numuneyi Tutma seriye dayalıdır, öğenin örneklemei koleksiyonu için Parti Numarası Var'ı takip etmek",
 Empty,Boş,
 Currently no stock available in any warehouse,Şu anda herhangi bir depoda stok yok,
-BOM Qty,BOM Adet,
+BOM Qty,ürün reçetesi adet,
 Time logs are required for {0} {1},{0} {1} için zaman günlükleri gereklidir,
 Total Completed Qty,Toplam Tamamlanan Miktar,
 Qty to Manufacture,Üretilecek Miktar,
-Repay From Salary can be selected only for term loans,Maaştan Geri Ödeme yalnızca vadeli krediler için seçilebilir,
+Repay From Salary can be selected only for term loans,Maaştan Geri Ödeme beklemek krediler için kullanmak,
 No valid Loan Security Price found for {0},{0} için geçerli bir Kredi Menkul Kıymet Fiyatı bulunamadı,
 Loan Account and Payment Account cannot be same,Kredi Hesabı ve Ödeme Hesabı aynı olamaz,
-Loan Security Pledge can only be created for secured loans,Kredi Teminat Rehni yalnızca teminatlı krediler için oluşturulabilir,
+Loan Security Pledge can only be created for secured loans,Kredi Teminat Rehni yalnızca garantili krediler için oluşturulabilir,
 Social Media Campaigns,Sosyal Medya Kampanyaları,
 From Date can not be greater than To Date,"Başlangıç Tarihi, Bitiş Tarihinden büyük olamaz",
-Please set a Customer linked to the Patient,Lütfen Hastaya bağlı bir Müşteri belirleyin,
+Please set a Customer linked to the Patient,Lütfen Hastaya bağlı bir müşteri seçtiği,
 Customer Not Found,Müşteri Bulunamadı,
-Please Configure Clinical Procedure Consumable Item in ,Lütfen Klinik Prosedür Sarf Malzemesini Yapılandırın,
+Please Configure Clinical Procedure Consumable Item in ,Lütfen Klinik vida Sarf Malzemesini Yapılandırın,
 Missing Configuration,Eksik Yapılandırma,
 Out Patient Consulting Charge Item,Out Hasta Danışmanlık Ücreti Öğesi,
 Inpatient Visit Charge Item,Yatan Hasta Ziyaret Ücreti,
@@ -4428,82 +4428,82 @@
 Collection Details: ,Koleksiyon Ayrıntıları:,
 {0} out of {1},{0} / {1},
 Select Therapy Type,Tedavi Türünü Seçin,
-{0} sessions completed,{0} oturum tamamlandı,
-{0} session completed,{0} oturum tamamlandı,
+{0} sessions completed,{0} imzalama tamamlandı,
+{0} session completed,{0} imzalama tamamlandı,
  out of {0},{0} üzerinden,
-Therapy Sessions,Terapi Seansları,
+Therapy Sessions,Terapi Seanları,
 Add Exercise Step,Egzersiz Adımı Ekle,
 Edit Exercise Step,Egzersiz Adımını Düzenleyin,
 Patient Appointments,Hasta Randevuları,
 Item with Item Code {0} already exists,Öğe Kodu {0} olan öğe zaten var,
 Registration Fee cannot be negative or zero,Kayıt Ücreti negatif veya sıfır olamaz,
-Configure a service Item for {0},{0} için bir hizmet Öğesi yapılandırın,
+Configure a service Item for {0},{0} için bir hizmet Öğesi yapılandırmanın,
 Temperature: ,Sıcaklık:,
-Pulse: ,Nabız:,
-Respiratory Rate: ,Solunum hızı:,
+Pulse: ,Nabiz:,
+Respiratory Rate: ,solunum hızı:,
 BP: ,BP:,
 BMI: ,BMI:,
-Note: ,Not:,
-Check Availability,Uygunluğu kontrol et,
+Note: ,Olumsuz:,
+Check Availability,Uygunluk kontrol et,
 Please select Patient first,Lütfen önce Hastayı seçin,
 Please select a Mode of Payment first,Lütfen önce bir Ödeme Modu seçin,
-Please set the Paid Amount first,Lütfen önce Ödenen Tutarı ayarlayın,
+Please set the Paid Amount first,Lütfen önce Ödenen Tutarı ayarı,
 Not Therapies Prescribed,Reçetesiz Terapiler,
 There are no Therapies prescribed for Patient {0},Hasta için reçete edilmiş hiçbir Terapi yoktur {0},
 Appointment date and Healthcare Practitioner are Mandatory,Randevu tarihi ve Sağlık Hekimi Zorunludur,
-No Prescribed Procedures found for the selected Patient,Seçilen Hasta için Reçeteli Prosedür bulunamadı,
+No Prescribed Procedures found for the selected Patient,Seçilen Hasta için Reçeteli bulunmaması,
 Please select a Patient first,Lütfen önce bir Hasta seçin,
-There are no procedure prescribed for ,Herhangi bir prosedür yoktur.,
+There are no procedure prescribed for ,Herhangi bir cerrahi yoktur.,
 Prescribed Therapies,Reçeteli Tedaviler,
-Appointment overlaps with ,Randevu şununla çakışıyor:,
-{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,"{0}, {1} ile {2} için {3} dakika süreli randevu planladı.",
-Appointments Overlapping,Çakışan Randevular,
+Appointment overlaps with ,Randevu şununla sınırlıyor:,
+{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,"{0}, {1} ile {2} için {3} dakikayı misafir etmeyi planladı.",
+Appointments Overlapping,Çakışan Randevüleri,
 Consulting Charges: {0},Danışmanlık Masrafları: {0},
-Appointment Cancelled. Please review and cancel the invoice {0},Randevu İptal Edildi. Lütfen faturayı inceleyin ve iptal edin {0},
+Appointment Cancelled. Please review and cancel the invoice {0},Randevu İptal Edildi. Lütfen faturayı talep edin ve iptal edin {0},
 Appointment Cancelled.,Randevu İptal Edildi.,
-Fee Validity {0} updated.,Ücret Geçerliliği {0} güncellendi.,
+Fee Validity {0} updated.,Ücret yaptırımı {0} güncellendi.,
 Practitioner Schedule Not Found,Uygulayıcı Programı Bulunamadı,
 {0} is on a Half day Leave on {1},"{0}, {1} Yarım Gün İzinde",
 {0} is on Leave on {1},"{0}, {1} tarihinde Ayrılmada",
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} bir Sağlık Hizmetleri Uygulayıcı Programı&#39;na sahip değil. Sağlık Uzmanına Ekle,
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} bir Sağlık Hizmetleri Uygulayıcı Programına sahip değil. Sağlık Uzmanına Ekle,
 Healthcare Service Units,Sağlık Hizmet Birimleri,
 Complete and Consume,Tamamla ve Tüket,
 Complete {0} and Consume Stock?,{0} Tamamlanıp Stok Tüketilsin mi?,
 Complete {0}?,{0} tamamlandı mı?,
-Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Prosedürü başlatacak stok miktarı Depo {0} &#39;da mevcut değil. Bir Stok Girişi kaydetmek istiyor musunuz?,
+Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,idamü başlatacak stok miktarı Depo {0} &#39;da mevcut değil. Bir Stok Hareketi istiyor musunuz?,
 {0} as on {1},"{0}, {1}",
-Clinical Procedure ({0}):,Klinik Prosedür ({0}):,
+Clinical Procedure ({0}):,Klinik çevre ({0}):,
 Please set Customer in Patient {0},Lütfen Müşteriyi Hasta olarak ayarlayın {0},
-Item {0} is not active,{0} öğesi aktif değil,
-Therapy Plan {0} created successfully.,Tedavi Planı {0} başarıyla oluşturuldu.,
-Symptoms: ,Belirtiler:,
+Item {0} is not active,{0} varlık aktif değil,
+Therapy Plan {0} created successfully.,Tedavi Planı {0} başarıyla kuruldu.,
+Symptoms: ,birlikte olmak:,
 No Symptoms,Belirti Yok,
 Diagnosis: ,Teşhis:,
 No Diagnosis,Tanı Yok,
 Drug(s) Prescribed.,Reçeteli İlaç (lar).,
-Test(s) Prescribed.,Test (ler) Önerilen.,
-Procedure(s) Prescribed.,Öngörülen prosedür (ler).,
+Test(s) Prescribed.,Test (ler) önerilebilir.,
+Procedure(s) Prescribed.,Öngörülen işlemler (ler).,
 Counts Completed: {0},Tamamlanan Sayımlar: {0},
 Patient Assessment,Hasta değerlendirmesi,
-Assessments,Değerlendirmeler,
-Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kafaları (veya gruplar) kendisine karşı Muhasebe Girişler yapılır ve dengeler korunur.,
-Account Name,Hesap adı,
+Assessments,değerlendirmeler,
+Heads (or groups) against which Accounting Entries are made and balances are maintained.,Kafaları (veya grupları) kendisine karşı Muhasebe Girişleri yapılır ve bilançoları korunur.,
+Account Name,Hesap Adı,
 Inter Company Account,Şirket Hesabı,
 Parent Account,Ana Hesap,
-Setting Account Type helps in selecting this Account in transactions.,Hesap Türünü ayarlamak işlemlerde bu hesabı seçeren yardımcı olur,
-Chargeable,Ücretli,
-Rate at which this tax is applied,Vergi uygulanma oranı,
+Setting Account Type helps in selecting this Account in transactions.,Hesap Türünü ayarlar işlemlerinde bu hesabın kullanımıen yardımcı olur,
+Chargeable,ücretli,
+Rate at which this tax is applied,Vergi uygulama oranı,
 Frozen,Dondurulmuş,
-"If the account is frozen, entries are allowed to restricted users.","Hesap dondurulmuş ise, girdiler kısıtlı kullanıcılara açıktır.",
-Balance must be,Bakiye şu olmalıdır,
+"If the account is frozen, entries are allowed to restricted users.","Hesap donmuşsa, girilenler zorla açılır.",
+Balance must be,Bakiye şu olmalı,
 Lft,Lft,
-Rgt,Rgt,
-Old Parent,Eski Ebeveyn,
+Rgt,sağ,
+Old Parent,Eski yapı,
 Include in gross,Brüt dahil,
 Auditor,Denetçi,
 Accounting Dimension,Muhasebe Boyutu,
-Dimension Name,Boyut adı,
-Dimension Defaults,Boyut Varsayılanları,
+Dimension Name,boyut adı,
+Dimension Defaults,Boyut varsayılanları,
 Accounting Dimension Detail,Muhasebe Boyut Detayı,
 Default Dimension,Varsayılan Boyut,
 Mandatory For Balance Sheet,Bilanço Zorunlu,
@@ -4511,118 +4511,118 @@
 Accounting Period,Muhasebe Dönemi,
 Period Name,Dönem Adı,
 Closed Documents,Kapalı Belgeler,
-Accounts Settings,Hesap ayarları,
+Accounts Settings,Hesap Ayarları,
 Settings for Accounts,Hesaplar için Ayarlar,
-Make Accounting Entry For Every Stock Movement,Her Stok Hareketi için Muhasebe kaydı oluştur,
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Bu role sahip kullanıcıların dondurulmuş hesapları ayarlama ve dondurulmuş hesaplara karşı muhasebe girdileri oluşturma/düzenleme yetkileri vardır,
+Make Accounting Entry For Every Stock Movement,Her Stok Hareketi için Muhasebe kaydı oluşturun,
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Bu rol sahibi kullanıcıların şifreli hesapları düzenleme ve şifrelenmiş hesaplara karşı muhasebe girdileri oluşturma/düzenleme yetkileri vardır,
 Determine Address Tax Category From,Adres Vergi Kategorisini Kimden Belirle,
 Over Billing Allowance (%),Fazla Fatura Ödeneği (%),
 Credit Controller,Kredi Kontrolü,
-Check Supplier Invoice Number Uniqueness,Benzersiz Tedarikçi Fatura Numarasını Kontrol Edin,
-Make Payment via Journal Entry,Dergi Giriş aracılığıyla Ödeme Yap,
-Unlink Payment on Cancellation of Invoice,Fatura İptaline İlişkin Ödeme bağlantısını kaldır,
-Book Asset Depreciation Entry Automatically,Varlık Amortisman Kayıtını Otomatik Olarak Kaydedin,
+Check Supplier Invoice Number Uniqueness,Kullanıcı tedarikçisi Fatura Numarasını Kontrol Edin,
+Make Payment via Journal Entry,Devmiye Kayıtları yoluyla Ödeme Yap,
+Unlink Payment on Cancellation of Invoice,Fatura İptaline İlişkin Ödeme süresini kaldır,
+Book Asset Depreciation Entry Automatically,Varlık Amortisman Kaydı Otomatik Olarak Kaydedin,
 Automatically Add Taxes and Charges from Item Tax Template,Öğe Vergisi Şablonundan Otomatik Olarak Vergi ve Masraf Ekleme,
-Automatically Fetch Payment Terms,Ödeme Koşullarını Otomatik Olarak Al,
-Show Payment Schedule in Print,Ödeme Programını Baskıda Göster,
-Currency Exchange Settings,Döviz Kurları Ayarları,
+Automatically Fetch Payment Terms,Ödeme Şifrelerini Otomatik Olarak Al,
+Show Payment Schedule in Print,Ödeme Programının Baskıda Göster,
+Currency Exchange Settings,Döviz Kuru Ayarları,
 Allow Stale Exchange Rates,Eski Döviz Kurlarına İzin Ver,
-Stale Days,Bayat günler,
+Stale Days,Eski Günler,
 Report Settings,Rapor Ayarları,
 Use Custom Cash Flow Format,Özel Nakit Akışı Biçimini Kullan,
-Allowed To Transact With,İle Taşınmaya İzin Verildi,
+Allowed To Transact With,İle İşlem Yapmaya İzin Verildi,
 SWIFT number,SWIFT numarası,
 Branch Code,Şube Kodu,
 Address and Contact,Adresler ve Kontaklar,
-Address HTML,Adres HTML,
-Contact HTML,İletişim HTML,
+Address HTML,Adres HTML'si,
+Contact HTML,İletişim HTML'si,
 Data Import Configuration,Veri Alma Yapılandırması,
 Bank Transaction Mapping,Banka İşlem Haritalaması,
 Plaid Access Token,Ekose Erişim Simgesi,
-Company Account,Şirket hesabı,
-Account Subtype,Hesap Türü,
-Is Default Account,Varsayılan Hesap,
+Company Account,Şirket Hesabı,
+Account Subtype,Hesap Alt Türü,
+Is Default Account,Varsayılan Hesap mı,
 Is Company Account,Şirket Hesabı mı,
-Party Details,Parti Detayları,
+Party Details,Cari Detayları,
 Account Details,Hesap Detayları,
 IBAN,IBAN,
-Bank Account No,Banka hesap numarası,
+Bank Account No,Banka Hesap No,
 Integration Details,Entegrasyon Detayları,
-Integration ID,Entegrasyon kimliği,
+Integration ID,Entegrasyon ID,
 Last Integration Date,Son Entegrasyon Tarihi,
-Change this date manually to setup the next synchronization start date,Bir sonraki senkronizasyon başlangıç tarihini ayarlamak için bu tarihi el ile değiştirin.,
-Mask,maskelemek,
+Change this date manually to setup the next synchronization start date,BBir sonraki senkronizasyon başlangıç tarihini ayarlamak için bu tarihi manuel olarak değiştirin.,
+Mask,Maskele,
 Bank Account Subtype,Banka Hesabı Alt Türü,
 Bank Account Type,Banka Hesap Türü,
 Bank Guarantee,Banka Garantisi,
 Bank Guarantee Type,Banka Garanti Türü,
-Receiving,kabul,
+Receiving,Alınıyor (mal kabul),
 Providing,Sağlama,
-Reference Document Name,Referans Doküman Adı,
-Validity in Days,Gün İçinde Geçerlilik,
-Bank Account Info,Banka Hesap Bilgileri,
+Reference Document Name,Referans Döküman Adı,
+Validity in Days,Geçerlilik Gün olarak,
+Bank Account Info,Banka Hesap Bilgisi,
 Clauses and Conditions,Şartlar ve Koşullar,
-Other Details,Diğer detaylar,
+Other Details,Diğer Ayrıntılar,
 Bank Guarantee Number,Banka Garanti Numarası,
 Name of Beneficiary,Yararlanıcının Adı,
-Margin Money,Marj Parası,
+Margin Money,Marj Para,
 Charges Incurred,Yapılan Ücretler,
 Fixed Deposit Number,Sabit Mevduat Numarası,
 Account Currency,Hesabın Döviz Cinsi,
-Select the Bank Account to reconcile.,Mutabakata varılacak Banka Hesabını seçin.,
+Select the Bank Account to reconcile.,Mutabakata var olacak Banka Hesabını Seçin.,
 Include Reconciled Entries,Mutabık girdileri dahil edin,
-Get Payment Entries,Ödeme Girişleri alın,
-Payment Entries,Ödeme Girişler,
-Update Clearance Date,Güncelleme Alma Tarihi,
+Get Payment Entries,Ödeme Girişleri alınsın,
+Payment Entries,Ödeme Girişleri,
+Update Clearance Date,Temizleme Tarihini Güncelle,
 Bank Reconciliation Detail,Banka Mutabakat Ayrıntısı,
 Cheque Number,Çek Numarası,
 Cheque Date,Çek Tarih,
 Statement Header Mapping,Deyim Üstbilgisi Eşlemesi,
 Statement Headers,Bildirim Başlıkları,
 Transaction Data Mapping,İşlem Verileri Eşlemesi,
-Mapped Items,Eşlenmiş Öğeler,
-Bank Statement Settings Item,Banka ekstresi ayar öğesi,
+Mapped Items,Eşleştirilmiş Öğeler,
+Bank Statement Settings Item,Banka Ekstrem ayar öğesi,
 Mapped Header,Eşlenen Üstbilgi,
 Bank Header,Banka Başlığı,
 Bank Statement Transaction Entry,Banka ekstresi işlem girişi,
 Bank Transaction Entries,Banka İşlem Girişleri,
 New Transactions,Yeni İşlemler,
 Match Transaction to Invoices,İşlemlerin Faturalara Eşleştirilmesi,
-Create New Payment/Journal Entry,Yeni Ödeme Oluştur / Günlük Girişi,
+Create New Payment/Journal Entry,Yeni Ödeme / Yevmiye Kaydı Oluştur,
 Submit/Reconcile Payments,Ödemeleri Gönderme / Mutabakat,
 Matching Invoices,Eşleşen Faturalar,
 Payment Invoice Items,Ödeme Faturası Öğeleri,
 Reconciled Transactions,Mutabık Kılınan İşlemler,
-Bank Statement Transaction Invoice Item,Banka ekstresi İşlem Fatura Öğesi,
+Bank Statement Transaction Invoice Item,Banka Ekstrem İşlem Fatura Öğesi,
 Payment Description,Ödeme Açıklaması,
 Invoice Date,Fatura Tarihi,
-invoice,fatura,
+invoice,Fatura,
 Bank Statement Transaction Payment Item,Banka ekstresi işlem ödeme kalemi,
 outstanding_amount,outstanding_amount,
-Payment Reference,Ödeme referansı,
-Bank Statement Transaction Settings Item,Banka ekstresi işlem ayarları öğesi,
-Bank Data,Banka Verileri,
+Payment Reference,Ödeme Referansı,
+Bank Statement Transaction Settings Item,Banka ekstresi işlem ayarları özelliği,
+Bank Data,Banka Verisi,
 Mapped Data Type,Eşlenen Veri Türü,
 Mapped Data,Eşlenmiş Veri,
-Bank Transaction,Banka işlemi,
+Bank Transaction,banka işlemi,
 ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
 Transaction ID,İşlem Kimliği,
-Unallocated Amount,ayrılmamış Tutar,
+Unallocated Amount,Ayrılmamış Tutar,
 Field in Bank Transaction,Banka İşlemindeki Alan,
-Column in Bank File,Banka Dosyasındaki Sütun,
+Column in Bank File,Banka Dosyasındaki Sütün,
 Bank Transaction Payments,Banka İşlem Ödemeleri,
-Control Action,Kontrol eylem,
+Control Action,Kontrol İşlemi,
 Applicable on Material Request,Malzeme Talebi Uygulanabilir,
-Action if Annual Budget Exceeded on MR,MR üzerinde Yıllık Bütçe Aşıldıysa Eylem,
-Warn,Uyarmak,
+Action if Annual Budget Exceeded on MR,MR Üzerinde Yıllık Bütçe Aşıldıysa Eylem,
+Warn,Uyar,
 Ignore,Yoksay,
-Action if Accumulated Monthly Budget Exceeded on MR,MR Üzerinde Aylık Bütçe Aşıldıysa Yapılacak İşlem,
-Applicable on Purchase Order,Satınalma Siparişinde Geçerli,
+Action if Accumulated Monthly Budget Exceeded on MR,MR Üzerinde Aylık Bütçe Aşıldıysa İşlemleri,
+Applicable on Purchase Order,Satınalma Siparişinde Geçerlilik,
 Action if Annual Budget Exceeded on PO,Yıllık Bütçe Bütçesi Aşıldıysa Eylem,
 Action if Accumulated Monthly Budget Exceeded on PO,Birikmiş Aylık Bütçe Bütçesi Aşıldıysa Eylem,
 Applicable on booking actual expenses,Fiili masraflar için geçerlidir,
 Action if Annual Budget Exceeded on Actual,Yıllık Bütçe Gerçekleşen Durumunda Aşıldıysa Eylem,
-Action if Accumulated Monthly Budget Exceeded on Actual,"Gerçekleşen, Aylık Bütçeyi Aşdıysa Yapılacak İşlem",
+Action if Accumulated Monthly Budget Exceeded on Actual,"Gerçekleşen, Aylık Bütçeyi Aşdıysa İşlemleri",
 Budget Accounts,Bütçe Hesapları,
 Budget Account,Bütçe Hesabı,
 Budget Amount,Bütçe Miktarı,
@@ -4632,107 +4632,107 @@
 Received Date,Alınan Tarih,
 Quarter,Çeyrek,
 I,ben,
-II,II,
+II,III,
 III,III,
 IV,IV,
 C-Form Invoice Detail,C-Form Fatura Ayrıntısı,
 Invoice No,Fatura No,
 Cash Flow Mapper,Nakit Akışı Eşleştiricisi,
-Section Name,Bölüm adı,
-Section Header,Bölüm başlığı,
+Section Name,Bölüm Adı,
+Section Header,Bölüm Başlığı,
 Section Leader,Bölüm Lideri,
-e.g Adjustments for:,örneğin için ayarlamalar:,
+e.g Adjustments for:,örn. Şunun için Ayarlamalar:,
 Section Subtotal,Bölüm Toplamı,
 Section Footer,Bölüm Altbilgisi,
-Position,pozisyon,
+Position,Pozisyon,
 Cash Flow Mapping,Nakit Akışı Eşleme,
-Select Maximum Of 1,Maksimum 1&#39;i seçin,
+Select Maximum Of 1,Maksimum 1'i seçin,
 Is Finance Cost,Mali Maliyet mi,
 Is Working Capital,İşletme Sermayesi mi,
 Is Finance Cost Adjustment,Mali Maliyet Ayarı Var mı,
 Is Income Tax Liability,Gelir Vergisi Yükümlülüğü Var mı,
 Is Income Tax Expense,Gelir Vergisi Gideridir?,
 Cash Flow Mapping Accounts,Nakit Akışı Eşleme Hesapları,
-account,Hesap,
+account,hesap,
 Cash Flow Mapping Template,Nakit Akışı Eşleme Şablonu,
 Cash Flow Mapping Template Details,Nakit Akışı Eşleme Şablonu Ayrıntıları,
 POS-CLO-,POS-ClO-,
-Custody,gözaltı,
+Custody,göz altı,
 Net Amount,Net Miktar,
 Cashier Closing Payments,Kasiyer Ödemeleri Kapatma,
-Chart of Accounts Importer,Hesap Planı İthalatçısı,
-Import Chart of Accounts from a csv file,Bir csv dosyasından Hesap Planını İçe Aktar,
+Chart of Accounts Importer,Hesap Planı İçe Aktarıcı,
+Import Chart of Accounts from a csv file,Bir csv uzantısından Hesap Planını İçe Aktar,
 Attach custom Chart of Accounts file,Özel Hesap Planı dosyasını ekleyin,
 Chart Preview,Grafik Önizlemesi,
 Chart Tree,Grafik Ağacı,
-Cheque Print Template,Çek Baskı Şablon,
+Cheque Print Template,Çek Baskı Şablonu,
 Has Print Format,Baskı Biçimi vardır,
-Primary Settings,İlköğretim Ayarlar,
-Cheque Size,Çek Boyutu,
+Primary Settings,Primary Ayarları,
+Cheque Size,Çek Boyut,
 Regular,Düzenli,
 Starting position from top edge,üst kenardan başlama pozisyonu,
 Cheque Width,Çek Genişliği,
 Cheque Height,Çek Yükseklik,
-Scanned Cheque,taranan Çek,
+Scanned Cheque,taranan çek,
 Is Account Payable,Ödenecek Hesap mı,
-Distance from top edge,üst kenarından uzaklık,
-Distance from left edge,sol kenarından olan uzaklık,
-Message to show,Mesaj göstermek,
+Distance from top edge,Üst geçidin uzaklık,
+Distance from left edge,Sol üstte olan uzaklık,
+Message to show,Mesaj gösteriyor,
 Date Settings,Tarih Ayarları,
-Starting location from left edge,sol kenarından yerini başlayan,
-Payer Settings,ödeyici Ayarları,
-Width of amount in word,kelime miktarın Genişliği,
-Line spacing for amount in words,sözleriyle miktarı için satır aralığı,
-Amount In Figure,Miktar (Figür),
-Signatory Position,İmzacı pozisyonu,
-Closed Document,Kapalı belge,
-Track separate Income and Expense for product verticals or divisions.,Ayrı Gelir izlemek ve ürün dikey veya bölümler için Gider.,
+Starting location from left edge,sol üstünün yeri başlıyor,
+Payer Settings,Ödeyici Ayarları,
+Width of amount in word,Yazıyla tutarın genişliği,
+Line spacing for amount in words,sözleriyle yoğunluk için satır aralığı,
+Amount In Figure,Miktar (Şekil),
+Signatory Position,İmzacı Pozisyonu,
+Closed Document,Kapalı Belge,
+Track separate Income and Expense for product verticals or divisions.,Ayrı Gelir izlemek ve ürün dikey veya bölüm için Gider.,
 Cost Center Name,Maliyet Merkezi Adı,
 Parent Cost Center,Ana Maliyet Merkezi,
 lft,lft,
 rgt,rgt,
 Coupon Code,Kupon Kodu,
 Coupon Name,Kupon Adı,
-"e.g. ""Summer Holiday 2019 Offer 20""",ör. &quot;Yaz Tatili 2019 Teklifi 20&quot;,
+"e.g. ""Summer Holiday 2019 Offer 20""",veya. &quot;Yaz Tatili 2019 Teklifi 20&quot;,
 Coupon Type,Kupon Türü,
-Promotional,Promosyon,
-Gift Card,Hediye kartı,
-unique e.g. SAVE20  To be used to get discount,benzersiz örneğin SAVE20 İndirim almak için kullanılacak,
-Validity and Usage,Geçerlilik ve Kullanım,
-Valid From,Kadar geçerli,
-Valid Upto,Şimdiye Kadar Geçerli,
+Promotional,tanıtım,
+Gift Card,hediye kartı,
+unique e.g. SAVE20  To be used to get discount,Örnek örnekleme SAVE20 İndirim almak için kullanmak,
+Validity and Usage,Kullanım ve Kullanım,
+Valid From,Başlangıç Tarihi,
+Valid Upto,Şu tarihe kadar geçerli,
 Maximum Use,Maksimum kullanım,
 Used,Kullanılmış,
-Coupon Description,Kupon açıklaması,
+Coupon Description,Kupon çevirisi,
 Discounted Invoice,İndirimli Fatura,
-Debit to,Borç,
+Debit to,Şuraya borçlandır,
 Exchange Rate Revaluation,Döviz Kuru Yeniden Değerleme,
 Get Entries,Girişleri Alın,
 Exchange Rate Revaluation Account,Döviz Kuru Yeniden Değerleme Hesabı,
 Total Gain/Loss,Toplam Kazanç / Zarar,
-Balance In Account Currency,Hesap Para Birimi Dengesi,
+Balance In Account Currency,Hesap Döviz Bakiyesi,
 Current Exchange Rate,Mevcut Döviz Kuru,
-Balance In Base Currency,Temel Para Birimi Dengesi,
+Balance In Base Currency,Temel Para Birimi Bakiyesi,
 New Exchange Rate,Yeni Döviz Kuru,
-New Balance In Base Currency,Baz Dövizinde Yeni Bakiye,
+New Balance In Base Currency,Temel Dövizde Yeni Bakiye,
 Gain/Loss,Kazanç / Kayıp,
 **Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Mali Yılı ** Mali Yılı temsil eder. Tüm muhasebe kayıtları ve diğer önemli işlemler ** ** Mali Yılı karşı izlenir.,
-Year Name,Yıl Adı,
+Year Name,yıl adı,
 "For e.g. 2012, 2012-13","Örneğin 2012 için, 2012-13",
 Year Start Date,Yıl Başlangıç Tarihi,
 Year End Date,Yıl Bitiş Tarihi,
 Companies,Şirketler,
-Auto Created,Otomatik Oluşturuldu,
-Stock User,Hisse Senedi Kullanıcı,
+Auto Created,Otomatik Yapılandırıldı,
+Stock User,Hisse Senedi Kullanıcısı,
 Fiscal Year Company,Mali Yıl Şirketi,
 Debit Amount,Borç Tutarı,
-Credit Amount,Kredi miktarı,
-Debit Amount in Account Currency,Hesap Para Bankamatik Tutar,
+Credit Amount,Kredi Tutarı,
+Debit Amount in Account Currency,Hesap Para Bankamatik Tutarı,
 Credit Amount in Account Currency,Hesap Para Birimi Kredi Tutarı,
 Voucher Detail No,Föy Detay no,
-Is Opening,Açılır,
-Is Advance,Avans,
-To Rename,Yeniden adlandırmak için,
+Is Opening,Açılış mı,
+Is Advance,Avans mı,
+To Rename,Yeniden Adlandırılacak,
 GST Account,GST Hesabı,
 CGST Account,CGST Hesabı,
 SGST Account,SGST Hesabı,
@@ -4748,71 +4748,71 @@
 Accounts Receivable Discounted Account,Alacak Hesapları,
 Accounts Receivable Unpaid Account,Alacaksız Alacak Hesabı,
 Item Tax Template,Öğe Vergisi Şablonu,
-Tax Rates,Vergi oranları,
+Tax Rates,Vergi Oranları,
 Item Tax Template Detail,Öğe Vergisi Şablon Ayrıntısı,
-Entry Type,Girdi Türü,
-Inter Company Journal Entry,Inter Şirket Dergisi Giriş,
-Bank Entry,Banka Girişi,
-Cash Entry,Nakit Girişi,
-Credit Card Entry,Kredi Kartı Girişi,
-Contra Entry,Hesaba Alacak Girişi,
-Excise Entry,Tüketim Girişi,
-Write Off Entry,Şüpheli Alacak Girdisi,
-Opening Entry,Açılış Girdisi,
+Entry Type,Kayıt Türü,
+Inter Company Journal Entry,Inter Şirket Yevmiye Kaydı,
+Bank Entry,Banka Kaydı,
+Cash Entry,Nakit Kaydı,
+Credit Card Entry,Kredi Kartı Kaydı,
+Contra Entry,Ters Kayıt,
+Excise Entry,Tüketim Kaydı,
+Write Off Entry,Şüpheli Alacak Kaydı,
+Opening Entry,Açılış Kaydı,
 ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
-Accounting Entries,Muhasebe Girişler,
+Accounting Entries,Muhasebe Kayıtları,
 Total Debit,Toplam Borç,
-Total Credit,Toplam Kredi,
+Total Credit,Toplam Alacak,
 Difference (Dr - Cr),Fark (Dr - Cr),
-Make Difference Entry,Fark Girişi yapın,
+Make Difference Entry,Fark Kaydı Yao,
 Total Amount Currency,Toplam Tutar Para Birimi,
-Total Amount in Words,Sözlü Toplam Tutar,
+Total Amount in Words,Yazıyla Toplam Tutar,
 Remark,Dikkat,
-Paid Loan,Ücretli Kredi,
-Inter Company Journal Entry Reference,Inter Şirket Dergisi Giriş Referansı,
-Write Off Based On,Dayalı Borç Silme,
-Get Outstanding Invoices,Bekleyen Faturaları alın,
-Write Off Amount,Yazma Miktarı,
+Paid Loan,Ödenen Kredi,
+Inter Company Journal Entry Reference,Şirket içi Yevmiye Kaydı Referansı,
+Write Off Based On,Dayalı Borç Sil,
+Get Outstanding Invoices,Bekleyen Faturaları Al,
+Write Off Amount,Tutarı Sil,
 Printing Settings,Baskı Ayarları,
 Pay To / Recd From,Gönderen/Alınan,
-Payment Order,Ödeme talimatı,
+Payment Order,Ödeme Emri,
 Subscription Section,Abonelik Bölümü,
-Journal Entry Account,Kayıt Girdisi Hesabı,
+Journal Entry Account,Yevmiye Kaydı Hesabı,
 Account Balance,Hesap Bakiyesi,
-Party Balance,Parti Dengesi,
+Party Balance,Cari Bakiyesi,
 Accounting Dimensions,Muhasebe Boyutları,
 If Income or Expense,Gelir veya Gider ise,
 Exchange Rate,Döviz Kuru,
-Debit in Company Currency,Şirket Para Birimi Bankamatik,
-Credit in Company Currency,Şirket Para Kredi,
+Debit in Company Currency,Şirket Para Biriminde Borç,
+Credit in Company Currency,Şirket Para Biriminde Alacak,
 Payroll Entry,Bordro Girişi,
 Employee Advance,Çalışan Avansı,
 Reference Due Date,Referans Sona Erme Tarihi,
-Loyalty Program Tier,Sadakat Programı Katmanı,
-Redeem Against,Karşı Kullanılan,
-Expiry Date,Son kullanma tarihi,
-Loyalty Point Entry Redemption,Sadakat Nokta Giriş Redemption,
-Redemption Date,Kefalet Tarihi,
-Redeemed Points,İtfa Edilen Puanlar,
-Loyalty Program Name,Bağlılık Programı Adı,
-Loyalty Program Type,Bağlılık Programı Türü,
-Single Tier Program,Tek Katmanlı Program,
+Loyalty Program Tier,Sadakat Katmanı Programı,
+Redeem Against,Karşı Kullan,
+Expiry Date,Son Kullanım Tarihi,
+Loyalty Point Entry Redemption,Sadakat Nokta Giriş İtfa,
+Redemption Date,Kullanım Tarihi,
+Redeemed Points,Kullanılan Puanlar,
+Loyalty Program Name,Sadakat Programı Adı,
+Loyalty Program Type,Sadakat Programı Türü,
+Single Tier Program,Tek Katmanlı Programı,
 Multiple Tier Program,Çok Katmanlı Program,
-Customer Territory,Müşteri bölge,
-Auto Opt In (For all customers),Otomatik Opt In (tüm müşteriler için),
+Customer Territory,müşteri bölgesi,
+Auto Opt In (For all customers),Otomatik Opt In (tüm kullanım için),
 Collection Tier,Koleksiyon Katmanı,
 Collection Rules,Koleksiyon Kuralları,
-Redemption,ödeme,
+Redemption,Kullanım,
 Conversion Factor,Katsayı,
 1 Loyalty Points = How much base currency?,1 Sadakat Puanı = Ne kadar para birimi?,
 Expiry Duration (in days),Sona Erme Süresi (gün içinde),
 Help Section,Yardım Bölümü,
-Loyalty Program Help,Bağlılık Programı Yardımı,
+Loyalty Program Help,Sadakat Programı Yardımı,
 Loyalty Program Collection,Sadakat Programı Koleksiyonu,
 Tier Name,Katman Adı,
 Minimum Total Spent,Minimum Toplam Harcama,
 Collection Factor (=1 LP),Toplama Faktörü (= 1 LP),
-For how much spent = 1 Loyalty Point,Ne kadar harcadı = 1 Sadakat Noktası,
+For how much spent = 1 Loyalty Point,Ne kadar kaldı = 1 Sadakat Noktası,
 Mode of Payment Account,Ödeme Şekli Hesabı,
 Default Account,Varsayılan Hesap,
 Default account will be automatically updated in POS Invoice when this mode is selected.,"Bu mod seçildiğinde, POS Fatura&#39;da varsayılan hesap otomatik olarak güncellenecektir.",
@@ -4822,154 +4822,154 @@
 Monthly Distribution Percentages,Aylık Dağılımı Yüzdeler,
 Monthly Distribution Percentage,Aylık Dağılımı Yüzde,
 Percentage Allocation,Yüzde Tahsisi,
-Create Missing Party,Kayıp Parti Yarat,
-Create missing customer or supplier.,Kayıp müşteri veya tedarikçi yaratın.,
-Opening Invoice Creation Tool Item,Açılış Fatura Oluşturma Aracı Öğe,
+Create Missing Party,Eksik Cariyi Oluştur,
+Create missing customer or supplier.,Kayıp müşteri veya tedarikçi koruması.,
+Opening Invoice Creation Tool Item,Fatura Oluşturma Aracı Öğesini Açma,
 Temporary Opening Account,Geçici Açılış Hesabı,
-Party Account,Taraf Hesabı,
+Party Account,Cari Hesap,
 Type of Payment,Ödeme Türü,
 ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
-Receive,Alma,
+Receive,Tahsilat yap,
 Internal Transfer,İç transfer,
 Payment Order Status,Ödeme Emri Durumu,
 Payment Ordered,Ödeme Siparişi,
-Payment From / To,From / To Ödeme,
+Payment From / To,Ödeme Giriş/Çıkış Bilgisi,
 Company Bank Account,Şirket Banka Hesabı,
-Party Bank Account,Parti Bankası Hesabı,
-Account Paid From,Hesap şuradan ödenmiş,
-Account Paid To,Hesap şuna ödenmiş,
+Party Bank Account,Cari Banka Hesabı,
+Account Paid From,Ödeme Çıkış Hesabı,
+Account Paid To,Ödeme Giriş Hesabı,
 Paid Amount (Company Currency),Ödenen Tutar (Şirket Para Biriminde),
 Received Amount,alınan Tutar,
-Received Amount (Company Currency),Alınan Tutar (Şirket Para Birimi),
-Get Outstanding Invoice,Ödenmemiş Fatura Alın,
+Received Amount (Company Currency),alınan Tutar (Şirket Para Birimi),
+Get Outstanding Invoice,Öden Faturalamamış Alın,
 Payment References,Ödeme Referansları,
 Writeoff,Hurdaya çıkarmak,
 Total Allocated Amount,Toplam Ayrılan Tutar,
 Total Allocated Amount (Company Currency),Toplam Ayrılan Tutar (Şirket Para Birimi),
-Set Exchange Gain / Loss,Değişim Kazanç Set / Zarar,
+Set Exchange Gain / Loss,Değişim Kazanç Seti / Zarar,
 Difference Amount (Company Currency),Fark Tutarı (Şirket Para Birimi),
 Write Off Difference Amount,Şüpheli Alacak Fark Hesabı,
-Deductions or Loss,Kesintiler veya Zararı,
-Payment Deductions or Loss,Ödeme Kesintiler veya Zararı,
+Deductions or Loss,Kesintiler veya Zarar,
+Payment Deductions or Loss,Ödeme Kesintileri veya Zararı,
 Cheque/Reference Date,Çek / Referans Tarihi,
 Payment Entry Deduction,Ödeme Giriş Kesintisi,
-Payment Entry Reference,Ödeme giriş Referans,
+Payment Entry Reference,Ödeme giriş Referansı,
 Allocated,Ayrılan,
 Payment Gateway Account,Ödeme Gateway Hesabı,
 Payment Account,Ödeme Hesabı,
 Default Payment Request Message,Standart Ödeme Talebi Mesajı,
 PMO-,PMO-,
 Payment Order Type,Ödeme Emri Türü,
-Payment Order Reference,Ödeme Siparişi Referansı,
-Bank Account Details,Banka hesabı detayları,
+Payment Order Reference,Ödeme Sipariş Referansı,
+Bank Account Details,Banka Hesap Bilgisi,
 Payment Reconciliation,Ödeme Mutabakat,
-Receivable / Payable Account,Alacak / Borç Hesap,
+Receivable / Payable Account,Alacak / Borç Hesabı,
 Bank / Cash Account,Banka / Kasa Hesabı,
 From Invoice Date,Fatura Tarihinden İtibaren,
-To Invoice Date,Tarihi Faturaya,
+To Invoice Date,Bitiş Fatura Tarihi,
 Minimum Invoice Amount,Asgari Fatura Tutarı,
 Maximum Invoice Amount,Maksimum Fatura Tutarı,
-System will fetch all the entries if limit value is zero.,"Eğer limit değeri sıfırsa, sistem tüm kayıtları alır.",
+System will fetch all the entries if limit value is zero.,"Eğer limit değeri sıfırsa, sistem tüm kayıtlarını alır.",
 Get Unreconciled Entries,Mutabık olmayan girdileri alın,
 Unreconciled Payment Details,Mutabakatı Yapılmamış Ödeme Ayrıntıları,
-Invoice/Journal Entry Details,Fatura / günlük girdisi Detayları,
+Invoice/Journal Entry Details,Fatura / Yevmiye Kaydı Detayları,
 Payment Reconciliation Invoice,Ödeme Mutabakat Faturası,
 Invoice Number,Fatura Numarası,
 Payment Reconciliation Payment,Ödeme Mutabakat Ödemesi,
-Reference Row,referans Satır,
-Allocated amount,Ayrılan miktar,
+Reference Row,Referans Satır,
+Allocated amount,Tahsis edilen Tutar,
 Payment Request Type,Ödeme İsteği Türü,
-Outward,dışa doğru,
-Inward,içe doğru,
+Outward,Dışa doğru,
+Inward,İçe doğru,
 ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
-Transaction Details,ödeme detayları,
+Transaction Details,İşlem Detayları,
 Amount in customer's currency,Müşterinin para miktarı,
 Is a Subscription,Bir Abonelik mi,
 Transaction Currency,İşlem Döviz,
 Subscription Plans,Abonelik Planları,
-SWIFT Number,SWIFT numarası,
-Recipient Message And Payment Details,Alıcı Mesaj Ve Ödeme Ayrıntıları,
-Make Sales Invoice,Satış Faturası Oluştur,
+SWIFT Number,SWIFT Numarası,
+Recipient Message And Payment Details,Alıcı Mesaj Ve Ödeme Ayrıntısı,
+Make Sales Invoice,Satış Faturası Oluşturma,
 Mute Email,E-postayı Sessize Al,
 payment_url,payment_url,
 Payment Gateway Details,Ödeme Gateway Detayları,
-Payment Schedule,Ödeme PLANI,
+Payment Schedule,Ödeme Planla,
 Invoice Portion,Fatura Porsiyonu,
 Payment Amount,Ödeme Tutarı,
 Payment Term Name,Ödeme Süresi Adı,
-Due Date Based On,Tarihli Vade Tarihi,
-Day(s) after invoice date,Fatura tarihinden sonraki günler,
-Day(s) after the end of the invoice month,Fatura ayının bitiminden sonraki gün (leri),
-Month(s) after the end of the invoice month,Fatura ayının bitiminden sonraki aylar,
-Credit Days,Kredi Günleri,
-Credit Months,Kredi Ayları,
-Allocate Payment Based On Payment Terms,Ödeme Koşullarına Göre Ödemeyi Tahsis Et,
-"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Bu onay kutusu işaretlenirse, ödenen tutar bölünecek ve her ödeme dönemine göre ödeme planındaki tutarlara göre tahsis edilecektir.",
-Payment Terms Template Detail,Ödeme Koşulları Şablon Ayrıntısı,
+Due Date Based On,Vade Tarihine göre,
+Day(s) after invoice date,Fatura tarihinden sonra kaç gün,
+Day(s) after the end of the invoice month,Fatura ayının bitiminden sonra kaç gün,
+Month(s) after the end of the invoice month,Fatura ayının bitiminden sonra kaç ay,
+Credit Days,Alacak Günü,
+Credit Months,Alacak Ayı,
+Allocate Payment Based On Payment Terms,Ödeme Hücrelerine Göre Ödemeyi Tahsis Et,
+"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Bu onay kutusu işaretlenirse, kiracıları bölünecek ve her ödeme süresine göre ödeme planındaki tutarlara göre tahsis edilecektir.",
+Payment Terms Template Detail,Ödeme Protokolleri Şablon Ayrıntısı,
 Closing Fiscal Year,Mali Yılı Kapanış,
 Closing Account Head,Kapanış Hesap Başkanı,
-"The account head under Liability or Equity, in which Profit/Loss will be booked","Kar / Zarar rezerve edileceği Sorumluluk veya Özkaynak altında hesap kafa,",
+"The account head under Liability or Equity, in which Profit/Loss will be booked","Hesap kafası altında Kar / Zarar rezerve sorumluluğu veya Özkaynak,",
 POS Customer Group,POS Müşteri Grubu,
 POS Field,POS Alanı,
 POS Item Group,POS Ürün Grubu,
-Company Address,şirket adresi,
-Update Stock,Stok güncelle,
-Ignore Pricing Rule,Fiyatlandırma Kuralı Yoksay,
+Company Address,Şirket Adresi,
+Update Stock,Stok Güncelle,
+Ignore Pricing Rule,Fiyatlandırma Kuralını Yoksay,
 Applicable for Users,Kullanıcılar için geçerlidir,
 Sales Invoice Payment,Satış Fatura Ödeme,
 Item Groups,Öğe Grupları,
 Only show Items from these Item Groups,Sadece bu Öğe Gruplarındaki Öğeleri göster,
 Customer Groups,Müşteri Grupları,
-Only show Customer of these Customer Groups,Sadece bu Müşteri Gruplarının Müşterisini gösterin,
+Only show Customer of these Customer Groups,Sadece bu Müşteri Gruplarının Müşterisini arayın,
 Write Off Account,Şüpheli Alacaklar Hesabı,
 Write Off Cost Center,Şüpheli Alacak Maliyet Merkezi,
 Account for Change Amount,Değişim Miktarı Hesabı,
 Taxes and Charges,Vergi ve Harçlar,
-Apply Discount On,İndirim On Uygula,
+Apply Discount On,İndirim buna göre Uygula,
 POS Profile User,POS Profil Kullanıcıları,
-Apply On,Uygula,
+Apply On,Buna Uygula,
 Price or Product Discount,Fiyat veya Ürün İndirimi,
-Apply Rule On Item Code,Madde Kodunda Kural Uygula,
-Apply Rule On Item Group,Öğe Grubuna Kural Uygula,
-Apply Rule On Brand,Marka Üzerine Kural Uygula,
+Apply Rule On Item Code,Ürün Koduna Kural Uygula,
+Apply Rule On Item Group,Ürün Grubuna Kural Uygula,
+Apply Rule On Brand,Markaya Kural Uygula,
 Mixed Conditions,Karışık Koşullar,
-Conditions will be applied on all the selected items combined. ,Seçilen tüm öğelere birleştirilmiş koşullar uygulanacaktır.,
-Is Cumulative,Birikimli mi,
+Conditions will be applied on all the selected items combined. ,Seçilen tüm seçeneklere birleştirilmiş yapı uygulanacaktır.,
+Is Cumulative,Kümülatif / Birikerek artan,
 Coupon Code Based,Kupon Koduna Dayalı,
 Discount on Other Item,Diğer Ürünlerde İndirim,
-Apply Rule On Other,Diğer Kural Kuralı Uygula,
-Party Information,Parti Bilgisi,
-Quantity and Amount,Miktar ve Miktar,
-Min Qty,Minimum Miktar,
-Max Qty,En fazla miktar,
-Min Amt,Min Amt,
-Max Amt,Max Amt,
-Period Settings,Periyot Ayarları,
-Margin,Kar Marjı,
-Margin Type,Kar türü,
-Margin Rate or Amount,Kar oranı veya tutarı,
+Apply Rule On Other,Kuralı Diğerlerine Uygula,
+Party Information,Cari Bilgisi,
+Quantity and Amount,Miktar ve Tutar,
+Min Qty,Min Miktar,
+Max Qty,Max Miktar,
+Min Amt,Min Tutar,
+Max Amt,Max Tutar,
+Period Settings,Dönem Ayarları,
+Margin,Kar Marji,
+Margin Type,Kar Türü,
+Margin Rate or Amount,Kar Oranı veya Tutarı,
 Price Discount Scheme,Fiyat İndirim Şeması,
 Rate or Discount,Oran veya İndirim,
 Discount Percentage,İndirim Yüzdesi,
 Discount Amount,İndirim Tutarı,
-For Price List,Fiyat Listesi İçin,
+For Price List,Fiyat Listesi için,
 Product Discount Scheme,Ürün İndirim Şeması,
-Same Item,Aynı ürün,
-Free Item,Ücretsiz ürün,
-Threshold for Suggestion,Öneri için Eşik,
-System will notify to increase or decrease quantity or amount ,Sistem miktarı veya miktarı artırma veya azaltma bildirimi,
-"Higher the number, higher the priority","Yüksek sayı, yüksek öncelikli",
+Same Item,Aynı Ürün,
+Free Item,Bedava Ürün,
+Threshold for Suggestion,Öneriler için Eşik,
+System will notify to increase or decrease quantity or amount ,Sistem miktarını veya miktarını artırma veya azaltma bildirimi,
+"Higher the number, higher the priority","Yüksek sayı, yüksek öncelik",
 Apply Multiple Pricing Rules,Birden Çok Fiyatlandırma Kuralı Uygula,
 Apply Discount on Rate,Fiyatına İndirim Uygula,
 Validate Applied Rule,Uygulanan Kuralı Doğrula,
 Rule Description,Kural Açıklaması,
 Pricing Rule Help,Fiyatlandırma Kuralı Yardım,
 Promotional Scheme Id,Promosyon Şeması No,
-Promotional Scheme,Promosyon Şeması,
+Promotional Scheme,Tanıtım Şeması,
 Pricing Rule Brand,Fiyatlandırma Kural Markası,
 Pricing Rule Detail,Fiyatlandırma Kuralı Detayı,
-Child Docname,Alt Doküman Adı,
-Rule Applied,Uygulanan Kural,
+Child Docname,Alt Dokuman Adı,
+Rule Applied,Yürüten Kural,
 Pricing Rule Item Code,Fiyatlandırma Kuralı Ürün Kodu,
 Pricing Rule Item Group,Fiyatlandırma Kuralı Madde Grubu,
 Price Discount Slabs,Fiyat İndirim Levhaları,
@@ -4978,229 +4978,229 @@
 Promotional Scheme Product Discount,Promosyon Programı Ürün İndirimi,
 Min Amount,Min Miktarı,
 Max Amount,Maksimum Tutar,
-Discount Type,İndirim türü,
+Discount Type,İndirim Türü,
 ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
 Tax Withholding Category,Vergi Stopajı Kategorisi,
-Edit Posting Date and Time,Düzenleme Gönderme Tarihi ve Saati,
-Is Paid,Ücretli mi,
-Is Return (Debit Note),Iade (banka notu),
+Edit Posting Date and Time,İşlem Tarihi ve Saatini Düzenle,
+Is Paid,Ücretli/Ödendi mi,
+Is Return (Debit Note),Iade mi (Borç dekontu),
 Apply Tax Withholding Amount,Vergi Stopaj Tutarını Uygula,
 Accounting Dimensions ,Muhasebe Boyutları,
 Supplier Invoice Details,Tedarikçi Fatura Ayrıntıları,
 Supplier Invoice Date,Tedarikçi Fatura Tarihi,
 Return Against Purchase Invoice,Karşı Satınalma Fatura Dönüş,
-Select Supplier Address,Seç Tedarikçi Adresi,
+Select Supplier Address,Tedarikçi Adresi Seç,
 Contact Person,İrtibat Kişi,
-Select Shipping Address,Seç Teslimat Adresi,
-Currency and Price List,Döviz ve Fiyat Listesi,
+Select Shipping Address,Teslimat Adresi Seç,
+Currency and Price List,Fiyat Listesi ve Para Birimi,
 Price List Currency,Fiyat Listesi Para Birimi,
 Price List Exchange Rate,Fiyat Listesi Döviz Kuru,
-Set Accepted Warehouse,Kabul Edilen Depoyu Ayarla,
+Set Accepted Warehouse,Kabül edilen Depoyu Ayarla,
 Rejected Warehouse,Reddedilen Depo,
-Warehouse where you are maintaining stock of rejected items,Reddedilen Ürün stoklarını muhafaza ettiğiniz depo,
+Warehouse where you are maintaining stock of rejected items,Reddetilen Ürün stoklarını muhafaza ettiği depo,
 Raw Materials Supplied,Tedarik edilen Hammaddeler,
 Supplier Warehouse,Tedarikçi Deposu,
 Pricing Rules,Fiyatlandırma Kuralları,
 Supplied Items,Verilen Öğeler,
-Total (Company Currency),Toplam (Şirket Para),
-Net Total (Company Currency),Net Toplam (Şirket para birimi),
-Total Net Weight,Toplam net ağırlık,
-Shipping Rule,Sevkiyat Kuralı,
-Purchase Taxes and Charges Template,Vergiler ve Harçlar Şablon Satınalma,
-Purchase Taxes and Charges,Alım Vergi ve Harçları,
-Tax Breakup,Vergi dağılımı,
+Total (Company Currency),Toplam (Şirket Dövizi),
+Net Total (Company Currency),Net Toplam (Şirket Dövizi),
+Total Net Weight,Toplam Net Ağırlık,
+Shipping Rule,Nakliye Kuralı,
+Purchase Taxes and Charges Template,Alış Vergisi ve Harçlar Şablonu,
+Purchase Taxes and Charges,Alış Vergisi ve Harçları,
+Tax Breakup,Vergi Kırılımı,
 Taxes and Charges Calculation,Vergiler ve Ücretleri Hesaplama,
 Taxes and Charges Added (Company Currency),Eklenen Vergi ve Harçlar (Şirket Para Birimi),
-Taxes and Charges Deducted (Company Currency),Mahsup Vergi ve Harçlar (Şirket Para Biriminde),
+Taxes and Charges Deducted (Company Currency),Düşülen Vergi ve Harçlar (Şirket Para Biriminde),
 Total Taxes and Charges (Company Currency),Toplam Vergi ve Harçlar (Şirket Para Birimi),
 Taxes and Charges Added,Eklenen Vergi ve Harçlar,
-Taxes and Charges Deducted,Mahsup Vergi ve Harçlar,
+Taxes and Charges Deducted,Düşülen Vergi ve Harçlar,
 Total Taxes and Charges,Toplam Vergi ve Harçlar,
 Additional Discount,Ek İndirim,
-Apply Additional Discount On,Ek İndirim On Uygula,
+Apply Additional Discount On,Ek İndirim Uygula şuna göre,
 Additional Discount Amount (Company Currency),Ek İndirim Tutarı (Şirket Para Birimi),
 Additional Discount Percentage,Ek İndirim Yüzdesi,
 Additional Discount Amount,Ek İndirim Tutarı,
-Grand Total (Company Currency),Genel Toplam (Şirket para birimi),
+Grand Total (Company Currency),Genel Toplam (Şirket para birimi),
 Rounding Adjustment (Company Currency),Yuvarlama Ayarı (Şirket Kuru),
 Rounded Total (Company Currency),Yuvarlanmış Toplam (Şirket Kuru),
-In Words (Company Currency),Sözlü (Firma para birimi) olarak,
+In Words (Company Currency),Yazıyla (Firma para birimi) olarak,
 Rounding Adjustment,Yuvarlama Ayarı,
-In Words,Kelimelerle,
-Total Advance,Toplam Advance,
-Disable Rounded Total,Yuvarlak toplam devre dışı,
+In Words,Yazıyla,
+Total Advance,Toplam Avans,
+Disable Rounded Total,Yuvarlanmış Toplamı Devre Dışı Bırak,
 Cash/Bank Account,Kasa / Banka Hesabı,
 Write Off Amount (Company Currency),Şüpheli Alacak Miktarı (Şirketin Kurunda),
 Set Advances and Allocate (FIFO),Avansları ve Tahsisleri Ayarla (FIFO),
-Get Advances Paid,Avansları Öde,
+Get Advances Paid,Avans Ödemesini Getir,
 Advances,Avanslar,
-Terms,Şartlar,
+Terms,Vade ve Şartlar,
 Terms and Conditions1,Şartlar ve Koşullar 1,
-Group same items,Grup aynı öğeleri,
-Print Language,baskı Dili,
-"Once set, this invoice will be on hold till the set date","Ayarlandıktan sonra, bu fatura belirlenen tarihe kadar beklemeye alınır.",
-Credit To,Kredi için,
-Party Account Currency,Parti Hesap Döviz,
+Group same items,Aynı Ögeleri Grupla,
+Print Language,Baskı Dili,
+"Once set, this invoice will be on hold till the set date","Ayarlandıktan sonra, bu fatura yazılan tarihe kadar beklemeye alınır.",
+Credit To,Alacak Yeri,
+Party Account Currency,Cari Hesabı Dövizi,
 Against Expense Account,Karşılık Gider Hesabı,
 Inter Company Invoice Reference,Şirket İçi Fatura Referansı,
 Is Internal Supplier,İç Tedarikçi mi,
-Start date of current invoice's period,Cari fatura döneminin Başlangıç tarihi,
-End date of current invoice's period,Cari fatura döneminin bitiş tarihi,
+Start date of current invoice's period,Cari dönem faturanın Başlangıç tarihi,
+End date of current invoice's period,Cari dönem faturanın bitiş tarihi,
 Update Auto Repeat Reference,Otomatik Tekrar Referansı Güncelle,
-Purchase Invoice Advance,Fatura peşin alım,
-Purchase Invoice Item,Satın alma Faturası Ürünleri,
+Purchase Invoice Advance,Satınalma Faturası Avansı,
+Purchase Invoice Item,Satınalma Faturası Ürünleri,
 Quantity and Rate,Miktarı ve Oranı,
 Received Qty,Alınan Miktar,
 Accepted Qty,Kabul edilen Miktar,
-Rejected Qty,reddedilen Adet,
-UOM Conversion Factor,Ölçü Birimi Dönüşüm Katsayısı,
-Discount on Price List Rate (%),Fiyat Listesi Puan İndirim (%),
-Price List Rate (Company Currency),Fiyat Listesi Oranı (Şirket para birimi),
-Rate ,Birim Fiyat,
-Rate (Company Currency),Oranı (Şirket para birimi),
+Rejected Qty,Reddedilen Miktar,
+UOM Conversion Factor,Birim Dönüşüm Katsayısı,
+Discount on Price List Rate (%),Fiyat Listesi Puan İndirimi (%),
+Price List Rate (Company Currency),Fiyat Listesi Oranı (Şirket Para Birimi),
+Rate ,Birim Fiyat ,
+Rate (Company Currency),Oranı (Şirket Para Birimi),
 Amount (Company Currency),Tutar (Şirket Para Birimi),
-Is Free Item,Ücretsiz Öğe,
-Net Rate,Net Hızı,
-Net Rate (Company Currency),Net Oranı (Şirket Para),
-Net Amount (Company Currency),Net Tutar (Şirket Para),
+Is Free Item,Bedava Ürün mü,
+Net Rate,Net Oran,
+Net Rate (Company Currency),Net Oranı (Şirket Para Birimi),
+Net Amount (Company Currency),Net Tutar (Şirket Para Birimi),
 Item Tax Amount Included in Value,Değere Dahil Edilen Öğe Vergisi Tutarı,
-Landed Cost Voucher Amount,Bindirilmiş Maliyet Tutarı,
-Raw Materials Supplied Cost,Tedarik edilen Hammadde  Maliyeti,
-Accepted Warehouse,Kabul edilen depo,
+Landed Cost Voucher Amount,Bindirilmiş Maliyet Fiş Tutarı,
+Raw Materials Supplied Cost,Tedarik edilen Hammadde Maliyeti,
+Accepted Warehouse,Kabul edilen Depo,
 Serial No,Seri No,
 Rejected Serial No,Seri No Reddedildi,
 Expense Head,Gider Başlığı,
-Is Fixed Asset,Sabit Varlık,
-Asset Location,Öğe Konumu,
+Is Fixed Asset,Sabit Kıymet mi,
+Asset Location,Varlık Konumu,
 Deferred Expense,Ertelenmiş Gider,
 Deferred Expense Account,Ertelenmiş Gider Hesabı,
 Service Stop Date,Servis Durdurma Tarihi,
-Enable Deferred Expense,Ertelenmiş Gider&#39;i Etkinleştir,
+Enable Deferred Expense,Ertelenmiş Gideri Etkinleştirin,
 Service Start Date,Servis Başlangıç Tarihi,
 Service End Date,Servis Bitiş Tarihi,
-Allow Zero Valuation Rate,Sıfır Değerleme Oranına izin ver,
+Allow Zero Valuation Rate,Sıfır Değerleme Oranına İzin ver,
 Item Tax Rate,Ürün Vergi Oranı,
-Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Bir dize olarak madde ustadan getirilen ve bu alanda depolanan vergi detay tablo.\n Vergi ve Ücretleri için kullanılır,
+Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Bir dizi olarak madde ustasından getirilen ve bu alanda depolanan vergi detay tablosu.\n Vergi ve Ücretleri için kullanılır,
 Purchase Order Item,Satınalma Siparişi Ürünleri,
-Purchase Receipt Detail,Satın Alma Makbuzu Ayrıntısı,
-Item Weight Details,Öğe Ağırlık Ayrıntılar,
-Weight Per Unit,Birim Ağırlığı,
-Total Weight,Toplam ağırlık,
+Purchase Receipt Detail,Satınalma Makbuzu Ayrıntısı,
+Item Weight Details,Öğe Ağırlık Ayrıntıları,
+Weight Per Unit,Birim Ağırlık,
+Total Weight,Toplam Ağırlık,
 Weight UOM,Ağırlık Ölçü Birimi,
 Page Break,Sayfa Sonu,
 Consider Tax or Charge for,Vergi veya Ücret,
 Valuation and Total,Değerleme ve Toplam,
 Valuation,Değerleme,
-Add or Deduct,Ekle ya da Çıkar,
-Deduct,Düşmek,
-On Previous Row Amount,Önceki satır toplamı,
-On Previous Row Total,Önceki satır toplamı,
+Add or Deduct,Ekle veya Çıkar,
+Deduct,Çıkar,
+On Previous Row Amount,Önceki Satır Tutarı,
+On Previous Row Total,Önceki Satır Toplamı,
 On Item Quantity,Öğe Miktarı,
 Reference Row #,Referans Satırı #,
 Is this Tax included in Basic Rate?,Vergi Birim Fiyata dahil mi?,
-"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","İşaretli ise, vergi miktarının hali hazırda Basım Oranında/Basım Miktarında dahil olduğu düşünülecektir",
+"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","İşaretli ise, vergi yükün hali hazırda Basım Oranında/Basım Miktarında dahil olduğu düşünülecektir",
 Account Head,Hesap Başlığı,
 Tax Amount After Discount Amount,İndirim Tutarından sonraki vergi miktarı,
 Item Wise Tax Detail ,Öğe Bilge Vergi Ayrıntısı,
-"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Tüm Satınalma İşlemleri uygulanabilir standart vergi şablonu. Bu şablon burada tanımlamak \n\n vergi oranı Not #### \n\n vb ""Handling"", vergi başkanları ve ""Denizcilik"", ""Sigorta"" gibi diğer gider başkanlarının listesini içerebilir ** Tüm ** Öğeler için standart vergi oranı olacaktır. Farklı fiyat bilgisi ** ** Ürünleri varsa, bunlar ** Ürün Vergisinde eklenmesi gerekir ** ** ** Ürün ana tablo.\n\n #### Kolonların \n\n 1 Açıklaması. Hesaplama Türü: \n - Bu üzerinde olabilir ** Net (yani temel miktarın toplamı) ** Toplam.\n - ** Önceki Satır Toplam / Tutar ** On (kümülatif vergi ya da harç için). Bu seçeneği seçerseniz, vergi miktarı veya toplam (vergi tablosunda) önceki satırın bir yüzdesi olarak uygulanacaktır.\n - ** ** Gerçek (belirtildiği gibi).\n 2. Hesap Başkanı: Bu vergi \n 3 rezerve edileceği altında Hesap defteri. Maliyet Merkezi: Vergi / şarj (nakliye gibi) bir gelir veya gider ise bir Maliyet Merkezi karşı rezervasyonu gerekmektedir.\n 4. Açıklama: Vergi Açıklaması (Bu faturalar / tırnak içinde basılacaktır).\n 5. Puan: Vergi oranı.\n 6. Tutar: Vergi miktarı.\n 7. Toplam: Bu noktaya Toplu toplam.\n 8. Enter Satır: ""Önceki Satır Toplam"" dayalı Eğer bu hesaplama için bir üs (varsayılan bir önceki satır olduğu) olarak alınacaktır satır numarasını seçebilirsiniz.\n 9. Için Vergi veya şarj düşünün: Vergi / şarj değerlemesi için sadece (toplam bir parçası) veya sadece (öğeye değer katmıyor) toplam veya her ikisi için bu bölümde belirtebilirsiniz.\n 10. Ekle veya Düşebilme: eklemek veya vergi kesintisi etmek isteyin.",
+"Standard tax template that can be applied to all Purchase Transactions. This template can contain list of tax heads and also other expense heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Consider Tax or Charge for: In this section you can specify if the tax / charge is only for valuation (not a part of total) or only for total (does not add value to the item) or for both.\n10. Add or Deduct: Whether you want to add or deduct the tax.","Tüm Satınalma İşlemleri uygulanabilir standart vergi şablonu. Bu şablon burada tablolar \n\n vergi oranı Not #### \n\n vb ""Handling"", vergi başkanları ve ""Denizcilik"", ""Sigorta"" gibi diğer gider başkanlıklarının listesinin izlediği ** Tüm ** Öğeler için standart vergi oranı olacaktır. Farklı fiyat bilgisi ** ** Ürünleri varsa, bunlar ** Ürün Vergisinde özendirilmelidir ** ** ** Ürün ana tablosu.\n\n #### Kolonların \n\n 1 Açıklaması. Hesaplama Türü: \n - Bu üzerinde olabilir ** Net (yani temel miktarn toplamı) ** Toplam.\n - ** Önceki Satır Toplam / Tutar ** Açık (kümülatif vergi ya da harç için). Bu seçeneği ayarlarsanız, vergi miktarı veya toplam (vergi tablosunda) önceki bilgilerde bir yüzdesi olarak uygulanacaktır.\n - ** ** Gerçek (belirtildiği gibi).\n 2. Hesap Başkanı: Bu vergi \n 3 rezerve harcamaları Hesap defteri altında. Maliyet Merkezi: Vergi / şarj (nakliye gibi) bir gelir veya gider ise bir Maliyet Merkezinin ödenmesi gerekmektedir.\n 4. Açıklama: Vergi Açıklaması (Bu faturalar / tırnak içinde basılacaktır).\n 5. Puan: Vergi oranı.\n 6. Tutar: Vergi miktarı.\n 7. Toplam: Bu indirme Toplu toplam.\n 8. Enter Satır: ""Önceki Satır Toplam"" esaslı Eğer bu hesaplama için bir üs (varsayılan bir önceki satır olduğu) olarak alınması satır sayısını alır. \n 9. İçin Vergi veya şarj düşünün: Vergi / şarj değerlemesi için sadece (toplam bir parçası) veya (öğeye değer katmıyor sadece) toplam veya her ikisi için bu sonucu belirtebilirsiniz.\n 10. Ekle veya Düşebilme: dahil veya vergi kesintisi yapmak isteyin.",
 Salary Component Account,Maaş Bileşen Hesabı,
-Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Bu mod seçildiğinde varsayılan Banka / Kasa hesabı otomatik Maaş Dergisi girdisi güncellenecektir.,
+Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Bu mod seçildiğinde varsayılan Banka / Kasa hesabı otomatik Maaş Dergisi'ne girecektir.,
 ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
 Include Payment (POS),Ödeme Dahil (POS),
 Offline POS Name,Çevrimdışı POS Adı,
-Is Return (Credit Note),Dönüşü (Kredi Notu),
-Return Against Sales Invoice,Karşı Satış Fatura Dönüş,
-Update Billed Amount in Sales Order,Satış Siparişindeki Fatura Tutarını Güncelle,
-Customer PO Details,Müşteri PO Ayrıntıları,
-Customer's Purchase Order,Müşterinin Sipariş,
-Customer's Purchase Order Date,Müşterinin Sipariş Tarihi,
+Is Return (Credit Note),İade mi (Alacak Dekontu),
+Return Against Sales Invoice,Satış Faturası Karşılığında İade,
+Update Billed Amount in Sales Order,Satış Sipariş Faturasındaki Tutarını Güncelle,
+Customer PO Details,Müşteri Satınalma Siparişi Ayrıntıları,
+Customer's Purchase Order,Müşterinin Satınalma Siparişi,
+Customer's Purchase Order Date,Müşterinin Satınalma Sipariş Tarihi,
 Customer Address,Müşteri Adresi,
 Shipping Address Name,Teslimat Adresi İsmi,
 Company Address Name,Şirket Adresi Adı,
-Rate at which Customer Currency is converted to customer's base currency,Müşteri Para Biriminin Müşterinin temel birimine dönüştürülme oranı,
-Rate at which Price list currency is converted to customer's base currency,Fiyat listesi para biriminin müşterinin temel para birimine dönüştürülme oranı,
-Set Source Warehouse,Ürün Çıkış Deposu,
-Packing List,Paket listesi,
+Rate at which Customer Currency is converted to customer's base currency,Müşteri Para Biriminin Müşterinin temel birimine dönüştürme oranı,
+Rate at which Price list currency is converted to customer's base currency,Fiyat listesi para biriminin temel verileri para birimine dönüştürme oranı,
+Set Source Warehouse,Kaynak Deposu Ayarla,
+Packing List,Paket Listesi,
 Packed Items,Paketli Ürünler,
 Product Bundle Help,Ürün Paketi Yardımı,
 Time Sheet List,Mesai Kartı Listesi,
 Time Sheets,Mesai Kartları,
 Total Billing Amount,Toplam Fatura Tutarı,
-Sales Taxes and Charges Template,Satış Vergi ve Harçlar Şablon,
-Sales Taxes and Charges,Satış Vergi ve Harçlar,
-Loyalty Points Redemption,Sadakat Puanları Redemption,
-Redeem Loyalty Points,Bağlılık Puanlarını Kullan,
-Redemption Account,Kefaret Hesabı,
-Redemption Cost Center,Kefaret Maliyet Merkezi,
-In Words will be visible once you save the Sales Invoice.,Satış faturasını kaydettiğinizde görünür olacaktır.,
-Allocate Advances Automatically (FIFO),Otomatik Olarak Avans Verme (FIFO),
-Get Advances Received,Avansların alınmasını sağla,
+Sales Taxes and Charges Template,Satış Vergisi ve Harçlar Şablonu,
+Sales Taxes and Charges,Satış Vergisi ve Harçlar,
+Loyalty Points Redemption,Sadakat Puanı Kullanımı,
+Redeem Loyalty Points,Sadakat Puanı Kullan,
+Redemption Account,Kullanım Hesabı,
+Redemption Cost Center,Kullanım Maliyet Merkezi,
+In Words will be visible once you save the Sales Invoice.,Satış faturasını saklayacağınızda görünür olacaktır.,
+Allocate Advances Automatically (FIFO),Avansları Otomatik Olarak Tahsis et (FIFO),
+Get Advances Received,Alınan Avansları Getir,
 Base Change Amount (Company Currency),Baz Değişim Miktarı (Şirket Para Birimi),
-Write Off Outstanding Amount,Vadesi Dolmuş Şüpheli Alacak Miktarı,
-Terms and Conditions Details,Şartlar ve Koşullar Detayları,
+Write Off Outstanding Amount,Vadesi Dolan Şüpheli Alacak Miktarı,
+Terms and Conditions Details,Şartlar ve Koşullar Detayı,
 Is Internal Customer,İç Müşteri mi,
-Is Discounted,İndirimli,
+Is Discounted,İndirimli mi,
 Unpaid and Discounted,Ödenmemiş ve İndirimli,
 Overdue and Discounted,Gecikmiş ve İndirimli,
 Accounting Details,Muhasebe Detayları,
-Debit To,Borç,
-Is Opening Entry,Açılış Girdisi,
+Debit To,Borç Yeri,
+Is Opening Entry,Açılış Kaydı mı,
 C-Form Applicable,Uygulanabilir C-Formu,
 Commission Rate (%),Komisyon Oranı (%),
 Sales Team1,Satış Ekibi1,
 Against Income Account,Karşılık Gelir Hesabı,
 Sales Invoice Advance,Satış Fatura Avansı,
-Advance amount,Avans miktarı,
+Advance amount,Avans Tutarı,
 Sales Invoice Item,Satış Faturası Ürünü,
 Customer's Item Code,Müşterinin Ürün Kodu,
 Brand Name,Marka Adı,
-Qty as per Stock UOM,Her Stok Ölçü Birimi (birim) için miktar,
+Qty as per Stock UOM,Stok Birimi için Miktar,
 Discount and Margin,İndirim ve Kar,
-Rate With Margin,Marjla Oran,
+Rate With Margin,Marjlı Oran,
 Discount (%) on Price List Rate with Margin,Fiyat Listesindeki İndirim (%) Marjlı Oran,
 Rate With Margin (Company Currency),Marjla Oran (Şirket Para Birimi),
-Delivered By Supplier,Tedarikçi Tarafından Teslim,
+Delivered By Supplier,Tedarikçi Tarafından Teslim Edildi,
 Deferred Revenue,Ertelenmiş Gelir,
 Deferred Revenue Account,Ertelenmiş Gelir Hesabı,
 Enable Deferred Revenue,Ertelenmiş Geliri Etkinleştir,
 Stock Details,Stok Detayları,
-Customer Warehouse (Optional),Müşteri Depo (İsteğe bağlı),
+Customer Warehouse (Optional),Müşteri Deposu (İsteğe bağlı),
 Available Batch Qty at Warehouse,Depodaki Mevcut Parti Miktarı,
 Available Qty at Warehouse,Depodaki mevcut miktar,
 Delivery Note Item,İrsaliye Ürünleri,
 Base Amount (Company Currency),Esas Tutar (Şirket Para Birimi),
 Sales Invoice Timesheet,Satış Faturası Çizelgesi,
 Time Sheet,Mesai Kartı,
-Billing Hours,Fatura Saatleri,
-Timesheet Detail,Zaman çizelgesi Detay,
+Billing Hours,Saatleri Faturalandırma,
+Timesheet Detail,Zaman detayı,
 Tax Amount After Discount Amount (Company Currency),İndirim Tutarından sonraki Vergi Tutarı (Şirket Para Biriminde),
-Item Wise Tax Detail,Ürün Vergi Detayları,
-Parenttype,Ana Tip,
-"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Tüm Satış İşlemlerine uygulanabilir standart vergi şablonu. Bu şablon \n\n vergi oranını size Not #### \n\n vb ""Handling"", vergi başkanları ve ""Denizcilik"", ""Sigorta"" gibi diğer gider / gelir başkanları listesini içerebilir ** Tüm ** Öğeler için standart vergi oranı olacaktır burada tanımlayın. Farklı fiyat bilgisi ** ** Ürünleri varsa, bunlar ** Ürün Vergisinde eklenmesi gerekir ** ** ** Ürün ana tablo.\n\n #### Kolonların \n\n 1 Açıklaması. Hesaplama Türü: \n - Bu üzerinde olabilir ** Net (yani temel miktarın toplamı) ** Toplam.\n - ** Önceki Satır Toplam / Tutar ** On (kümülatif vergi ya da harç için). Bu seçeneği seçerseniz, vergi miktarı veya toplam (vergi tablosunda) önceki satırın bir yüzdesi olarak uygulanacaktır.\n - ** ** Gerçek (belirtildiği gibi).\n 2. Hesap Başkanı: Bu vergi \n 3 rezerve edileceği altında Hesap defteri. Maliyet Merkezi: Vergi / şarj (nakliye gibi) bir gelir veya gider ise bir Maliyet Merkezi karşı rezervasyonu gerekmektedir.\n 4. Açıklama: Vergi Açıklaması (Bu faturalar / tırnak içinde basılacaktır).\n 5. Puan: Vergi oranı.\n 6. Tutar: Vergi miktarı.\n 7. Toplam: Bu noktaya Toplu toplam.\n 8. Enter Satır: ""Önceki Satır Toplam"" dayalı Eğer bu hesaplama için bir üs (varsayılan bir önceki satır olduğu) olarak alınacaktır satır numarasını seçebilirsiniz.\n 9. Temel Puan dahil bu vergi ?: size bu işaretlerseniz, bu vergi kalemi aşağıdaki tabloda gösterilen olmayacak, ama ana öğe tabloda Temel Oranı dahil olacağı anlamına gelir. Eğer müşterilere düz (tüm vergiler dahil) fiyat fiyat vermek istediğiniz yararlıdır.",
+Item Wise Tax Detail,Ürün bazında Vergi Detayları,
+Parenttype,Ana İpucu,
+"Standard tax template that can be applied to all Sales Transactions. This template can contain list of tax heads and also other expense / income heads like ""Shipping"", ""Insurance"", ""Handling"" etc.\n\n#### Note\n\nThe tax rate you define here will be the standard tax rate for all **Items**. If there are **Items** that have different rates, they must be added in the **Item Tax** table in the **Item** master.\n\n#### Description of Columns\n\n1. Calculation Type: \n    - This can be on **Net Total** (that is the sum of basic amount).\n    - **On Previous Row Total / Amount** (for cumulative taxes or charges). If you select this option, the tax will be applied as a percentage of the previous row (in the tax table) amount or total.\n    - **Actual** (as mentioned).\n2. Account Head: The Account ledger under which this tax will be booked\n3. Cost Center: If the tax / charge is an income (like shipping) or expense it needs to be booked against a Cost Center.\n4. Description: Description of the tax (that will be printed in invoices / quotes).\n5. Rate: Tax rate.\n6. Amount: Tax amount.\n7. Total: Cumulative total to this point.\n8. Enter Row: If based on ""Previous Row Total"" you can select the row number which will be taken as a base for this calculation (default is the previous row).\n9. Is this Tax included in Basic Rate?: If you check this, it means that this tax will not be shown below the item table, but will be included in the Basic Rate in your main item table. This is useful where you want give a flat price (inclusive of all taxes) price to customers.","Tüm Satış İşlemlerine uygulanabilir standart vergi şablonu. Bu şablon \n\n vergi başvurusu size Not #### \n\n vb ""Handling"", vergi başkanları ve ""Denizcilik"", ""Sigorta"" gibi diğer gider / gelir başkanları listesinin izlediği ** Tüm ** Öğeler için standart vergi oranı burada tanımlayın. Farklı fiyat bilgisi ** ** Ürünleri varsa, bunlar ** Ürün Vergisinde özendirilmelidir ** ** ** Ürün ana tablosu.\n\n #### Kolonların \n\n 1 Açıklaması. Hesaplama Türü: \n - Bu üzerinde olabilir ** Net (yani temel miktarn toplamı) ** Toplam.\n - ** Önceki Satır Toplam / Tutar ** Açık (kümülatif vergi ya da harç için). Bu seçeneği ayarlarsanız, vergi miktarı veya toplam (vergi tablosunda) önceki bilgilerde bir yüzdesi olarak uygulanacaktır.\n - ** ** Gerçek (belirtildiği gibi).\n 2. Hesap Başkanı: Bu vergi \n 3 rezerve harcamaları Hesap defteri altında. Maliyet Merkezi: Vergi / şarj (nakliye gibi) bir gelir veya gider ise bir Maliyet Merkezinin ödenmesi gerekmektedir.\n 4. Açıklama: Vergi Açıklaması (Bu faturalar / tırnak içinde basılacaktır).\n 5. Puan: Vergi oranı.\n 6. Tutar: Vergi miktarı.\n 7. Toplam: Bu indirme Toplu toplam.\n 8. Enter Satır: ""Önceki Satır Toplam"" esaslı Eğer bu hesaplama için bir üs (varsayılan bir önceki satır olduğu) olarak alınması satır sayısını alır. \n 9. Temel Puan dahil bu vergi ?: size bu işaretlerseniz, bu vergi kalemi aşağıdaki tabloda gösterilmeyecek, ama ana öğe tablosu Temel Oranı dahil olacağını anlama gelir. Eğer bileşenleri düz (tüm vergiler dahil) fiyat vermek istiyorsanız kullanışlı.",
 * Will be calculated in the transaction.,* İşlemde hesaplanacaktır.,
-From No,Hayır&#39;dan,
-To No,Hayır için,
-Is Company,Şirket midir,
-Current State,Mevcut durum,
-Purchased,satın alındı,
+From No,Baş. Numarası,
+To No,Bitiş Numarası,
+Is Company,Şirket mi,
+Current State,Mevcut Durum,
+Purchased,Satın alındı,
 From Shareholder,Hissedarlardan,
-From Folio No,Folio No&#39;dan,
-To Shareholder,Hissedarya,
-To Folio No,Folio No&#39;ya,
+From Folio No,Folyo No&#39;dan,
+To Shareholder,Hissedar Bitişi,
+To Folio No,Bitiş Folyo Numarası,
 Equity/Liability Account,Özkaynak / Sorumluluk Hesabı,
 Asset Account,Öğe Hesabı,
 (including),(dahildir),
 ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
-Folio no.,Folyo numarası.,
+Folio no.,Folyo serisi.,
 Address and Contacts,Adres ve Kişiler,
-Contact List,Kişi listesi,
-Hidden list maintaining the list of contacts linked to Shareholder,Hissedar ile bağlantılı kişilerin listesini koruyan gizli liste,
-Specify conditions to calculate shipping amount,Nakliye miktarını hesaplamak için koşulları belirtin,
+Contact List,Kişi Listesi,
+Hidden list maintaining the list of contacts linked to Shareholder,Hissedar ile bağlantılı alıcıları koruyan gizli liste,
+Specify conditions to calculate shipping amount,Nakliye masraflarını karşılamak için koşullar,
 Shipping Rule Label,Kargo Kural Etiketi,
 example: Next Day Shipping,Örnek: Bir sonraki gün sevkiyat,
 Shipping Rule Type,Nakliye Kuralı Türü,
-Shipping Account,Nakliye Hesap,
-Calculate Based On,Tabanlı hesaplayın,
+Shipping Account,Nakliye Hesabı,
+Calculate Based On,Şuna Göre Hesapla,
 Fixed,Sabit,
 Net Weight,Net Ağırlık,
 Shipping Amount,Kargo Tutarı,
@@ -5208,9 +5208,9 @@
 Restrict to Countries,Ülkelere Kısıtla,
 Valid for Countries,Ülkeler için geçerli,
 Shipping Rule Condition,Kargo Kural Şartları,
-A condition for a Shipping Rule,Nakliye Kuralı için koşul,
-From Value,Değerden,
-To Value,Değer Vermek,
+A condition for a Shipping Rule,Nakliye Kuralı için şart,
+From Value,Baş. Değeri,
+To Value,Bitiş Değeri,
 Shipping Rule Country,Nakliye Kural Ülke,
 Subscription Period,Abonelik Süresi,
 Subscription Start Date,Abonelik Başlangıç Tarihi,
@@ -5219,8 +5219,8 @@
 Trial Period End Date,Deneme Süresi Bitiş Tarihi,
 Current Invoice Start Date,Mevcut Fatura Başlangıç Tarihi,
 Current Invoice End Date,Mevcut Fatura Bitiş Tarihi,
-Days Until Due,Sona Ertelenen Günler,
-Number of days that the subscriber has to pay invoices generated by this subscription,Abonenin bu abonelik tarafından oluşturulan faturaları ödemek zorunda olduğu gün sayısı,
+Days Until Due,Bitişine Kalan Gün Sayısı,
+Number of days that the subscriber has to pay invoices generated by this subscription,Abonenin bu abonelik tarafından faturalarının kesilmesi zorunlu olduğu gün miktarı,
 Cancel At End Of Period,Dönem Sonunda İptal,
 Generate Invoice At Beginning Of Period,Dönem Başında Fatura Yaratın,
 Plans,Planlar,
@@ -5232,27 +5232,27 @@
 Cost,Maliyet,
 Billing Interval,Faturalama Aralığı,
 Billing Interval Count,Faturalama Aralığı Sayısı,
-"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Aralık alanı için aralıkların sayısı, örneğin &#39;Günler&#39; ve Faturalama Aralığı 3 ise, faturalar her 3 günde bir oluşturulur.",
-Payment Plan,Ödeme planı,
+"Number of intervals for the interval field e.g if Interval is 'Days' and Billing Interval Count is 3, invoices will be generated every 3 days","Aralık alanı için aralıkların sayısı, örnek &#39;Günler&#39; ve Faturalama Aralığı 3 ise, faturalar her 3 günde bir oluşturur.",
+Payment Plan,Ödeme tesisi,
 Subscription Plan Detail,Abonelik Planı Ayrıntısı,
 Plan,Plan,
-Subscription Settings,Abonelik ayarları,
-Grace Period,Grace dönemi,
-Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Aboneliği iptal etmeden veya aboneliği ücretsiz olarak işaretlemeden önce fatura tarihinden sonraki gün sayısı geçmiştir.,
+Subscription Settings,Abonelik Ayarları,
+Grace Period,Grace Dönemi,
+Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Aboneliği iptal etmeden veya aboneliği ücretsiz olarak faturadan önce faturanın bitiminden sonraki gün sayısı geçmiştir.,
 Prorate,eşit olarak dağıtmak,
 Tax Rule,Vergi Kuralı,
 Tax Type,Vergi Türü,
-Use for Shopping Cart,Alışveriş Sepeti kullanın,
+Use for Shopping Cart,Alışveriş Sepeti kullanımı,
 Billing City,Fatura Şehri,
 Billing County,Fatura İlçesi,
-Billing State,Fatura Kamu,
-Billing Zipcode,Fatura posta kodu,
+Billing State,Fatura İlçesi/Eyaleti,
+Billing Zipcode,Fatura Posta kodu,
 Billing Country,Fatura Ülkesi,
-Shipping City,Nakliye Şehri,
-Shipping County,Kargo İlçe,
-Shipping State,Nakliye Devlet,
-Shipping Zipcode,Posta kodu,
-Shipping Country,Nakliye Ülke,
+Shipping City,Sevkiyat Şehri,
+Shipping County,Sevkiyat İlçe,
+Shipping State,Sevkiyat Devleti,
+Shipping Zipcode,Sevkiyat kodu,
+Shipping Country,Sevkiyat Ülkesi,
 Tax Withholding Account,Vergi Stopaj Hesabı,
 Tax Withholding Rates,Vergi Stopaj Oranları,
 Rates,Oranlar,
@@ -5260,69 +5260,69 @@
 Single Transaction Threshold,Tek İşlem Eşiği,
 Cumulative Transaction Threshold,Kümülatif İşlem Eşiği,
 Agriculture Analysis Criteria,Tarımsal Analiz Kriterleri,
-Linked Doctype,Bağlı Doctype,
+Linked Doctype,Bağlı Doküman,
 Water Analysis,Su Analizi,
 Soil Analysis,Toprak Analizi,
 Plant Analysis,Bitki Analizi,
 Fertilizer,Gübre,
-Soil Texture,Toprak dokusu,
+Soil Texture,Toprak Dokusu,
 Weather,Hava,
-Agriculture Manager,Tarım Müdürü,
-Agriculture User,Tarım Kullanıcı,
+Agriculture Manager,Tarım Yöneticisi,
+Agriculture User,Tarım Kullanıcısı,
 Agriculture Task,Tarım Görevi,
 Task Name,Görev Adı,
 Start Day,Başlangıç Günü,
-End Day,Gün sonu,
+End Day,Gün Sonu,
 Holiday Management,Tatil Yönetimi,
 Ignore holidays,Tatilleri göz ardı et,
 Previous Business Day,Önceki İş Günü,
-Next Business Day,Bir sonraki iş günü,
+Next Business Day,Bir sonraki iş gününde,
 Urgent,Acil,
-Crop,ekin,
-Crop Name,Bitki Adı,
-Scientific Name,Bilimsel ad,
-"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Burada bu bitki için yapılması gereken tüm görevleri tanımlayabilirsiniz. Gün alanı, görevin yerine getirilmesi gereken günü, 1&#39;i 1. gün olmak üzere belirtmek için kullanılır.",
+Crop,Mahsul,
+Crop Name,Mahsul adı,
+Scientific Name,Bilimsel Adı,
+"You can define all the tasks which need to carried out for this crop here. The day field is used to mention the day on which the task needs to be carried out, 1 being the 1st day, etc.. ","Burada bu bitki için yapılması gereken tüm görevleri tanımlayabilirsiniz. Gün alanı, görevin yerine getirilmesi gereken gün, 1'i 1. gün olmak üzere dikkat için kullanılır.",
 Crop Spacing,Kırpma Aralığı,
 Crop Spacing UOM,Kırpma Aralığı UOM,
 Row Spacing,Satır Aralığı,
 Row Spacing UOM,Satır Aralığı UOM,
-Perennial,uzun ömürlü,
-Biennial,iki yıllık,
-Planting UOM,Dikim UOM,
+Perennial,Uzun ömürlü,
+Biennial,İki yıllık,
+Planting UOM,Dikim Birimi,
 Planting Area,Dikim Alanı,
-Yield UOM,Verim UOM,
-Materials Required,Gerekli malzemeler,
+Yield UOM,Verim ölçü birimi,
+Materials Required,gerekli özellikler,
 Produced Items,Üretilen Ürünler,
-Produce,Üretmek,
+Produce,Üret,
 Byproducts,Yan ürünler,
-Linked Location,Bağlantılı Konum,
+Linked Location,Bağlı Konum,
 A link to all the Locations in which the Crop is growing,Mahsulün büyüdüğü tüm Yerlerin bağlantısı,
-This will be day 1 of the crop cycle,"Bu, mahsul döngüsü 1. gündür",
+This will be day 1 of the crop cycle,"Bu, sarfiyatı 1. kademeleri",
 ISO 8601 standard,ISO 8601 standardı,
 Cycle Type,Döngü Türü,
-Less than a year,Bir yıldan daha az,
-The minimum length between each plant in the field for optimum growth,Optimal büyüme için tarladaki her bitki arasındaki minimum uzunluk,
+Less than a year,Bir koleksiyonu daha az,
+The minimum length between each plant in the field for optimum growth,Optimal büyüme için tarladaki her bitki arasındaki minimum uzunluklar,
 The minimum distance between rows of plants for optimum growth,Optimum büyüme için bitki sıraları arasındaki minimum mesafe,
 Detected Diseases,Algılanan Hastalıklar,
-List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Sahada tespit edilen hastalıkların listesi. Seçildiğinde, hastalıkla başa çıkmak için görevlerin bir listesi otomatik olarak eklenir.",
+List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Sahada tespit edilen liste. Seçildiğinde, hastalıkla başa çıkmak için programların bir listesine otomatik olarak eklenir.",
 Detected Disease,Algılanan Hastalık,
 LInked Analysis,Soluk Analiz,
-Disease,hastalık,
+Disease,Hastalık,
 Tasks Created,Oluşturulan Görevler,
-Common Name,Yaygın isim,
+Common Name,Yaygın Adı,
 Treatment Task,Tedavi Görevi,
 Treatment Period,Tedavi Süresi,
 Fertilizer Name,Gübre Adı,
 Density (if liquid),Yoğunluk (sıvı varsa),
 Fertilizer Contents,Gübre İçeriği,
-Fertilizer Content,Gübre İçerik,
+Fertilizer Content,Gübre İçeriği,
 Linked Plant Analysis,Bağlı Bitki Analizi,
 Linked Soil Analysis,Bağlı Toprak Analizi,
 Linked Soil Texture,Bağlı Toprak Doku,
 Collection Datetime,Koleksiyon Datetime,
 Laboratory Testing Datetime,Laboratuvar Testi Datetime,
 Result Datetime,Sonuç Sonrası Tarih,
-Plant Analysis Criterias,Bitki Analizi Kriterleri,
+Plant Analysis Criterias,Bitki Analiz Kriterleri,
 Plant Analysis Criteria,Bitki Analiz Kriterleri,
 Minimum Permissible Value,Minimum İzin Verilebilir Değer,
 Maximum Permissible Value,Maksimum İzin Verilebilir Değer,
@@ -5330,57 +5330,57 @@
 Ca/Mg,Ca / Mg,
 Mg/K,Mg / K,
 (Ca+Mg)/K,(Ca+Mg)/K,
-Ca/(K+Ca+Mg),"Ca / (K +, Ca + Mg)",
+Ca/(K+Ca+Mg),"Ca / (K+, Ca+Mg)",
 Soil Analysis Criterias,Toprak Analiz Kriterleri,
 Soil Analysis Criteria,Toprak Analiz Kriterleri,
-Soil Type,Toprak tipi,
-Loamy Sand,Loanty Sand,
-Sandy Loam,Kumlu kumlu,
-Loam,verimli toprak,
-Silt Loam,Silt kumu,
+Soil Type,Toprak Tipi,
+Loamy Sand,Ödünç Kum,
+Sandy Loam,Kumlu Tın,
+Loam,Verimli toprak,
+Silt Loam,Alüvyon kumu,
 Sandy Clay Loam,Kumlu killi balçık,
 Clay Loam,Killi toprak,
-Silty Clay Loam,Silty Clay Loam,
+Silty Clay Loam,Siltli Kil Tın,
 Sandy Clay,Kumlu kil,
-Silty Clay,Silty Clay,
+Silty Clay,Siltli Kil,
 Clay Composition (%),Kil Kompozisyonu (%),
 Sand Composition (%),Kum Bileşimi (%),
-Silt Composition (%),Silt Kompozisyonu (%),
+Silt Composition (%),Silt Kompozisyon (%),
 Ternary Plot,Üç parsel,
 Soil Texture Criteria,Toprak Doku Kriterleri,
 Type of Sample,Numune Türü,
-Container,konteyner,
+Container,Konteyner,
 Origin,Menşei,
-Collection Temperature ,Toplama Sıcaklığı,
-Storage Temperature,Depolama sıcaklığı,
+Collection Temperature ,Toplam Sıcaklık,
+Storage Temperature,Depolama Sıcaklığı,
 Appearance,Görünüm,
-Person Responsible,Sorumlu kişi,
+Person Responsible,Sorumlu Kişi,
 Water Analysis Criteria,Su Analiz Kriterleri,
 Weather Parameter,Hava Durumu Parametresi,
 ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
 Asset Owner,Varlık Sahibi,
 Asset Owner Company,Varlık Sahibi Firma,
-Custodian,bekçi,
-Disposal Date,Bertaraf tarihi,
-Journal Entry for Scrap,Hurda için kayıt girişi,
+Custodian,Bekçi,
+Disposal Date,Bertaraf Tarihi,
+Journal Entry for Scrap,Hurda için Yevmiye Kaydı,
 Available-for-use Date,Kullanılabileceği Tarih,
 Calculate Depreciation,Amortisman Hesapla,
 Allow Monthly Depreciation,Aylık Amortismana İzin Ver,
-Number of Depreciations Booked,Amortismanlar sayısı rezervasyonu,
-Finance Books,Finans Kitapları,
+Number of Depreciations Booked,Amortisman miktarı tayini,
+Finance Books,Mali Defter,
 Straight Line,Düz Çizgi,
 Double Declining Balance,Çift Azalan Bakiye,
 Manual,Manuel,
 Value After Depreciation,Amortisman sonra değer,
-Total Number of Depreciations,Amortismanlar Sayısı,
+Total Number of Depreciations,Amortisman Sayısı,
 Frequency of Depreciation (Months),Amortisman Frekans (Ay),
 Next Depreciation Date,Bir sonraki değer kaybı tarihi,
 Depreciation Schedule,Amortisman Programı,
 Depreciation Schedules,Amortisman Çizelgeleri,
-Insurance details,Sigorta ayrıntıları,
+Insurance details,Sigorta detayları,
 Policy number,Poliçe numarası,
 Insurer,sigortacı,
-Insured value,Sigortalanmış değeri,
+Insured value,Sigortalanmış değer,
 Insurance Start Date,Sigorta Başlangıç Tarihi,
 Insurance End Date,Sigorta Bitiş Tarihi,
 Comprehensive Insurance,Kapsamlı Sigorta,
@@ -5388,26 +5388,26 @@
 Check if Asset requires Preventive Maintenance or Calibration,Varlık Önleyici Bakım veya Kalibrasyon gerektirir kontrol edin,
 Booked Fixed Asset,Rezerve Edilmiş Duran Varlık,
 Purchase Receipt Amount,Satınalma Tutarı Tutarı,
-Default Finance Book,Varsayılan Finans Kitabı,
-Quality Manager,Kalite Müdürü,
+Default Finance Book,Varsayılan Mali Defter,
+Quality Manager,Kalite Yöneticisi,
 Asset Category Name,Varlık Kategorisi,
 Depreciation Options,Amortisman Seçenekleri,
-Enable Capital Work in Progress Accounting,Devam Eden Muhasebede Sermaye Çalışmasını Etkinleştir,
-Finance Book Detail,Finans Kitap Detayı,
+Enable Capital Work in Progress Accounting,Yarı Mamül Muhasebesini Etkinleştirin,
+Finance Book Detail,Mali Defter Detayı,
 Asset Category Account,Varlık Tipi Hesabı,
-Fixed Asset Account,Sabit Varlık Hesabı,
+Fixed Asset Account,Sabit Kıymet Hesabı,
 Accumulated Depreciation Account,Birikmiş Amortisman Hesabı,
 Depreciation Expense Account,Amortisman Giderleri Hesabı,
-Capital Work In Progress Account,İlerleme Hesabında Sermaye Çalışması,
-Asset Finance Book,Varlık Finans Kitabı,
+Capital Work In Progress Account,Sermaye Yarı Mamül Hesabı,
+Asset Finance Book,Varlık Mali Defteri,
 Written Down Value,Yazılı Değer,
 Expected Value After Useful Life,Kullanım süresi sonunda beklenen değer,
 Rate of Depreciation,Amortisman Oranı,
-In Percentage,Yüzde olarak,
-Maintenance Team,Bakım ekibi,
+In Percentage,yüzde olarak,
+Maintenance Team,bakım ekibi,
 Maintenance Manager Name,Bakım Yöneticisi Adı,
 Maintenance Tasks,Bakım Görevleri,
-Manufacturing User,Üretim Kullanıcı,
+Manufacturing User,Üretim Kullanıcısı,
 Asset Maintenance Log,Varlık Bakım Günlüğü,
 ACC-AML-.YYYY.-,ACC-AML-.YYYY.-,
 Maintenance Type,Bakım Türü,
@@ -5419,7 +5419,7 @@
 Asset Maintenance Task,Varlık Bakımı Görevi,
 Maintenance Task,Bakım Görevi,
 Preventive Maintenance,Koruyucu Bakım,
-Calibration,ayarlama,
+Calibration,ayarlamak,
 2 Yearly,2 Yıllık,
 Certificate Required,Sertifika Gerekli,
 Assign to Name,İsme Ata,
@@ -5429,12 +5429,12 @@
 Maintenance Team Name,Bakım Takım Adı,
 Maintenance Team Members,Bakım Ekibi Üyeleri,
 Purpose,Amaç,
-Stock Manager,Stok Müdürü,
+Stock Manager,Stok Yöneticisi,
 Asset Movement Item,Varlık Hareketi Öğesi,
 Source Location,Kaynak Konum,
-From Employee,Çalışanlardan,
-Target Location,Hedef konum,
-To Employee,Çalışanlara,
+From Employee,çalışanlardan,
+Target Location,hedef konum,
+To Employee,çalışanlara,
 Asset Repair,Varlık Tamiri,
 ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
 Failure Date,Başarısızlık Tarihi,
@@ -5443,72 +5443,72 @@
 Error Description,Hata tanımlaması,
 Downtime,Kesinti,
 Repair Cost,Tamir Ücreti,
-Manufacturing Manager,Üretim Müdürü,
+Manufacturing Manager,Üretim Yöneticisi,
 Current Asset Value,Mevcut Varlık Değeri,
 New Asset Value,Yeni Varlık Değeri,
 Make Depreciation Entry,Amortisman kaydı yap,
-Finance Book Id,Finans Defteri Kimliği,
+Finance Book Id,Mali Defter Kimliği,
 Location Name,Yer ismi,
 Parent Location,Ana Konum,
 Is Container,Konteyner mu,
-Check if it is a hydroponic unit,Hidroponik bir birim olup olmadığını kontrol edin,
+Check if it is a hydroponic unit,Hidroponik bir ünite olup olmadığını kontrol edin,
 Location Details,Konum Detayları,
 Latitude,Enlem,
-Longitude,Boylam,
+Longitude,boylam,
 Area,alan,
 Area UOM,Alan UOM,
 Tree Details,ağaç Detayları,
 Maintenance Team Member,Bakım Ekibi Üyesi,
-Team Member,Takım üyesi,
+Team Member,takım üyesi,
 Maintenance Role,Bakım Rolü,
 Buying Settings,Satınalma Ayarları,
-Settings for Buying Module,Modülü satın almak için Ayarlar,
-Supplier Naming By,Tedarikçi İsimlendirme,
+Settings for Buying Module,Modülü satınalmak için Ayarlar,
+Supplier Naming By,Tedarikçi Adlandırma,
 Default Supplier Group,Varsayılan Tedarikçi Grubu,
 Default Buying Price List,Standart Alış Fiyat Listesi,
-Backflush Raw Materials of Subcontract Based On,Alt Yüklenmeye Dayalı Backflush Hammaddeleri,
-Material Transferred for Subcontract,Taşeron için Malzeme Transferi,
+Backflush Raw Materials of Subcontract Based On,Taşeronluk Hammadde Maliyetini Şuna göre yap,
+Material Transferred for Subcontract,Taşeron için Transfer Edilen Malzeme,
 Over Transfer Allowance (%),Aşırı Transfer Ödeneği (%),
-Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Yüzde, sipariş edilen miktara karşı daha fazla transfer yapmanıza izin verilir. Örneğin: 100 birim sipariş ettiyseniz. Harcırahınız% 10&#39;dur ve 110 birim aktarmanıza izin verilir.",
+Percentage you are allowed to transfer more against the quantity ordered. For example: If you have ordered 100 units. and your Allowance is 10% then you are allowed to transfer 110 units.,"Yüzde, sipariş edilen miktara karşı daha fazla transfer yapmanıza izin verilir. Örneğin: 100 birim sipariş ettiyseniz. Harcırahınız %10'dur ve 110 birim aktarmanıza izin verilecektir.",
 PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
-Get Items from Open Material Requests,Açık Malzeme Talepleri Öğeleri alın,
-Fetch items based on Default Supplier.,Varsayılan Tedarikçiye göre öğeleri getir.,
+Get Items from Open Material Requests,Açık Malzeme Talepleri Öğeleri Alındı,
+Fetch items based on Default Supplier.,Varsayılan tedarikçiye göre öğeleri getirin.,
 Required By,Gerekli,
-Order Confirmation No,Sipariş Onayı No,
+Order Confirmation No,Sipariş Onay No,
 Order Confirmation Date,Sipariş Onay Tarihi,
-Customer Mobile No,Müşteri Mobil Hayır,
-Customer Contact Email,Müşteri İletişim E-mail,
+Customer Mobile No,Müşteri Mobil No,
+Customer Contact Email,Müşteri İletişim E-posta,
 Set Target Warehouse,Hedef Deposunu Ayarla,
-Sets 'Warehouse' in each row of the Items table.,Kalemler tablosunun her satırında &#39;Depo&#39; ayarlar.,
+Sets 'Warehouse' in each row of the Items table.,Kalemler tablosunun her tablosunda &#39;Depo&#39; ayarlar.,
 Supply Raw Materials,Tedarik Hammaddeler,
 Purchase Order Pricing Rule,Satınalma Siparişi Fiyatlandırma Kuralı,
 Set Reserve Warehouse,Rezerv Deposunu Ayarla,
-In Words will be visible once you save the Purchase Order.,Sözlü Alım belgesini kaydettiğinizde görünür olacaktır.,
-Advance Paid,Peşin Ödenen,
-Tracking,Takip,
-% Billed,% Faturalanan,
+In Words will be visible once you save the Purchase Order.,Alış Siparişini kaydettiğinizde Yazıyla görünür olacaktır.,
+Advance Paid,Ödenen Avans,
+Tracking,Takip etme,
+% Billed,% Faturalandı,
 % Received,% Alındı,
 Ref SQ,Ref SQ,
-Inter Company Order Reference,Şirketler Arası Sipariş Referansı,
-Supplier Part Number,Tedarikçi Parti Numarası,
+Inter Company Order Reference,Şirketler arası Sipariş Referansı,
+Supplier Part Number,Tedarikçi Parça Numarası,
 Billed Amt,Faturalı Tutarı,
 Warehouse and Reference,Depo ve Referans,
 To be delivered to customer,Müşteriye teslim edilmek üzere,
 Material Request Item,Malzeme Talebi Kalemi,
 Supplier Quotation Item,Tedarikçi Teklif ürünü,
-Against Blanket Order,Battaniye Siparişine Karşı,
-Blanket Order,Battaniye siparişi,
-Blanket Order Rate,Battaniye Sipariş Hızı,
+Against Blanket Order,Açık Siparişe Karşı,
+Blanket Order,Açık Sipariş,
+Blanket Order Rate,Açık Sipariş Oranı,
 Returned Qty,İade edilen Adet,
-Purchase Order Item Supplied,Tedarik edilen Satınalma Siparişi Ürünü,
+Purchase Order Item Supplied,Tedarik Edilen Satınalma Siparişi Ürünü,
 BOM Detail No,BOM Detay yok,
 Stock Uom,Stok Ölçü Birimi,
 Raw Material Item Code,Hammadde Malzeme Kodu,
-Supplied Qty,Verilen Adet,
-Purchase Receipt Item Supplied,Tedarik edilen satın alma makbuzu ürünü,
+Supplied Qty,verilen Adet,
+Purchase Receipt Item Supplied,Tedarik edilen satınalma makbuzu ürünü,
 Current Stock,Güncel Stok,
 PUR-RFQ-.YYYY.-,PUR-TT-.YYYY.-,
-For individual supplier,Bireysel tedarikçi,
+For individual supplier,Bireysel tedarikçi için,
 Link to Material Requests,Malzeme Taleplerine Bağlantı,
 Message for Supplier,Tedarikçi için mesaj,
 Request for Quotation Item,Fiyat Teklif Talebi Kalemi,
@@ -5517,96 +5517,96 @@
 Send Email,E-posta Gönder,
 Quote Status,Alıntı Durumu,
 Download PDF,PDF İndir,
-Supplier of Goods or Services.,Mal veya Hizmet alanı.,
+Supplier of Goods or Services.,Mal veya Hizmet Sağlayıcısı.,
 Name and Type,Adı ve Türü,
 SUP-.YYYY.-,SUP-.YYYY.-,
 Default Bank Account,Varsayılan Banka Hesabı,
-Is Transporter,Taşıyıcı,
-Represents Company,Şirketi temsil eder,
+Is Transporter,Nakliyeci mi,
+Represents Company,Şirketi Temsil eder,
 Supplier Type,Tedarikçi Türü,
-Allow Purchase Invoice Creation Without Purchase Order,Satın Alma Siparişi Olmadan Satın Alma Faturası Oluşturmaya İzin Ver,
-Allow Purchase Invoice Creation Without Purchase Receipt,Satın Alma Makbuzu Olmadan Satın Alma Faturası Oluşturmaya İzin Ver,
-Warn RFQs,RFQ&#39;ları uyar,
+Allow Purchase Invoice Creation Without Purchase Order,Satınalma Siparişi olmadan Satınalma Faturası Oluşturmaya İzin Ver,
+Allow Purchase Invoice Creation Without Purchase Receipt,Satınalma İrsaliye olmadan Satınalma Faturası Oluşturmaya İzin Ver,
+Warn RFQs,RFQ&#39;ları Uyar,
 Warn POs,Dikkatli Uyarılar Uyar,
-Prevent RFQs,RFQ&#39;ları önle,
-Prevent POs,PO&#39;ları önle,
+Prevent RFQs,RFQ'ları Önle,
+Prevent POs,PO'ları Önle,
 Billing Currency,Fatura Para Birimi,
-Default Payment Terms Template,Varsayılan Ödeme Koşulları Şablonu,
-Block Supplier,Tedarikçi,
+Default Payment Terms Template,Varsayılan Ödeme Vadesi Şablonu,
+Block Supplier,Tedarikçiyi Engelle,
 Hold Type,Tutma Tipi,
-Leave blank if the Supplier is blocked indefinitely,Tedarikçi süresiz olarak engellendiyse boş bırak,
+Leave blank if the Supplier is blocked indefinitely,tedarikçi süresiz olarak engellendiyse boş bırakma,
 Default Payable Accounts,Standart Borç Hesapları,
-Mention if non-standard payable account,Standart dışı borç hesabı ise,
-Default Tax Withholding Config,Varsayılan Vergi Stopaj Yapılandırması,
+Mention if non-standard payable account,Standart dışı borç hesabı varsa belirtin,
+Default Tax Withholding Config,Varsayılan Vergi Durdurma Yapılandırması,
 Supplier Details,Tedarikçi Ayrıntıları,
 Statutory info and other general information about your Supplier,Tedarikçiniz hakkında yasal bilgiler ve diğer genel bilgiler,
 PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
 Supplier Address,Tedarikçi Adresi,
-Link to material requests,materyal isteklere Bağlantı,
+Link to material requests,Malzeme taleplerine bağlantı,
 Rounding Adjustment (Company Currency,Yuvarlama Ayarı (Şirket Kuru,
 Auto Repeat Section,Otomatik Tekrar Bölümü,
-Is Subcontracted,Taşerona verilmiş,
-Lead Time in days,Teslim Zamanı gün olarak,
+Is Subcontracted,Taşerona verildi,
+Lead Time in days,Teslim Süresi gün olarak,
 Supplier Score,Tedarikçi Puanı,
 Indicator Color,Gösterge Rengi,
 Evaluation Period,Değerlendirme Süresi,
 Per Week,Haftada,
-Per Month,Her ay,
+Per Month,onun ay,
 Per Year,Yıl başına,
 Scoring Setup,Puanlama Ayarları,
 Weighting Function,Ağırlıklandırma İşlevi,
-"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Puan kartı değişkenleri yanı sıra: {total_score} (o dönemin toplam puanı), {period_number} (mevcut gün sayısının sayısı)",
+"Scorecard variables can be used, as well as:\n{total_score} (the total score from that period),\n{period_number} (the number of periods to present day)\n","Puan kartı değişkenleri yanı sıra: {total_score} (o dönem toplam puanı), {period_number} (mevcut gün genel sayısı)",
 Scoring Standings,Puanlama Puanları,
 Criteria Setup,Ölçütler Kurulumu,
-Load All Criteria,Tüm Ölçütleri Yükle,
+Load All Criteria,Tüm Ölçüleri Yükle,
 Scoring Criteria,Puanlama Kriterleri,
 Scorecard Actions,Kart Kartı İşlemleri,
-Warn for new Request for Quotations,Teklifler için yeni İstek uyarısı yapın,
-Warn for new Purchase Orders,Yeni Satın Alma Siparişi için Uyarı,
-Notify Supplier,Tedarikçiye bildir,
-Notify Employee,Çalışana bildir,
+Warn for new Request for Quotations,Teklifler için yeni istek uyarısı yapın,
+Warn for new Purchase Orders,Yeni Satınalma Siparişi için Uyarı,
+Notify Supplier,tedarikçiye bildir,
+Notify Employee,çalışana bildir,
 Supplier Scorecard Criteria,Tedarikçi Puan Kartı Kriterleri,
 Criteria Name,Ölçütler Adı,
 Max Score,Maksimum Skor,
-Criteria Formula,Kriterler Formül,
+Criteria Formula,Kriterler Formülü,
 Criteria Weight,Ölçütler Ağırlık,
-Supplier Scorecard Period,Tedarikçi Puan Kartı Dönemi,
+Supplier Scorecard Period,tedarikçisi Puan Kartı Dönemi,
 PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
 Period Score,Dönem Notu,
 Calculations,Hesaplamalar,
 Criteria,Kriterler,
-Variables,Değişkenler,
-Supplier Scorecard Setup,Tedarikçi Puan Kartı Kurulumu,
+Variables,değişkenler,
+Supplier Scorecard Setup,tedarikçisi Puan Kartı Kurulumu,
 Supplier Scorecard Scoring Criteria,Tedarikçi Puan Kartı Puanlama Kriterleri,
 Score,Gol,
-Supplier Scorecard Scoring Standing,Tedarikçi Puan Kartı Puanlama,
+Supplier Scorecard Scoring Standing,tedarikçi Puan Kartı Puanlama,
 Standing Name,Daimi Adı,
-Purple,Mor,
-Yellow,sarı,
+Purple,mor,
+Yellow,sari,
 Orange,Portakal,
-Min Grade,Min Grade,
+Min Grade,Asgari Not,
 Max Grade,Maksimum Sınıf,
 Warn Purchase Orders,Satınalma Siparişlerini Uyarın,
 Prevent Purchase Orders,Satınalma Siparişlerini Önleme,
 Employee ,Çalışan,
-Supplier Scorecard Scoring Variable,Tedarikçi Puan Kartı Değişken Skorlama,
-Variable Name,Değişken Adı,
+Supplier Scorecard Scoring Variable,tedarikçisi Puan Kartı değişken Skorlama,
+Variable Name,işletim Adı,
 Parameter Name,Parametre Adı,
-Supplier Scorecard Standing,Tedarikçi Puan Kartı Daimi,
+Supplier Scorecard Standing,Tedarikçi Puan Kartı Durumu,
 Notify Other,Diğerini bildir,
 Supplier Scorecard Variable,Tedarikçi Puan Kartı Değişkeni,
-Call Log,Çağrı geçmişi,
-Received By,Tarafından alındı,
+Call Log,çağrı geçmişi,
+Received By,gözaltına alındı,
 Caller Information,Arayan bilgisi,
 Contact Name,İrtibat İsmi,
-Lead ,Öncülük etmek,
-Lead Name,Potansiyel Müşteri Adı,
-Ringing,çınlama,
+Lead ,Müşteri Adayı ,
+Lead Name,Müşteri Aday Adı,
+Ringing,Ringing,
 Missed,Kaçırılan,
-Call Duration in seconds,Saniye cinsinden Çağrı Süresi,
+Call Duration in seconds,Saniye süresi Çağrı Süresi,
 Recording URL,URL kaydetme,
 Communication Medium,Haberleşme Orta,
-Communication Medium Type,İletişim Orta Tip,
+Communication Medium Type,İletişim Orta İpucu,
 Voice,ses,
 Catch All,Tümünü Yakala,
 "If there is no assigned timeslot, then communication will be handled by this group","Atanan zaman dilimi yoksa, iletişim bu grup tarafından gerçekleştirilecektir.",
@@ -5614,16 +5614,16 @@
 Communication Medium Timeslot,İletişim Orta Zaman Çizelgesi,
 Employee Group,Çalışan Grubu,
 Appointment,Randevu,
-Scheduled Time,Planlanmış zaman,
-Unverified,doğrulanmamış,
+Scheduled Time,Planlanmış Zaman,
+Unverified,Doğrulanmamış,
 Customer Details,Müşteri Detayları,
-Phone Number,Telefon numarası,
-Skype ID,Skype kullanıcı adı,
-Linked Documents,Bağlantılı Belgeler,
-Appointment With,İle randevu,
+Phone Number,Telefon Numarası,
+Skype ID,Skype ID,
+Linked Documents,Bağlı Belgeler,
+Appointment With,Randevu Bununla İlişkili,
 Calendar Event,Takvim Etkinliği,
 Appointment Booking Settings,Randevu Rezervasyon Ayarları,
-Enable Appointment Scheduling,Randevu Zamanlamayı Etkinleştir,
+Enable Appointment Scheduling,Randevu Zamanlamayı Etkinleştirme,
 Agent Details,Temsilci Detayları,
 Availability Of Slots,Yuvaların Kullanılabilirliği,
 Number of Concurrent Appointments,Eşzamanlı Randevu Sayısı,
@@ -5631,50 +5631,50 @@
 Appointment Details,Randevu Detayları,
 Appointment Duration (In Minutes),Randevu Süresi (Dakika),
 Notify Via Email,E-posta ile Bildir,
-Notify customer and agent via email on the day of the appointment.,Randevu günü e-posta yoluyla müşteriyi ve acenteyi bilgilendirin.,
-Number of days appointments can be booked in advance,Randevuların önceden alınabileceği gün sayısı,
+Notify customer and agent via email on the day of the appointment.,Randevu gününde e-posta yoluyla müşteriyi ve acenteyi bilgilendirin.,
+Number of days appointments can be booked in advance,Randevuların ölçü alınabileceği gün sayısı,
 Success Settings,Başarı Ayarları,
-Success Redirect URL,Başarı Yönlendirme URL&#39;si,
-"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Ev için boş bırakın. Bu site URL&#39;sine göredir, örneğin &quot;yaklaşık&quot;, &quot;https://alanadiniz.com.tr/about&quot; adresine yönlendirir",
+Success Redirect URL,Başarı Yönlendirme URL'si,
+"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Ev için boş bırakın. Bu site URL'sine göredir, örneğin &quot;yaklaşık&quot;, &quot;https://alanadınız.com.tr/about&quot; teslim yönlendirmeleri",
 Appointment Booking Slots,Randevu Rezervasyon Slotları,
 Day Of Week,Haftanın günü,
-From Time ,Zamandan,
+From Time ,Baş. Süresi,
 Campaign Email Schedule,Kampanya E-posta Programı,
 Send After (days),Sonra Gönder (gün),
-Signed,İmzalanmış,
-Party User,Parti Kullanıcısı,
-Unsigned,imzasız,
+Signed,İmzalandı,
+Party User,Cari Kullanıcısı,
+Unsigned,İmzalanmadı,
 Fulfilment Status,Yerine Getirilme Durumu,
 N/A,N / A,
 Unfulfilled,yerine getirilmemiş,
 Partially Fulfilled,Kısmen Yerine Getirildi,
 Fulfilled,Karşılanan,
-Lapsed,Sona,
+Lapsed,Süresi dolmuş,
 Contract Period,Sözleşme süresi,
-Signee Details,Signee Detayları,
-Signee,altına imza atanları,
-Signed On,İmzalandı,
+Signee Details,Signee Ayrıntıları,
+Signee,İmza Atan,
+Signed On,İmzalama tarihi,
 Contract Details,Sözleşme Detayları,
 Contract Template,Sözleşme Şablonu,
-Contract Terms,Anlaşma koşulları,
+Contract Terms,Sözleşme koşulları,
 Fulfilment Details,Yerine Getirme Detayları,
 Requires Fulfilment,Yerine Getirilmesi Gerekir,
-Fulfilment Deadline,Son teslim tarihi,
+Fulfilment Deadline,Son Teslim Tarihi,
 Fulfilment Terms,Yerine Getirme Koşulları,
 Contract Fulfilment Checklist,Sözleşme Yerine Getirilmesi Kontrol Listesi,
-Requirement,gereklilik,
-Contract Terms and Conditions,Sözleşme Hüküm ve Koşulları,
-Fulfilment Terms and Conditions,Yerine Getirme Koşulları ve Koşulları,
+Requirement,Gereklilik,
+Contract Terms and Conditions,Sözleşme Hüküm ve Hükümleri,
+Fulfilment Terms and Conditions,Yerine Getirme Hükümleri ve Hükümleri,
 Contract Template Fulfilment Terms,Sözleşme Şablonu Yerine Getirilmesi Şartları,
 Email Campaign,E-posta Kampanyası,
 Email Campaign For ,E-posta Kampanyası,
 Lead is an Organization,Kurşun bir Teşkilattır,
 CRM-LEAD-.YYYY.-,CRM-KURŞUN-.YYYY.-,
 Person Name,Kişi Adı,
-Lost Quotation,Kayıp Teklif,
+Lost Quotation,Teklif Kaybedildi,
 Interested,İlgili,
-Converted,Dönüştürülmüş,
-Do Not Contact,İrtibata Geçmeyin,
+Converted,Dönüştürüldü,
+Do Not Contact,İletişime Geçme,
 From Customer,Müşteriden,
 Campaign Name,Kampanya Adı,
 Follow Up,Takip et,
@@ -5683,7 +5683,7 @@
 Ends On,Bitiş Tarihi,
 Address & Contact,Adres ve İrtibat,
 Mobile No.,Cep No,
-Lead Type,Potansiyel Müşteri Tipi,
+Lead Type,Aday Tipi,
 Channel Partner,Kanal Ortağı,
 Consultant,Danışman,
 Market Segment,Pazar Segmenti,
@@ -5692,46 +5692,46 @@
 Product Enquiry,Ürün Sorgulama,
 Request for Information,Bilgi İsteği,
 Suggestions,Öneriler,
-Blog Subscriber,Blog Abone,
+Blog Subscriber,Blog Abonesi,
 LinkedIn Settings,LinkedIn Ayarları,
-Company ID,Şirket Kimliği,
+Company ID,Şirket ID,
 OAuth Credentials,OAuth Kimlik Bilgileri,
-Consumer Key,Tüketici anahtarı,
-Consumer Secret,tüketici mahremiyeti,
-User Details,Kullanıcı detayları,
+Consumer Key,Consumer Key,
+Consumer Secret,Consumer Secret,
+User Details,Kullanıcı Detayları,
 Person URN,Kişi URN,
 Session Status,Oturum Durumu,
 Lost Reason Detail,Sebep Ayrıntısı,
-Opportunity Lost Reason,Fırsat Kayıp Sebep,
-Potential Sales Deal,Potansiyel Satış Fırsat,
+Opportunity Lost Reason,Fırsat Kayıp Nedeni,
+Potential Sales Deal,Potansiyel Satış Anlaşması,
 CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
-Opportunity From,Fırsattan itibaren,
-Customer / Lead Name,Müşteri/ İlk isim,
+Opportunity From,Fırsat Nerden,
+Customer / Lead Name,Müşteri / Aday Adı,
 Opportunity Type,Fırsat Türü,
-Converted By,Tarafından Dönüştürüldü,
-Sales Stage,Satış aşaması,
+Converted By,Dönüştüren,
+Sales Stage,Satış Aşaması,
 Lost Reason,Kayıp Nedeni,
 Expected Closing Date,Beklenen Kapanış Tarihi,
 To Discuss,Görüşülecek,
 With Items,Öğeler ile,
 Probability (%),Olasılık (%),
-Contact Info,İletişim Bilgileri,
-Customer / Lead Address,Müşteri Adresi,
-Contact Mobile No,İrtibat Mobil No,
+Contact Info,İletişim Bilgisi,
+Customer / Lead Address,Müşteri / Aday Adresi,
+Contact Mobile No,İletişim Cep No,
 Enter name of campaign if source of enquiry is campaign,Sorgu kaynağı kampanya ise kampanya adı girin,
-Opportunity Date,Fırsat tarihi,
+Opportunity Date,Fırsat Tarihi,
 Opportunity Item,Fırsat Ürünü,
 Basic Rate,Temel Oran,
-Stage Name,Sahne adı,
+Stage Name,Aşama Adı,
 Social Media Post,Sosyal Medya Gönderisi,
-Post Status,Gönderi Durumu,
+Post Status,Gönderim Durumu,
 Posted,Gönderildi,
 Share On,Paylaş,
-Twitter,Twitter,
+Twitter,twitter,
 LinkedIn,LinkedIn,
-Twitter Post Id,Twitter Gönderi Kimliği,
-LinkedIn Post Id,LinkedIn Gönderi Kimliği,
-Tweet,Cıvıldamak,
+Twitter Post Id,Twitter Gönderim Kimliği,
+LinkedIn Post Id,LinkedIn Gönderim Kimliği,
+Tweet,Civildamak,
 Twitter Settings,Twitter Ayarları,
 API Secret Key,API Gizli Anahtarı,
 Term Name,Dönem Adı,
@@ -5741,42 +5741,42 @@
 Academic Year Name,Akademik Yıl Adı,
 Article,makale,
 LMS User,LMS Kullanıcısı,
-Assessment Criteria Group,Değerlendirme Ölçütleri Grup,
+Assessment Criteria Group,Değerlendirme Ölçüleri Grup,
 Assessment Group Name,Değerlendirme Grubu Adı,
 Parent Assessment Group,Veli Değerlendirme Grubu,
 Assessment Name,Değerlendirme Adı,
-Grading Scale,Notlandırma ölçeği,
+Grading Scale,Notlandırma cihazı,
 Examiner,müfettiş,
-Examiner Name,sınav Adı,
-Supervisor,supervisor,
+Examiner Name,sınav adı,
+Supervisor,süpervizör,
 Supervisor Name,Süpervizör Adı,
-Evaluate,Değerlendirmek,
+Evaluate,değerlendirme,
 Maximum Assessment Score,Maksimum Değerlendirme Puanı,
 Assessment Plan Criteria,Değerlendirme Planı Kriterleri,
 Maximum Score,Maksimum Skor,
 Result,Sonuç,
-Total Score,Toplam puan,
+Total Score,toplam puan,
 Grade,sınıf,
 Assessment Result Detail,Değerlendirme Sonuçlarının Ayrıntıları,
 Assessment Result Tool,Değerlendirme Sonucu Aracı,
-Result HTML,Sonuç HTML,
+Result HTML,sonuç HTML,
 Content Activity,İçerik Etkinliği,
-Last Activity ,son Aktivite,
+Last Activity ,oğlu Aktivite,
 Content Question,İçerik Sorusu,
 Question Link,Soru Bağlantısı,
 Course Name,Ders Adı,
-Topics,Başlıklar,
+Topics,başlıklar,
 Hero Image,Kahraman Resmi,
 Default Grading Scale,Varsayılan Derecelendirme Ölçeği,
-Education Manager,Eğitim Müdürü,
+Education Manager,Eğitim Yöneticisi,
 Course Activity,Kurs Etkinliği,
-Course Enrollment,Kurs Kayıt,
+Course Enrollment,Kür Kayıt,
 Activity Date,Faaliyet Tarihi,
 Course Assessment Criteria,Ders Değerlendirme Kriterleri,
 Weightage,Ağırlık,
 Course Content,Kurs içeriği,
 Quiz,bilgi yarışması,
-Program Enrollment,programı Kaydı,
+Program Enrollment,programı kayıdı,
 Enrollment Date,başvuru tarihi,
 Instructor Name,Öğretim Elemanının Adı,
 EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
@@ -5792,30 +5792,30 @@
 Current Academic Term,Mevcut Akademik Dönem,
 Attendance Freeze Date,Seyirci Dondurma Tarihi,
 Validate Batch for Students in Student Group,Öğrenci Topluluğundaki Öğrenciler İçin Toplu İşi Doğrula,
-"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Toplu İş Tabanlı Öğrenci Grubu için, Öğrenci Toplu işlemi, Program Kayıt&#39;tan her Öğrenci için geçerliliğini alacaktır.",
-Validate Enrolled Course for Students in Student Group,Kayıtlı Dersi Öğrenci Grubu Öğrencileri için Doğrula,
-"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Kurs Tabanlı Öğrenci Grubu için, Kurs, Kayıt Edilen Program Kayıt Kurslarından her öğrenci için geçerli olacak.",
+"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Toplu İş Tabanlı Öğrenci Grubu için, Öğrenci Toplu işlemi, Program Kayıttan her Öğrenci için geçerli olmayacaktır.",
+Validate Enrolled Course for Students in Student Group,Kayıtlı Dersi Grubu Öğrenci Öğrencileri için Doğrula,
+"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Kurs Tabanlı Öğrenci Grubu için, Kurs, Kayıt Edilen Programı Kayıt Kurslarından her öğrenci için geçerli olacak.",
 Make Academic Term Mandatory,Akademik Şartı Zorunlu Yap,
-"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Etkinleştirilmişse, Program Kayıt Aracı&#39;nda alan Akademik Şartı Zorunlu olacaktır.",
+"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Etkinleştirilmişse, Program Kayıt Aracı'nda alan Akademik Şartı Zorunlu olacaktır.",
 Skip User creation for new Student,Yeni Öğrenci için Kullanıcı oluşturmayı atla,
-"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Varsayılan olarak, her yeni Öğrenci için yeni bir Kullanıcı oluşturulur. Etkinleştirilirse, yeni bir Öğrenci oluşturulduğunda yeni Kullanıcı oluşturulmayacaktır.",
+"By default, a new User is created for every new Student. If enabled, no new User will be created when a new Student is created.","Varsayılan olarak, her yeni Öğrenci için yeni bir Kullanıcı oluşturur. Etkinleştirilirse, yeni bir Öğrenci oluşturulduğunda yeni Kullanıcı oluşturulmayacaktır.",
 Instructor Records to be created by,Öğretmen Kayıtları tarafından oluşturulacak,
-Employee Number,Çalışan sayısı,
+Employee Number,çalışan sayısı,
 Fee Category,Ücret Kategorisi,
 Fee Component,Ücret Bileşeni,
-Fees Category,Ücretler Kategori,
-Fee Schedule,Ücret tarifesi,
+Fees Category,Ücretler Kategorisi,
+Fee Schedule,ücret Tarifesi,
 Fee Structure,ücret Yapısı,
 EDU-FSH-.YYYY.-,EDU-FSH .YYYY.-,
 Fee Creation Status,Ücret Oluşturma Durumu,
-In Process,Süreci,
+In Process,Devam ediyor,
 Send Payment Request Email,Ödeme Talebi E-postasını Gönder,
 Student Category,Öğrenci Kategorisi,
 Fee Breakup for each student,Her öğrenci için Ücret Ayrılması,
 Total Amount per Student,Öğrenci Başına Toplam Tutar,
-Institution,kurum,
+Institution,Kurum,
 Fee Schedule Program,Ücret Programı Programı,
-Student Batch,Öğrenci Toplu,
+Student Batch,Öğrenci Grubu,
 Total Students,Toplam Öğrenci,
 Fee Schedule Student Group,Ücret Programı Öğrenci Grubu,
 EDU-FST-.YYYY.-,EGT-FST-.YYYY.-,
@@ -5824,24 +5824,24 @@
 Send Payment Request,Ödeme Talebi Gönderme,
 Student Details,Öğrenci Ayrıntıları,
 Student Email,Öğrenci E-postası,
-Grading Scale Name,Not Verme Ölçeği Adı,
-Grading Scale Intervals,Not Verme Ölçeği Aralıkları,
+Grading Scale Name,Değil Verme Ölçeği Adı,
+Grading Scale Intervals,Değil Verme Ölçeği Aralıkları,
 Intervals,Aralıklar,
 Grading Scale Interval,Not Verme Ölçeği Aralığı,
-Grade Code,sınıf Kodu,
-Threshold,eşik,
-Grade Description,sınıf Açıklama,
-Guardian,vasi,
-Guardian Name,Muhafız adı,
-Alternate Number,alternatif Numara,
+Grade Code,Sınıf Kodu,
+Threshold,Eşik,
+Grade Description,açıklama sınıfı,
+Guardian,Veli,
+Guardian Name,Veli adı,
+Alternate Number,Alternatif Numara,
 Occupation,Meslek,
-Work Address,İş adresi,
-Guardian Of ,Of The Guardian,
+Work Address,iş adresi,
+Guardian Of ,Velinin,
 Students,Öğrenciler,
-Guardian Interests,Guardian İlgi,
-Guardian Interest,Guardian İlgi,
+Guardian Interests,Veli İlgi Alanları,
+Guardian Interest,Veli İlgi Alanı,
 Interest,Faiz,
-Guardian Student,Guardian Öğrenci,
+Guardian Student,Veli Öğrenci,
 EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
 Instructor Log,Eğitmen Günlüğü,
 Other details,Diğer Detaylar,
@@ -5853,35 +5853,35 @@
 Is Published,Yayınlandı,
 Allow Self Enroll,Kendi Kendine Kayda İzin Ver,
 Is Featured,Özellikli,
-Intro Video,Tanıtım Videosu,
+Intro Video,Tanıtım Videoları,
 Program Course,programı Ders,
-School House,Okul Evi,
+School House,okul evi,
 Boarding Student,Yatılı Öğrenci,
 Check this if the Student is residing at the Institute's Hostel.,Öğrenci Enstitü Pansiyonunda ikamet ediyorsa bunu kontrol edin.,
 Walking,Yürüme,
-Institute's Bus,Enstitü Otobüs,
-Public Transport,Toplu taşıma,
-Self-Driving Vehicle,Kendinden Sürüşlü Araç,
+Institute's Bus,Enstitü Otobüsü,
+Public Transport,toplu taşıma,
+Self-Driving Vehicle,kendinden tahrikli araç,
 Pick/Drop by Guardian,Koruyucu tarafından Pick / Bırak,
 Enrolled courses,Kayıtlı kurslar,
 Program Enrollment Course,Program Kayıt Kursu,
 Program Enrollment Fee,Program Kayıt Ücreti,
 Program Enrollment Tool,Programı Kaydı Aracı,
-Get Students From,Gönderen Öğrenciler alın,
-Student Applicant,Öğrenci Başvuru,
-Get Students,Öğrenciler alın,
+Get Students From,Gönderen öğrenciler alındı,
+Student Applicant,Öğrenci Başvurusu,
+Get Students,öğrenciler alınıyor,
 Enrollment Details,Kayıt Ayrıntıları,
 New Program,yeni Program,
 New Student Batch,Yeni Öğrenci Toplu İşi,
-Enroll Students,Öğrenciler kayıt,
+Enroll Students,öğrenci kayıt,
 New Academic Year,Yeni Akademik Yıl,
 New Academic Term,Yeni Akademik Dönem,
-Program Enrollment Tool Student,Programı Kaydı Aracı Öğrenci,
+Program Enrollment Tool Student,Programı Kaydı Öğrenci Aracı,
 Student Batch Name,Öğrenci Toplu Adı,
 Program Fee,Program Ücreti,
-Question,Soru,
+Question,soru,
 Single Correct Answer,Tek Doğru Cevap,
-Multiple Correct Answer,Çoklu Doğru Cevap,
+Multiple Correct Answer,Çokluk Doğru Cevap,
 Quiz Configuration,Sınav Yapılandırması,
 Passing Score,Geçme puanı,
 Score out of 100,100 üzerinden puan,
@@ -5892,26 +5892,26 @@
 Latest Attempt,Son Girişim,
 Quiz Activity,Sınav Etkinliği,
 Enrollment,kayıt,
-Pass,Geçiş,
+Pass,geçiş,
 Quiz Question,Sınav Sorusu,
 Quiz Result,Sınav Sonucu,
 Selected Option,Seçili Seçenek,
 Correct,Doğru,
-Wrong,Yanlış,
-Room Name,Oda ismi,
+Wrong,yanlış,
+Room Name,oda ismi,
 Room Number,Oda numarası,
-Seating Capacity,Oturma kapasitesi,
+Seating Capacity,oturma kapasitesi,
 House Name,Evin adı,
 EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
 Student Mobile Number,Öğrenci Cep Numarası,
 Joining Date,birleştirme tarihi,
-Blood Group,Kan grubu,
-A+,A+,
+Blood Group,kan grubu,
+A+,+,
 A-,A-,
 B+,B+,
 B-,B-,
 O+,O +,
-O-,O-,
+O-,Ö-,
 AB+,AB+,
 AB-,AB-,
 Nationality,milliyet,
@@ -5919,10 +5919,10 @@
 Guardian Details,Guardian Detayları,
 Guardians,Veliler,
 Sibling Details,kardeş Detaylar,
-Siblings,Kardeşler,
+Siblings,kardeşler,
 Exit,Çıkış,
 Date of Leaving,Ayrılış tarihi,
-Leaving Certificate Number,Sertifika Numarası Leaving,
+Leaving Certificate Number,Sertifika Numarası Ayrılıyor,
 Reason For Leaving,Ayrılma sebebi,
 Student Admission,Öğrenci Kabulü,
 Admission Start Date,Kabul Başlangıç Tarihi,
@@ -5930,11 +5930,11 @@
 Publish on website,Web sitesinde yayımlamak,
 Eligibility and Details,Uygunluk ve Ayrıntılar,
 Student Admission Program,Öğrenci Kabul Programı,
-Minimum Age,Asgari yaş,
+Minimum Age,asgari yaş,
 Maximum Age,Maksimum Yaş,
-Application Fee,Başvuru ücreti,
-Naming Series (for Student Applicant),Seri İsimlendirme (Öğrenci Başvuru için),
-LMS Only,Sadece LMS,
+Application Fee,başvuru ücreti,
+Naming Series (for Student Applicant),Seri İsimlendirme (Öğrenci Başvurusu için),
+LMS Only,sadece LMS,
 EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
 Application Status,Başvuru Durumu,
 Application Date,Başvuru Tarihi,
@@ -5944,24 +5944,24 @@
 Group Based on,Ona Dayalı Grup,
 Student Group Name,Öğrenci Grubu Adı,
 Max Strength,Maksimum Güç,
-Set 0 for no limit,hiçbir sınırı 0 olarak ayarlayın,
-Instructors,Ders,
+Set 0 for no limit,hiçbir sınırı 0 olarak ayarlamak,
+Instructors,ders,
 Student Group Creation Tool,Öğrenci Grubu Oluşturma Aracı,
-Leave blank if you make students groups per year,Öğrenci gruplarını yılda bir kere yaparsanız boş bırakın.,
+Leave blank if you make students groups per year,Öğrenci gruplarını yılda bir kere boş bırakın.,
 Get Courses,Kursları alın,
 Separate course based Group for every Batch,Her Toplu İş için Ayrılmış Kurs Tabanlı Grup,
-Leave unchecked if you don't want to consider batch while making course based groups. ,"Kurs temelli gruplar yaparken toplu düşünmeyi istemiyorsanız, işaretlemeyin.",
+Leave unchecked if you don't want to consider batch while making course based groups. ,"Kurs temelli gruplar yaparken toplu düşünmeyi sonlandırın, gecen.",
 Student Group Creation Tool Course,Öğrenci Grubu Oluşturma Aracı Kursu,
-Course Code,Kurs kodu,
-Student Group Instructor,Öğrenci Grubu Eğitmeni,
-Student Group Student,Öğrenci Grubu Öğrenci,
+Course Code,Kür kodu,
+Student Group Instructor,Öğrenci Grubu Eğitimi,
+Student Group Student,Öğrenci Öğrenci Grubu,
 Group Roll Number,Grup Rulosu Numarası,
-Student Guardian,Öğrenci Guardian,
+Student Guardian,Öğrenci Velisi,
 Relation,İlişki,
 Mother,Anne,
 Father,Baba,
 Student Language,Öğrenci Dili,
-Student Leave Application,Öğrenci bırak Uygulaması,
+Student Leave Application,Öğrenci Bırakma Uygulaması,
 Mark as Present,Şimdiki olarak işaretle,
 Student Log,Öğrenci Günlüğü,
 Academic,Akademik,
@@ -5972,59 +5972,59 @@
 Add letterhead,Antetli Kağıt Ekle,
 Print Section,Baskı bölümü,
 Total Parents Teacher Meeting,Toplam Veliler Öğretmen Toplantısı,
-Attended by Parents,Ebeveynlerin Katıldığı,
-Assessment Terms,Değerlendirme şartları,
+Attended by Parents,bireylerin katıldığı,
+Assessment Terms,değerlendirme şartları,
 Student Sibling,Öğrenci Kardeş,
-Studying in Same Institute,Aynı Enstitüsü incelenmesi,
+Studying in Same Institute,Aynı enstitüyü incelemek,
 NO,HAYIR,
 YES,EVET,
 Student Siblings,Öğrenci Kardeşleri,
 Topic Content,Konu İçeriği,
 Amazon MWS Settings,Amazon MWS Ayarları,
 ERPNext Integrations,ERPNext Entegrasyonları,
-Enable Amazon,Amazon&#39;u etkinleştir,
+Enable Amazon,Amazon u etkinleştir,
 MWS Credentials,MWS Kimlik Bilgileri,
 Seller ID,Satıcı Kimliği,
 AWS Access Key ID,AWS Erişim Anahtarı Kimliği,
-MWS Auth Token,MWS Auth Jetonu,
+MWS Auth Token,MWS Kimlik Doğrulama Jetonu,
 Market Place ID,Pazar Yeri Kimliği,
 AE,AE,
-AU,AU,
+AU,au,
 BR,BR,
 CA,CA,
 CN,CN,
-DE,DE,
+DE,Almanya,
 ES,ES,
 FR,FR,
-IN,İÇİNDE,
+IN,IN,
 JP,JP,
-IT,O,
+IT,Ö,
 MX,MX,
-UK,UK,
+UK,Birleşik Krallık,
 US,BİZE,
-Customer Type,müşteri tipi,
-Market Place Account Group,Market Place Hesap Grubu,
+Customer Type,Müşteri Tipi,
+Market Place Account Group,Pazar Yeri Hesap Grubu,
 After Date,Tarihten sonra,
-Amazon will synch data updated after this date,Amazon bu tarihten sonra güncellenen verileri senkronize edecek,
+Amazon will synch data updated after this date,Amazon bu kapsamdan sonra güncellenen veriler senkronize edilecek,
 Sync Taxes and Charges,Vergileri ve Ücretleri Senkronize Etme,
-Get financial breakup of Taxes and charges data by Amazon ,Vergi&#39;nin mali ayrılığını al ve Amazon tarafından veri topla,
+Get financial breakup of Taxes and charges data by Amazon ,Verginin mali ayrılığını al ve Amazon tarafından veri topla,
 Sync Products,Ürünleri Senkronize Et,
-Always sync your products from Amazon MWS before synching the Orders details,Siparişler ayrıntılarını eşitlemeden önce her zaman ürünlerinizi Amazon MWS&#39;den eşitleyin,
+Always sync your products from Amazon MWS before synching the Orders details,Siparişler ayrıntılarını eşitlemeden önce her zaman ürünlerini Amazon MWS'den eşitleyin,
 Sync Orders,Senkronizasyon Siparişleri,
-Click this button to pull your Sales Order data from Amazon MWS.,Amazon SMM&#39;den Satış Siparişi verilerinizi çekmek için bu düğmeyi tıklayın.,
-Enable Scheduled Sync,Zamanlanmış Senkronizasyonu Etkinleştir,
-Check this to enable a scheduled Daily synchronization routine via scheduler,Zamanlayıcı ile programlanmış Günlük senkronizasyon rutinini etkinleştirmek için bunu kontrol edin.,
+Click this button to pull your Sales Order data from Amazon MWS.,Amazon SMM'den Satış Siparişini çekmek için bu düğmeyi tıklayın.,
+Enable Scheduled Sync,Zamanlanmış Senkronizasyonu Etkinleştirin,
+Check this to enable a scheduled Daily synchronization routine via scheduler,Zamanlayıcı ile programlanmış Günlük depolama rutinini kullanmak için bunu kontrol edin.,
 Max Retry Limit,Maksimum Yeniden Deneme Sınırı,
 Exotel Settings,Exotel Ayarları,
-Account SID,Hesap SID,
+Account SID,Hesap SID'si,
 API Token,API Simgesi,
-GoCardless Mandate,GoCardless Mandate,
+GoCardless Mandate,GoCardless Yetkisi,
 Mandate,manda,
 GoCardless Customer,GoCardless Müşterisi,
-GoCardless Settings,GoCardless Ayarları,
-Webhooks Secret,Webhooks Sırrı,
-Plaid Settings,Ekose Ayarlar,
-Synchronize all accounts every hour,Tüm hesapları her saat başı senkronize et,
+GoCardless Settings,GoCardsız Ayarları,
+Webhooks Secret,Web kancaları Sırrı,
+Plaid Settings,Ekose Ayarları,
+Synchronize all accounts every hour,Tüm hesapları her saat başı senkronizasyon et,
 Plaid Client ID,Ekose Müşteri Kimliği,
 Plaid Secret,Ekose Sırrı,
 Plaid Environment,Ekose Çevre,
@@ -6032,9 +6032,9 @@
 development,gelişme,
 production,üretim,
 QuickBooks Migrator,QuickBooks Migrator,
-Application Settings,Uygulama ayarları,
+Application Settings,Uygulama Ayarları,
 Token Endpoint,Token Bitiş Noktası,
-Scope,kapsam,
+Scope,kapsama,
 Authorization Settings,Yetkilendirme Ayarları,
 Authorization Endpoint,Yetkilendirme Bitiş Noktası,
 Authorization URL,Yetkilendirme URL&#39;si,
@@ -6048,25 +6048,25 @@
 Request Data,Veri İste,
 Shopify Settings,Shopify Ayarları,
 status html,durum html,
-Enable Shopify,Shopify&#39;ı etkinleştir,
+Enable Shopify,Shopify Etkinleştir,
 App Type,Uygulama Türü,
 Last Sync Datetime,Son Senkronizasyon Tarihi,
 Shop URL,Mağaza URL&#39;si,
-eg: frappe.myshopify.com,örneğin: frappe.myshopify.com,
+eg: frappe.myshopify.com,örnekleme: frappe.myshopify.com,
 Shared secret,Paylaşılan sır,
 Webhooks Details,Webhooks Ayrıntılar,
 Webhooks,Webhooks,
-Customer Settings,Müşteri ayarları,
+Customer Settings,Müşteri Ayarları,
 Default Customer,Varsayılan Müşteri,
-Customer Group will set to selected group while syncing customers from Shopify,"Müşteri Grubu, Shopify&#39;tan müşterileri senkronize ederken seçilen gruba ayarlanacak",
+Customer Group will set to selected group while syncing customers from Shopify,"Müşteri Grubu, Shopify'tan müşteriler senkronize iken seçilmiş grup ayarlanacak",
 For Company,Şirket için,
-Cash Account will used for Sales Invoice creation,Satış Faturası oluşturma için Nakit Hesabı kullanılacaktır,
-Update Price from Shopify To ERPNext Price List,ERPNext Fiyat Listesinden Shopify&#39;a Güncelleme Fiyatı,
-Default Warehouse to to create Sales Order and Delivery Note,Satış Siparişi ve Teslimat Notu Oluşturmak İçin Varsayılan Depo,
+Cash Account will used for Sales Invoice creation,Satış Faturası oluşturmak için Nakit Hesabı kullanımtır,
+Update Price from Shopify To ERPNext Price List,ERPNext Fiyat Listesinden Shopify Güncelleme Fiyatı,
+Default Warehouse to to create Sales Order and Delivery Note,Satış Siparişi ve İrsaliye Oluşturma İçin Varsayılan Depo,
 Sales Order Series,Satış Siparişi Serisi,
-Import Delivery Notes from Shopify on Shipment,Gönderide Shopify&#39;tan Teslim Alma Notları,
-Delivery Note Series,Teslimat Notu Serisi,
-Import Sales Invoice from Shopify if Payment is marked,Ödeme işaretliyse Satış Faturasını Shopify&#39;dan içe aktarın,
+Import Delivery Notes from Shopify on Shipment,Gönderide Shopify'tan Teslim Alma Notları,
+Delivery Note Series,İrsaliye Serisi,
+Import Sales Invoice from Shopify if Payment is marked,Ödeme işaretliyse Satış Faturasını Shopify'dan içe aktarın,
 Sales Invoice Series,Satış Faturası Serisi,
 Shopify Tax Account,Vergi Hesabı Shopify,
 Shopify Tax/Shipping Title,Vergi / Kargo Başlığı,
@@ -6074,18 +6074,18 @@
 Shopify Webhook Detail,Shopify Webhook Detayı,
 Webhook ID,Webhook Kimliği,
 Tally Migration,Tally Göç,
-Master Data,Ana veriler,
-"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Hesap Planı, Müşteriler, Tedarikçiler, Adresler, Kalemler ve UOM&#39;lardan oluşan Tally&#39;den dışa aktarılan veriler",
+Master Data,Ana bileşenler,
+"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Tally'den oluşan Hesap Planı, Müşteriler, Tedarikçiler, Adresler, Kalemler ve UOM'lardan aktarılan bağlantı",
 Is Master Data Processed,Ana Veriler İşleniyor,
 Is Master Data Imported,Ana Veriler Alındı mı,
 Tally Creditors Account,Tally Alacaklılar Hesabı,
-Creditors Account set in Tally,Alacaklılar Hesabı Tally&#39;de belirlendi,
+Creditors Account set in Tally,Alacaklılar Hesabı Tally'de belirlendi,
 Tally Debtors Account,Tally Borçlular Hesabı,
 Debtors Account set in Tally,Borçlu Hesabı Tally&#39;de ayarlandı,
 Tally Company,Tally Şirketi,
 Company Name as per Imported Tally Data,İçe Aktarılan Tally Verilerine göre Şirket Adı,
-Default UOM,Varsayılan UOM,
-UOM in case unspecified in imported data,İçe aktarılan verilerde belirtilmemiş olması durumunda UOM,
+Default UOM,varsayılan ölçü birimi,
+UOM in case unspecified in imported data,İçe aktarılan bilgilerde belirtilmemiş olması durumunda UOM,
 ERPNext Company,ERPNext Şirketi,
 Your Company set in ERPNext,Şirketiniz ERPNext&#39;te ayarlandı,
 Processed Files,İşlenmiş Dosyalar,
@@ -6097,24 +6097,24 @@
 Day Book Data exported from Tally that consists of all historic transactions,Tally&#39;den dışa aktarılan ve tüm geçmiş işlemlerden oluşan Gün Defteri Verileri,
 Is Day Book Data Processed,Günlük Kitap Verileri İşleniyor mu?,
 Is Day Book Data Imported,Günlük Kitap Verileri Alındı mı,
-Woocommerce Settings,Woocommerce Ayarları,
+Woocommerce Settings,WooCommerce Ayarları,
 Enable Sync,Senkronizasyonu Etkinleştir,
-Woocommerce Server URL,Woocommerce Sunucusu URL&#39;si,
+Woocommerce Server URL,WooCommerce Sunucusu URL&#39;si,
 Secret,Gizli,
-API consumer key,API tüketici anahtarı,
-API consumer secret,API tüketici sırrı,
+API consumer key,API işletim anahtarı,
+API consumer secret,API şifreleme sırrı,
 Tax Account,Vergi Hesabı,
 Freight and Forwarding Account,Yük ve Nakliyat Hesabı,
-Creation User,Yaratılış Kullanıcısı,
-"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Müşteriler, Öğeler ve Satış Siparişleri oluşturmak için kullanılacak kullanıcı. Bu kullanıcı ilgili izinlere sahip olmalıdır.",
-"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Bu depo Müşteri Siparişleri oluşturmak için kullanılacaktır. Yedek depo &quot;Mağazalar&quot; dır.,
-"The fallback series is ""SO-WOO-"".",Geri dönüş serisi &quot;SO-WOO-&quot;.,
-This company will be used to create Sales Orders.,Bu şirket Satış Siparişleri oluşturmak için kullanılacaktır.,
+Creation User,Yaratıcı Kullanıcısı,
+"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Müşteriler, Öğeler ve Satış Siparişleri oluşturmak için kullanıcı. Bu kullanıcı ilgili izinlere sahip olmalıdır.",
+"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Bu depo Müşteri Siparişlerini oluşturmak için kullanmaktır. Yedek depo &quot;Mağazalar&quot; dir.,
+"The fallback series is ""SO-WOO-"".",Geri dönüş serisi &quot;SO-WOO-&quot;,
+This company will be used to create Sales Orders.,Bu şirket Satış Siparişlerini oluşturmak için kullanmaktır.,
 Delivery After (Days),Teslimat Sonrası (Gün),
-This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,"Bu, Müşteri Siparişlerindeki Teslim Tarihi için varsayılan ofsettir (gün). Yedek ofset, sipariş yerleşim tarihinden itibaren 7 gündür.",
-"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".","Bu, öğeler ve Satış siparişleri için kullanılan varsayılan UOM&#39;dir. Geri dönüş UOM&#39;si &quot;Nos&quot;.",
-Endpoints,Endpoints,
-Endpoint,Son nokta,
+This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,"Bu, Müşteri Siparişlerindeki Teslim Tarihi için varsayılan ofsettir (gün). Yedek ofset, sipariş yerleşim servisleri 7 dosyadan itibaren.",
+"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".","Bu, sunucu ve Satış siparişleri için kullanılan varsayılan UOM'dir. Geri dönüş UOM'si ""Nos"".",
+Endpoints,uç noktalar,
+Endpoint,son nokta,
 Antibiotic Name,Antibiyotik adı,
 Healthcare Administrator,Sağlık Yöneticisi,
 Laboratory User,Laboratuar Kullanıcısı,
@@ -6123,17 +6123,17 @@
 Body Part,Vücut parçası,
 Body Part Link,Gövde Parçası Bağlantısı,
 HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
-Procedure Template,Prosedür şablonu,
-Procedure Prescription,Prosedür Reçete,
+Procedure Template,gözenek şablonu,
+Procedure Prescription,Cezalar Reçete,
 Service Unit,Servis Ünitesi,
-Consumables,Sarf,
-Consume Stock,Stok tüketmek,
+Consumables,sarf,
+Consume Stock,Stok tüketimi,
 Invoice Consumables Separately,Fatura Sarf Malzemelerini Ayrı Ayrı,
 Consumption Invoiced,Faturalandırılan Tüketim,
 Consumable Total Amount,Sarf Malzemesi Toplam Miktarı,
 Consumption Details,Tüketim Ayrıntıları,
-Nursing User,Hemşirelik kullanıcısı,
-Clinical Procedure Item,Klinik Prosedür Öğesi,
+Nursing User,hemşirelik kullanıcı,
+Clinical Procedure Item,Klinik görüntü öğesi,
 Invoice Separately as Consumables,Sarf Malzemeleri Olarak Ayrı Olarak Fatura,
 Transfer Qty,Miktarı Aktar,
 Actual Qty (at source/target),Fiili Miktar (kaynak / hedef),
@@ -6142,16 +6142,16 @@
 Sample UOM,Örnek UOM,
 Collection Details,Koleksiyon Ayrıntıları,
 Change In Item,Öğede Değişim,
-Codification Table,Codification Table,
-Complaints,Şikayetler,
+Codification Table,Kodlama Tablosu,
+Complaints,şikayetçi,
 Dosage Strength,Dozaj Mukavemeti,
 Strength,kuvvet,
 Drug Prescription,İlaç Reçetesi,
-Drug Name / Description,İlaç Adı / Açıklaması,
+Drug Name / Description,İlaç Adı / Açıklama,
 Dosage,Dozaj,
 Dosage by Time Interval,Zaman aralığına göre dozaj,
 Interval,Aralık,
-Interval UOM,Aralık UOM&#39;sı,
+Interval UOM,Aralık Birimi,
 Hour,Saat,
 Update Schedule,Programı Güncelle,
 Exercise,Egzersiz yapmak,
@@ -6159,11 +6159,11 @@
 Counts Target,Hedefi Sayar,
 Counts Completed,Tamamlanan Sayımlar,
 Assistance Level,Yardım Düzeyi,
-Active Assist,Aktif Asist,
+Active Assist,Aktif Asistan,
 Exercise Name,Egzersiz Adı,
-Body Parts,Vücut kısımları,
+Body Parts,Vücut parçaları,
 Exercise Instructions,Egzersiz Talimatları,
-Exercise Video,Egzersiz Videosu,
+Exercise Video,Egzersiz Videoları,
 Exercise Steps,Egzersiz Adımları,
 Steps,Adımlar,
 Steps Table,Adım Tablosu,
@@ -6172,11 +6172,11 @@
 Visited yet,Henüz ziyaret edilmedi,
 Reference Appointments,Referans Randevuları,
 Valid till,Kadar geçerli,
-Fee Validity Reference,Ücret Geçerlilik Referansı,
+Fee Validity Reference,Ücret geçerlilik Referansı,
 Basic Details,Temel Ayrıntılar,
 HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
 Mobile,seyyar,
-Phone (R),Telefon (R),
+Phone (R),Telefon (Sağ),
 Phone (Office),Telefon (Ofis),
 Employee and User Details,Çalışan ve Kullanıcı Ayrıntıları,
 Hospital,Hastane,
@@ -6192,73 +6192,73 @@
 Allow Overlap,Çakışmaya İzin Ver,
 Inpatient Occupancy,Yatan Doluluk,
 Occupancy Status,Doluluk Durumu,
-Vacant,Boş,
+Vacant,boş,
 Occupied,Meşgul,
 Item Details,Ürün Detayları,
 UOM Conversion in Hours,Saatlerde UOM Dönüşüm,
 Rate / UOM,Oran / UOM,
 Change in Item,Öğeyi Değiştir,
-Out Patient Settings,Out Patient Settings,
-Patient Name By,Hasta Adı Tarafından,
+Out Patient Settings,Dışarıdaki Hasta Ayarları,
+Patient Name By,Hasta Adına göre,
 Patient Name,Hasta adı,
 Link Customer to Patient,Müşteriyi Hastaya Bağla,
-"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","İşaretlenirse, Hasta ile eşleştirilen bir müşteri oluşturulur. Bu Müşteri&#39;ye karşı hasta faturaları oluşturulacaktır. Hasta oluşturulurken mevcut Müşteri&#39;yi seçebilirsiniz.",
+"If checked, a customer will be created, mapped to Patient.\nPatient Invoices will be created against this Customer. You can also select existing Customer while creating Patient.","İşaretlenirse, Hasta ile eşleştirilen bir müşteri oluşturulur. Bu Müşteriye karşı hasta faturaları oluşturulacaktır. Hasta oluşturmaken mevcut Müşteriyi çalıştırma.",
 Default Medical Code Standard,Varsayılan Tıbbi Kod Standardı,
-Collect Fee for Patient Registration,Hasta Kayıt için Toplama Ücreti,
-Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Bunun işaretlenmesi, varsayılan olarak Devre Dışı durumuna sahip yeni Hastalar oluşturacak ve yalnızca Kayıt Ücreti fatura edildikten sonra etkinleştirilecektir.",
-Registration Fee,Kayıt ücreti,
-Automate Appointment Invoicing,Randevu Faturalandırmasını Otomatikleştirin,
-Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Randevu Faturasını Yönetme Hasta Encounter için otomatik olarak gönder ve iptal et,
-Enable Free Follow-ups,Ücretsiz Takipleri Etkinleştir,
-Number of Patient Encounters in Valid Days,Geçerli Günlerdeki Hasta Karşılaşma Sayısı,
+Collect Fee for Patient Registration,Hasta Kaydı için Toplama Ücreti,
+Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,"Bunun işaretlenmesi, varsayılan olarak Devre Dışı maliyetlerine sahip yeni Hastalar oluşturacak ve yalnızca Kayıt Ücreti faturalandırma sonrasında etkinleştirilecektir.",
+Registration Fee,kayıt ücreti,
+Automate Appointment Invoicing,Randevu Faturalandırmasını Otomatikleştirme,
+Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Randevu Faturasını Yönetme Hasta Karşılaşma için otomatik olarak gönder ve iptal et,
+Enable Free Follow-ups,Ücretsiz Takipleri Etkinleştirin,
+Number of Patient Encounters in Valid Days,Uygulama Günlerindeki Hasta Karşılaşma Sayısı,
 The number of free follow ups (Patient Encounters in valid days) allowed,İzin verilen ücretsiz takip sayısı (geçerli günlerdeki Hasta Karşılaşmaları),
-Valid Number of Days,Geçerli gün sayısı,
+Valid Number of Days,geçerli gün sayısı,
 Time period (Valid number of days) for free consultations,Ücretsiz danışmanlık için süre (Geçerli gün sayısı),
 Default Healthcare Service Items,Varsayılan Sağlık Hizmeti Öğeleri,
-"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Faturalama danışma ücretleri, prosedür tüketim kalemleri ve yatan hasta ziyaretleri için varsayılan Öğeleri yapılandırabilirsiniz.",
-Clinical Procedure Consumable Item,Klinik Prosedür Sarf Malzemesi,
+"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Faturalama süreleri, işletim tüketim kalemleri ve yatan hasta ziyaretleri için varsayılan Öğeleri yapılandırabilirsiniz.",
+Clinical Procedure Consumable Item,Klinik çevre Sarf Malzemesi,
 Default Accounts,Varsayılan Hesaplar,
-Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Randevu ücretleri için Sağlık Uygulayıcısında belirtilmemişse kullanılacak varsayılan gelir hesapları.,
-Default receivable accounts to be used to book Appointment charges.,Randevu ücretlerini ayırmak için kullanılacak varsayılan alacak hesapları.,
+Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Randevu ücretleri için Sağlık Uygulandığında belirtilmemişse varsayılan gelir hesapları.,
+Default receivable accounts to be used to book Appointment charges.,Randevu ücretlerini sınırlama için kullanılacak varsayılan alacak hesapları.,
 Out Patient SMS Alerts,Out Hasta SMS Uyarıları,
-Patient Registration,Hasta Kayıt,
+Patient Registration,Hasta Kaydı,
 Registration Message,Kayıt Mesajı,
-Confirmation Message,Onay mesajı,
+Confirmation Message,onay mesajı,
 Avoid Confirmation,Onaydan Kaçının,
-Do not confirm if appointment is created for the same day,Aynı gün için randevu oluşturulup oluşturulmadığını teyit etmeyin,
+Do not confirm if appointment is created for the same day,Aynı gün için randevu oluşturup oluşturmamasını teyit etmeyin,
 Appointment Reminder,Randevu Hatırlatıcısı,
 Reminder Message,Hatırlatma Mesajı,
 Remind Before,Daha Önce Hatırlat,
 Laboratory Settings,Laboratuar Ayarları,
 Create Lab Test(s) on Sales Invoice Submission,Satış Faturası Gönderiminde Laboratuvar Testleri Oluşturun,
-Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Bunu kontrol etmek, teslim edildiğinde Satış Faturasında belirtilen Laboratuar Testlerini oluşturacaktır.",
+Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,"Bunu kontrol etmek, teslim satış faturasında belirtilen Laboratuar Testlerini oluşturacaktır.",
 Create Sample Collection document for Lab Test,Laboratuvar Testi için Örnek Koleksiyon belgesi oluşturun,
-Checking this will create a Sample Collection document  every time you create a Lab Test,"Bunu işaretlemek, her Laboratuar Testi oluşturduğunuzda bir Örnek Koleksiyon belgesi oluşturacaktır.",
-Employee name and designation in print,Basılı çalışan ismi ve ismi,
-Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Belgeyi gönderen Kullanıcı ile ilişkili Çalışanın Adının ve Tanımının Laboratuar Test Raporunda yazdırılmasını istiyorsanız bunu işaretleyin.,
+Checking this will create a Sample Collection document  every time you create a Lab Test,"Bunu bulduk, her Laboratuar Testi oluşturduğunuzda bir Örnek Koleksiyon belgesi oluşturacaktır.",
+Employee name and designation in print,Basili çalışan ismi ve ismi,
+Check this if you want the Name and Designation of the Employee associated with the User who submits the document to be printed in the Lab Test Report.,Belgeyi gönderen Kullanıcı ile çalışanın Adının ve Tanımının Laboratuar Test Raporunda yazdırılmasını istemek onu incelemek.,
 Do not print or email Lab Tests without Approval,Onay Olmadan Laboratuvar Testlerini yazdırmayın veya e-postayla göndermeyin,
-Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Onaylandı durumuna sahip olmadıkları sürece, bunun işaretlenmesi Lab Test belgelerinin yazdırılmasını ve e-posta ile gönderilmesini kısıtlayacaktır.",
+Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Onaylandı sınırlarına sahip olunmadığı sürece, bunun için işaretlenmesi Lab Test belgelerinin yazdırılmasını ve e-posta ile gizliliğini kısıtlayacaktır.",
 Custom Signature in Print,Baskıda Özel İmza,
-Laboratory SMS Alerts,Laboratuar SMS Uyarıları,
+Laboratory SMS Alerts,Laboratuvar SMS Uyarıları,
 Result Printed Message,Sonuç Yazdırılan Mesaj,
 Result Emailed Message,Sonuç E-postayla Gönderilen Mesaj,
-Check In,Giriş,
-Check Out,Çıkış yapmak,
-HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
-A Positive,A Pozitif,
-A Negative,A Negatif,
+Check In,giriş,
+Check Out,çıkış yapmak,
+HLC-INP-.YYYY.-,HLC-GİRİŞ-.YYYY.-,
+A Positive,Pozitif,
+A Negative,Bir Negatif,
 AB Positive,AB Pozitif,
 AB Negative,AB Negatif,
 B Positive,B Pozitif,
 B Negative,B Negatif,
-O Positive,O Olumlu,
+O Positive,Olumsuz,
 O Negative,O Negatif,
-Date of birth,Doğum tarihi,
+Date of birth,doğum tarihi,
 Admission Scheduled,Kabulü Planlanmış,
 Discharge Scheduled,Planlanan Deşarj,
 Discharged,taburcu,
 Admission Schedule Date,Kabul Takvimi Tarihi,
-Admitted Datetime,Kabul edilen tarih,
+Admitted Datetime,kabul edilen tarih,
 Expected Discharge,Beklenen Deşarj,
 Discharge Date,Deşarj Tarihi,
 Lab Prescription,Laboratuar Reçetesi,
@@ -6267,53 +6267,53 @@
 Submitted Date,Teslim Tarihi,
 Approved Date,Onaylanmış Tarih,
 Sample ID,Örnek Kimlik Numarası,
-Lab Technician,Laboratuvar teknisyeni,
-Report Preference,Rapor Tercihi,
+Lab Technician,laboratuvar teknisyeni,
+Report Preference,Tercih Raporu,
 Test Name,Test Adı,
 Test Template,Test Şablonu,
 Test Group,Test Grubu,
 Custom Result,Özel Sonuç,
 LabTest Approver,LabTest Onaylayıcısı,
 Add Test,Test Ekle,
-Normal Range,Normal aralık,
+Normal Range,normal aralık,
 Result Format,Sonuç Biçimi,
 Single,Tek,
-Compound,bileşik,
+Compound,ulaştırmak,
 Descriptive,Tanımlayıcı,
 Grouped,gruplanmış,
-No Result,Sonuç yok,
+No Result,sonuç yok,
 This value is updated in the Default Sales Price List.,Bu değer Varsayılan Satış Fiyatı Listesinde güncellenir.,
 Lab Routine,Laboratuar rutini,
 Result Value,Sonuç Değeri,
 Require Result Value,Sonuç Değerini Gerektir,
 Normal Test Template,Normal Test Şablonu,
-Patient Demographics,Hasta Demografi,
+Patient Demographics,Hasta Demografisi,
 HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
 Middle Name (optional),İkinci İsim (isteğe bağlı),
 Inpatient Status,Yatan Hasta Durumu,
-"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Sağlık Ayarlarında &quot;Müşteriyi Hastaya Bağla&quot; işaretlenmişse ve mevcut bir Müşteri seçilmediyse, Hesaplar modülünde işlemlerin kaydedilmesi için bu Hasta için bir Müşteri oluşturulacaktır.",
+"If ""Link Customer to Patient"" is checked in Healthcare Settings and an existing Customer is not selected then, a Customer will be created for this Patient for recording transactions in Accounts module.","Sağlık Yapılandırmasında &quot;Müşteriyi Hastaya Bağla&quot; İşaretlenmişse ve mevcut bir Müşteri tercihiyse, Hesaplar evinde kaydedilmesi için bu Hasta için bir Müşteri oluşturulacaktır.",
 Personal and Social History,Kişisel ve Sosyal Tarih,
 Marital Status,Medeni durum,
 Married,Evli,
 Divorced,Ayrılmış,
-Widow,Dul,
+Widow,sıkıcı,
 Patient Relation,Hasta ilişkisi,
 "Allergies, Medical and Surgical History","Alerjiler, Tıp ve Cerrahi Tarihi",
 Allergies,Alerjiler,
 Medication,ilaç,
-Medical History,Tıbbi geçmiş,
+Medical History,tıbbi geçmiş,
 Surgical History,Cerrahi Tarih,
-Risk Factors,Risk faktörleri,
+Risk Factors,risk kuşağı,
 Occupational Hazards and Environmental Factors,Mesleki Tehlikeler ve Çevresel Faktörler,
 Other Risk Factors,Diğer Risk Faktörleri,
 Patient Details,Hasta Ayrıntıları,
 Additional information regarding the patient,Hastaya ilişkin ek bilgiler,
 HLC-APP-.YYYY.-,HLC-UYGULAMA-.YYYY.-,
 Patient Age,Hasta Yaşı,
-Get Prescribed Clinical Procedures,Reçeteli Klinik Prosedürleri Alın,
+Get Prescribed Clinical Procedures,Reçeteli Klinik cezaları Alıntı,
 Therapy,Terapi,
 Get Prescribed Therapies,Reçeteli Tedaviler Alın,
-Appointment Datetime,Randevu Tarih Saat,
+Appointment Datetime,Randevu Tarih Saati,
 Duration (In Minutes),Süre (Dakika Olarak),
 Reference Sales Invoice,Referans Satış Faturası,
 More Info,Daha Fazla Bilgi,
@@ -6322,49 +6322,49 @@
 HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
 Assessment Template,Değerlendirme Şablonu,
 Assessment Datetime,Değerlendirme Tarihi,
-Assessment Description,Değerlendirme Açıklaması,
-Assessment Sheet,Değerlendirme belgesi,
+Assessment Description,Değerlendirme açıklaması,
+Assessment Sheet,değerlendirme belgesi,
 Total Score Obtained,Elde Edilen Toplam Puan,
 Scale Min,Ölçek Min,
 Scale Max,Max Ölçek,
 Patient Assessment Detail,Hasta Değerlendirme Detayı,
-Assessment Parameter,Değerlendirme Parametresi,
-Patient Assessment Parameter,Hasta Değerlendirme Parametresi,
+Assessment Parameter,Değerlendirme Parametreleri,
+Patient Assessment Parameter,Hasta Değerlendirme Parametreleri,
 Patient Assessment Sheet,Hasta Değerlendirme Formu,
 Patient Assessment Template,Hasta Değerlendirme Şablonu,
 Assessment Parameters,Değerlendirme Parametreleri,
 Parameters,Parametreler,
 Assessment Scale,Değerlendirme Ölçeği,
-Scale Minimum,Minimum Ölçek,
+Scale Minimum,Asgari Ölçek,
 Scale Maximum,Maksimum Ölçek,
 HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
 Encounter Date,Karşılaşma Tarihi,
 Encounter Time,Karşılaşma Zamanı,
 Encounter Impression,Karşılaşma İzlenim,
 Symptoms,Semptomlar,
-In print,Yazıcıda,
+In print,yazıcıda,
 Medical Coding,Tıbbi Kodlama,
-Procedures,prosedürler,
+Procedures,muayenehaneler,
 Therapies,Terapiler,
-Review Details,Ayrıntıları İnceleme,
+Review Details,Ayrıntıları inceleme,
 Patient Encounter Diagnosis,Hasta Karşılaşma Teşhisi,
 Patient Encounter Symptom,Hasta Karşılaşma Semptomu,
 HLC-PMR-.YYYY.-,HLC-FTR-.YYYY.-,
 Attach Medical Record,Tıbbi Kayıt Ekleyin,
 Reference DocType,Referans Belge Türü,
-Spouse,eş,
-Family,Aile,
+Spouse,Eş,
+Family,aile,
 Schedule Details,Program Ayrıntıları,
 Schedule Name,Program Adı,
 Time Slots,Zaman dilimleri,
 Practitioner Service Unit Schedule,Uygulayıcı Hizmet Birimi Takvimi,
-Procedure Name,Prosedür adı,
+Procedure Name,tutuklu adı,
 Appointment Booked,Randevu Alındı,
-Procedure Created,Oluşturulan Prosedür,
+Procedure Created,Oluşturulan daire,
 HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
-Collected By,Tarafından toplanan,
-Particulars,Ayrıntılar,
-Result Component,Sonuç Bileşeni,
+Collected By,tarafından toplanan,
+Particulars,Detaylar,
+Result Component,Sonuç Bileşenleri,
 HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
 Therapy Plan Details,Tedavi Planı Ayrıntıları,
 Total Sessions,Toplam Oturumlar,
@@ -6374,25 +6374,25 @@
 Sessions Completed,Tamamlanan Oturumlar,
 Tele,Tele,
 Exercises,Egzersizler,
-Therapy For,Terapi İçin,
+Therapy For,İçin Terapi,
 Add Exercises,Egzersiz Ekle,
 Body Temperature,Vücut Sıcaklığı,
 Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),Ateşin varlığı (sıcaklık&gt; 38.5 ° C / 101.3 ° F veya sürekli&gt; 38 ° C / 100.4 ° F),
-Heart Rate / Pulse,Nabız / Darbe,
+Heart Rate / Pulse,Nabiz / Darbe,
 Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Yetişkinlerin nabız sayısı dakikada 50 ila 80 atım arasında bir yerde bulunur.,
-Respiratory rate,Solunum hızı,
-Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Bir yetişkin için normal referans aralığı 16-20 nefes / dakika&#39;dır (RCP 2012),
+Respiratory rate,solunum hızı,
+Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Bir ± için normal referans aralığı 16-20 nefes / dakika&#39;dır (RCP 2012),
 Tongue,Dil,
 Coated,Kaplanmış,
 Very Coated,Çok Kaplamalı,
 Normal,Normal,
 Furry,Kürklü,
-Cuts,keser,
-Abdomen,karın bölgesi,
-Bloated,şişmiş,
-Fluid,akışkan,
-Constipated,kabız,
-Reflexes,refleksler,
+Cuts,Keser,
+Abdomen,Karın bölgesi,
+Bloated,Şişmiş,
+Fluid,Elinde bulundurmak,
+Constipated,Kabız,
+Reflexes,Refleksler,
 Hyper,Aşırı,
 Very Hyper,Çok hiper,
 One Sided,Tek taraflı,
@@ -6402,22 +6402,22 @@
 "Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""",Yetişkinlerde normal istirahat tansiyonu sistolik olarak yaklaşık 120 mmHg ve &quot;120/80 mmHg&quot; olarak kısaltılan 80 mmHg diastoliktir,
 Nutrition Values,Beslenme Değerleri,
 Height (In Meter),Yükseklik (Metrede),
-Weight (In Kilogram),Ağırlık (Kilogram cinsinden),
+Weight (In Kilogram),Ağırlık (Kilogram ölçüsü),
 BMI,BMI,
-Hotel Room,Otel odası,
+Hotel Room,otel odası,
 Hotel Room Type,Otel Oda Tipi,
-Capacity,Kapasite,
+Capacity,kapasite,
 Extra Bed Capacity,Ekstra Yatak Kapasitesi,
-Hotel Manager,Otel yöneticisi,
+Hotel Manager,otel yöneticisi,
 Hotel Room Amenity,Otel Odası İmkanları,
 Billable,Faturalandırılabilir,
 Hotel Room Package,Otel Oda Paketi,
 Amenities,Kolaylıklar,
-Hotel Room Pricing,Otel Odasının Fiyatlandırması,
-Hotel Room Pricing Item,Otel Oda Fiyatlandırması Öğe,
-Hotel Room Pricing Package,Otel Odasında Fiyatlandırma Paketi,
+Hotel Room Pricing,Otel Odası Fiyatlandırması,
+Hotel Room Pricing Item,Otel Oda Fiyatlandırması Öğesi,
+Hotel Room Pricing Package,Otel Odası Fiyatlandırma Paketi,
 Hotel Room Reservation,Otel Odaları Rezervasyonu,
-Guest Name,Misafir adı,
+Guest Name,misafir adı,
 Late Checkin,Geç Checkin,
 Booked,ayrılmış,
 Hotel Reservation User,Otel Rezervasyonu Kullanıcısı,
@@ -6425,27 +6425,27 @@
 Hotel Settings,Otel Ayarları,
 Default Taxes and Charges,Standart Vergi ve Harçlar,
 Default Invoice Naming Series,Varsayılan Fatura Adlandırma Dizisi,
-Additional Salary,Ek ücret,
+Additional Salary,ek ücret,
 HR,İK,
-HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
-Salary Component,Maaş Bileşeni,
-Overwrite Salary Structure Amount,Maaş Yapısı Miktarının Üzerine Yaz,
-Deduct Full Tax on Selected Payroll Date,Seçilen Bordro Tarihinde Tam Vergiden düşme,
+HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. AA.-,
+Salary Component,Maaş Bileşenleri,
+Overwrite Salary Structure Amount,Maaş Yapısı Miktarının Üzerine Yazma,
+Deduct Full Tax on Selected Payroll Date,Seçilen Bordro Tarihinde Tam Vergiden Düşüş,
 Payroll Date,Bordro Tarihi,
-Date on which this component is applied,Bu bileşenin uygulandığı tarih,
+Date on which this component is applied,Bu ürünün kesinlik tarihi,
 Salary Slip,Bordro,
 Salary Component Type,Maaş Bileşeni Türü,
-HR User,İK Kullanıcı,
+HR User,İK Kullanıcısı,
 Appointment Letter,Randevu mektubu,
 Job Applicant,İş Başvuru Sahiibi,
-Applicant Name,Başvuru sahibinin adı,
+Applicant Name,başvuru sahibi adı,
 Appointment Date,Randevu Tarihi,
 Appointment Letter Template,Randevu Mektubu Şablonu,
-Body,Vücut,
+Body,vücut,
 Closing Notes,Kapanış Notları,
 Appointment Letter content,Randevu Mektubu içeriği,
-Appraisal,Appraisal:Değerlendirme,
-HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
+Appraisal,Ekspertiz:Değerlendirme,
+HR-APR-.YY.-.MM.,HR-NİSAN-.YY.-.MM.,
 Appraisal Template,Değerlendirme Şablonu,
 For Employee Name,Çalışan Adına,
 Goals,Hedefler,
@@ -6460,16 +6460,16 @@
 Appraisal Template Goal,Değerlendirme Şablonu Hedefi,
 KRA,KRA,
 Key Performance Area,Kilit Performans Alanı,
-HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
+HR-ATT-.YYYY.-,HR-İlgi-.YYYY.-,
 On Leave,İzinli,
-Work From Home,Evden çalışmak,
-Leave Application,İzin uygulaması,
+Work From Home,evden çalışmak,
+Leave Application,izin başvurusu,
 Attendance Date,Katılım Tarihi,
 Attendance Request,Katılım Talebi,
 Late Entry,Geç giriş,
 Early Exit,Erken Çıkış,
 Half Day Date,Yarım Gün Tarih,
-On Duty,Görevde,
+On Duty,görevde,
 Explanation,açıklama,
 Compensatory Leave Request,Telafi Bırakma Talebi,
 Leave Allocation,İzin Tahsisi,
@@ -6478,43 +6478,43 @@
 Work End Date,İş Bitiş Tarihi,
 Email Sent To,E-posta Gönderildi,
 Select Users,Kullanıcıları Seç,
-Send Emails At,At e-postalar gönderin,
-Reminder,Hatırlatma,
-Daily Work Summary Group User,Günlük Çalışma Özet Grubu Kullanıcı,
+Send Emails At,e-posta gönderiminde,
+Reminder,hatırlama,
+Daily Work Summary Group User,Günlük Çalışma Özet Grubu Kullanıcısı,
 email,e-posta,
 Parent Department,Ana Bölüm,
-Leave Block List,İzin engel listesi,
-Days for which Holidays are blocked for this department.,Bu departman için tatillerin kaldırıldığı günler.,
+Leave Block List,izin engel listesi,
+Days for which Holidays are blocked for this department.,Bu çıkış için tatillerin kaldırıldığı günler.,
 Leave Approver,İzin Onaylayan,
-Expense Approver,Gider Approver,
+Expense Approver,Gider Onaylayan,
 Department Approver,Bölüm Onaycısı,
 Approver,Onaylayan,
 Required Skills,İstenen yetenekler,
 Skills,Beceri,
 Designation Skill,Atama Becerisi,
 Skill,Beceri,
-Driver,sürücü,
+Driver,Şoför,
 HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
 Suspended,Askıya alındı,
-Transporter,Taşıyıcı,
+Transporter,Nakliyeci,
 Applicable for external driver,Harici sürücü için geçerli,
-Cellphone Number,cep telefonu numarası,
-License Details,Lisans Bilgileri,
-License Number,Lisans numarası,
+Cellphone Number,Cep Telefonu Numarası,
+License Details,Ehliyet Bilgileri,
+License Number,Ehliyet Numarası,
 Issuing Date,Veriliş tarihi,
-Driving License Categories,Sürücü Belgesi Kategorileri,
-Driving License Category,Sürücü Belgesi Kategorisi,
+Driving License Categories,Ehliyet Kategorileri,
+Driving License Category,Ehliyet Kategorisi,
 Fleet Manager,Filo Yöneticisi,
-Driver licence class,Ehliyet sınıfı,
-HR-EMP-,HR-EMP-,
+Driver licence class,Ehliyet Sınıfı,
+HR-EMP-,İK-EMP-,
 Employment Type,İstihdam Tipi,
 Emergency Contact,Acil Durum İrtibat Kişisi,
 Emergency Contact Name,Acil Durum İletişim Adı,
 Emergency Phone,Acil Telefon,
 ERPNext User,ERPNext Kullanıcı,
-"System User (login) ID. If set, it will become default for all HR forms.","Sistem kullanıcı (giriş) kimliği, bütün İK formları için varsayılan olacaktır",
+"System User (login) ID. If set, it will become default for all HR forms.","Sistem kullanıcı (giriş) kimliği, bütün İK formları için geçerli olacaktır.",
 Create User Permission,Kullanıcı İzni Yarat,
-This will restrict user access to other employee records,"Bu, diğer çalışan kayıtlarına kullanıcı erişimini kısıtlar",
+This will restrict user access to other employee records,"Bu, diğer çalışan kayıtlarına kullanıcı erişimlerini kısıtlamalar",
 Joining Details,Ayrıntıları Birleştirme,
 Offer Date,Teklif Tarihi,
 Confirmation Date,Onay Tarihi,
@@ -6522,10 +6522,10 @@
 Notice (days),Bildirimi (gün),
 Date Of Retirement,Emeklilik Tarihiniz,
 Department and Grade,Bölüm ve sınıf,
-Reports to,Raporlar,
+Reports to,raporlar,
 Attendance and Leave Details,Katılım ve Ayrıntı Ayrıntıları,
 Leave Policy,Politikadan Ayrıl,
-Attendance Device ID (Biometric/RF tag ID),Seyirci Cihaz Kimliği (Biyometrik / RF etiketi numarası),
+Attendance Device ID (Biometric/RF tag ID),Seyirci Cihaz Kimliği (Biyometrik / RF etiket numarası),
 Applicable Holiday List,Uygulanabilir Tatil Listesi,
 Default Shift,Varsayılan Vardiya,
 Salary Details,Maaş Ayrıntıları,
@@ -6533,29 +6533,29 @@
 Bank A/C No.,Banka Hesap No.,
 Health Insurance,Sağlık Sigortası,
 Health Insurance Provider,Sağlık Sigortası Sağlayıcısı,
-Health Insurance No,Sağlık Sigortası Hayır,
+Health Insurance No,Sağlık Sigortası No,
 Prefered Email,Tercih edilen e-posta,
 Personal Email,Kişisel E-posta,
-Permanent Address Is,Kalıcı Adres,
+Permanent Address Is,kKlıcı Adres,
 Rented,Kiralanmış,
-Owned,Hisseli,
-Permanent Address,Daimi Adres,
+Owned,Sahipli,
+Permanent Address,Kalıcı Adres,
 Prefered Contact Email,Tercih Edilen E-posta İletişim,
 Company Email,Şirket e-posta,
-Provide Email Address registered in company,şirketin kayıtlı E-posta Adresi sağlayın,
-Current Address Is,Güncel Adresi,
-Current Address,Mevcut Adresi,
+Provide Email Address registered in company,şirket şirket E-posta Adresi bağlantısı,
+Current Address Is,Güncel Adres,
+Current Address,Mevcut Adres,
 Personal Bio,Kişisel biyo,
 Bio / Cover Letter,Biyo / Kapak Mektubu,
 Short biography for website and other publications.,Web sitesi ve diğer yayınlar için kısa biyografi.,
 Passport Number,Pasaport Numarası,
 Date of Issue,Veriliş tarihi,
 Place of Issue,Verildiği yer,
-Widowed,Dul,
+Widowed,sıkıcı,
 Family Background,Aile Geçmişi,
-"Here you can maintain family details like name and occupation of parent, spouse and children","Burada ebeveyn, eş ve çocukların isim ve meslek gibi aile ayrıntıları  muhafaza edebilirsiniz",
+"Here you can maintain family details like name and occupation of parent, spouse and children","Burada ebeveyn, eş ve Avrupalıların isim ve meslekleri gibi aile özelliklerini muhafaza edebilir",
 Health Details,Sağlık Bilgileri,
-"Here you can maintain height, weight, allergies, medical concerns etc","Burada boy, kilo, alerji, tıbbi endişeler vb  muhafaza edebilirsiniz",
+"Here you can maintain height, weight, allergies, medical concerns etc","Burada boy, kilo, bakımı, bakım endişeleri vb muhafaza edebilirsiniz",
 Educational Qualification,Eğitim Yeterliliği,
 Previous Work Experience,Önceki İş Deneyimi,
 External Work History,Dış Çalışma Geçmişi,
@@ -6573,37 +6573,37 @@
 Advance Account,Peşin Hesap,
 Employee Attendance Tool,Çalışan Seyirci Aracı,
 Unmarked Attendance,Işaretsiz Seyirci,
-Employees HTML,"Çalışanlar, HTML",
+Employees HTML,"çalışanlar, HTML",
 Marked Attendance,İşaretlenmiş Devamlılık,
 Marked Attendance HTML,İşaretlenmiş Devamlılık HTML,
-Employee Benefit Application,Çalışanlara Sağlanan Fayda,
+Employee Benefit Application,çalışanlara Sağlanan Fayda,
 Max Benefits (Yearly),Maksimum Faydalar (Yıllık),
 Remaining Benefits (Yearly),Kalan Faydalar (Yıllık),
 Payroll Period,Bordro Dönemi,
-Benefits Applied,Uygulanan Faydalar,
+Benefits Applied,Uygulama Faydaları,
 Dispensed Amount (Pro-rated),Dağıtım Miktarı (Pro dereceli),
-Employee Benefit Application Detail,Çalışanlara Sağlanan Fayda Uygulama Detayı,
-Earning Component,Kazanç Bileşeni,
+Employee Benefit Application Detail,çalışanlara Sağlanan Fayda Uygulama Detayı,
+Earning Component,Kazanç Bileşenleri,
 Pay Against Benefit Claim,Fayda Talebine Karşı Ödeme,
 Max Benefit Amount,Maksimum Fayda Tutarı,
-Employee Benefit Claim,Çalışanlara Sağlanan Fayda Talebi,
+Employee Benefit Claim,çalışanlara Sağlanan Fayda Talebi,
 Claim Date,Talep Tarihi,
 Benefit Type and Amount,Fayda Türü ve Tutarı,
-Claim Benefit For,Için hak talebi,
+Claim Benefit For,Hak talebi,
 Max Amount Eligible,Maksimum Tutar,
-Expense Proof,Gider kanıtı,
+Expense Proof,Gidermek,
 Employee Boarding Activity,Çalışan Yatılı Etkinliği,
-Activity Name,Etkinlik adı,
-Task Weight,görev Ağırlığı,
+Activity Name,Faaliyet Adı,
+Task Weight,Görev Ağırlığı,
 Required for Employee Creation,Çalışan Yaratma için Gerekli,
 Applicable in the case of Employee Onboarding,Çalışan Onboarding durumunda uygulanabilir,
 Employee Checkin,Çalışan Checkin,
 Log Type,Günlük Tipi,
 OUT,DIŞARI,
 Location / Device ID,Konum / Cihaz Kimliği,
-Skip Auto Attendance,Otomatik Devamı Atla,
+Skip Auto Attendance,Otomatik Devamı,
 Shift Start,Vardiya Başlangıcı,
-Shift End,Vardiya sonu,
+Shift End,vardiya sonu,
 Shift Actual Start,Vardiya Gerçek Başlangıç,
 Shift Actual End,Vardiya Sonu,
 Employee Education,Çalışan Eğitimi,
@@ -6622,57 +6622,57 @@
 ERPNext User ID,ERPNext Kullanıcı Kimliği,
 Employee Health Insurance,Çalışan Sağlık Sigortası,
 Health Insurance Name,Sağlık Sigortası Adı,
-Employee Incentive,Çalışan Teşviki,
+Employee Incentive,Çalışan Teşvik,
 Incentive Amount,Teşvik Tutarı,
 Employee Internal Work History,Çalışan Dahili İş Geçmişi,
-Employee Onboarding,Çalışan Onboard,
-Notify users by email,Kullanıcıları e-postayla bilgilendir,
+Employee Onboarding,Çalışan Gemide,
+Notify users by email,Kullanıcıları e-postayla bilgilendirin,
 Employee Onboarding Template,Çalışan Onboard Şablonu,
-Activities,Faaliyetler,
+Activities,faaliyetler,
 Employee Onboarding Activity,Çalışan Katılımı Etkinliği,
 Employee Other Income,Çalışan Diğer Gelir,
 Employee Promotion,Çalışan Tanıtımı,
 Promotion Date,Tanıtım Tarihi,
 Employee Promotion Details,Çalışan Tanıtım Detayları,
-Employee Promotion Detail,Çalışan Promosyonu Detayı,
+Employee Promotion Detail,Çalışan Tanıtım Detayı,
 Employee Property History,Çalışan Mülkiyet Tarihi,
 Employee Separation,Çalışan Ayrılığı,
 Employee Separation Template,Çalışan Ayırma Şablonu,
 Exit Interview Summary,Çıkış Mülakatı Özeti,
 Employee Skill,Çalışan Beceri,
 Proficiency,yeterlik,
-Evaluation Date,Değerlendirme tarihi,
+Evaluation Date,değerlendirme tarihi,
 Employee Skill Map,Çalışan Beceri Haritası,
 Employee Skills,Çalışan Becerileri,
-Trainings,Eğitimler,
+Trainings,eğitimciler,
 Employee Tax Exemption Category,Çalışan Vergisi İstisnası Kategorisi,
 Max Exemption Amount,Maksimum Muafiyet Tutarı,
 Employee Tax Exemption Declaration,Çalışan Vergisi İstisnası Beyanı,
 Declarations,Beyannameler,
-Total Declared Amount,Toplam Beyan Tutar,
+Total Declared Amount,Toplam Beyan Tutarı,
 Total Exemption Amount,Toplam Muafiyet Tutarı,
 Employee Tax Exemption Declaration Category,Çalışan Vergisi İstisna Beyannamesi Kategorisi,
-Exemption Sub Category,Exemption Alt Kategorisi,
+Exemption Sub Category,Muafiyet Alt Kategorisi,
 Exemption Category,Muafiyet Kategorisi,
 Maximum Exempted Amount,Maksimum Muaf Tutar,
 Declared Amount,Beyan Edilen Tutar,
 Employee Tax Exemption Proof Submission,Çalışan Vergi Muafiyeti Proof Sunumu,
-Submission Date,Teslim tarihi,
+Submission Date,teslim tarihi,
 Tax Exemption Proofs,Vergi Muafiyet İspatları,
 Total Actual Amount,Toplam Gerçek Tutar,
-Employee Tax Exemption Proof Submission Detail,Çalışan Vergi Muafiyeti Proof Gönderme Detayı,
+Employee Tax Exemption Proof Submission Detail,Çalışan Vergi Muafiyeti Prova Gönderme Detayı,
 Maximum Exemption Amount,Maksimum Muafiyet Tutarı,
 Type of Proof,Kanıt Türü,
 Actual Amount,Gerçek Tutar,
 Employee Tax Exemption Sub Category,Çalışan Vergi Muafiyeti Alt Kategorisi,
 Tax Exemption Category,Vergi Muafiyet Kategorisi,
-Employee Training,Çalışan eğitimi,
-Training Date,Eğitim tarihi,
-Employee Transfer,Çalışan Transferi,
-Transfer Date,Transfer tarihi,
+Employee Training,çalışan eğitim,
+Training Date,eğitim tarihi,
+Employee Transfer,çalışan transfer,
+Transfer Date,transfer tarihi,
 Employee Transfer Details,Çalışan Transfer Detayları,
 Employee Transfer Detail,Çalışan Transfer Detayı,
-Re-allocate Leaves,Yaprakları yeniden ayır,
+Re-allocate Leaves,İzinler yeniden ayır,
 Create New Employee Id,Yeni Çalışan Kimliği Oluşturun,
 New Employee ID,Yeni Çalışan Kimliği,
 Employee Transfer Property,Çalışan Transfer Mülkiyeti,
@@ -6680,14 +6680,14 @@
 Expense Taxes and Charges,Gider Vergileri ve Masrafları,
 Total Sanctioned Amount,Toplam Tasdiklenmiş Tutar,
 Total Advance Amount,Toplam Avans Tutarı,
-Total Claimed Amount,Toplam İade edilen Tutar,
-Total Amount Reimbursed,Toplam Tutar Geri ödenen,
-Vehicle Log,araç Giriş,
-Employees Email Id,Çalışanların e-posta adresleri,
+Total Claimed Amount,Toplam İade Alınan Tutar,
+Total Amount Reimbursed,Toplam Tutar Geri Çekenler,
+Vehicle Log,araç girişi,
+Employees Email Id,çalışanların e-posta adresleri,
 More Details,Daha fazla detay,
 Expense Claim Account,Gider Talep Hesabı,
 Expense Claim Advance,Gider Talep İlerlemesi,
-Unclaimed amount,Talep edilmeyen tutar,
+Unclaimed amount,Talep edilmeyen tutarlar,
 Expense Claim Detail,Gideri Talebi Detayı,
 Expense Date,Gider Tarih,
 Expense Claim Type,Gideri Talebi Türü,
@@ -6695,185 +6695,185 @@
 Total Holidays,Toplam Tatiller,
 Add Weekly Holidays,Haftalık Tatilleri Ekle,
 Weekly Off,Haftalık İzin,
-Add to Holidays,Tatillere ekle,
+Add to Holidays,tatillere ekle,
 Holidays,Bayram,
 Clear Table,Temizle Tablo,
 HR Settings,İK Ayarları,
 Employee Settings,Çalışan Ayarları,
 Retirement Age,Emeklilik yaşı,
-Enter retirement age in years,yıllarda emeklilik yaşı girin,
+Enter retirement age in years,yaşlılar emeklilik yaşına girin,
 Stop Birthday Reminders,Doğum günü hatırlatıcılarını durdur,
-Expense Approver Mandatory In Expense Claim,Gider Talebi&#39;nde Harcama Uygunluğu,
+Expense Approver Mandatory In Expense Claim,Gider Talebi'nde Harcama Uygunluğu,
 Payroll Settings,Bordro Ayarları,
 Leave,Ayrılmak,
 Max working hours against Timesheet,Max Çizelgesi karşı çalışma saatleri,
 Include holidays in Total no. of Working Days,Çalışma günlerinin toplam sayısı ile tatilleri dahil edin,
-"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Seçili ise,toplam çalışma günleri sayısı tatilleri içerecektir ve bu da Günlük ücreti düşürecektir",
-"If checked, hides and disables Rounded Total field in Salary Slips","İşaretlenirse, Maaş Fişlerindeki Yuvarlatılmış Toplam alanını gizler ve devre dışı bırakır",
-The fraction of daily wages to be paid for half-day attendance,Yarım gün devam için ödenecek günlük ücretlerin oranı,
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Seçili ise,toplam çalışma günü sayısı tatilleri içeriğitir ve bu da Günlük ücret düşecektir",
+"If checked, hides and disables Rounded Total field in Salary Slips","İşaretlenirse, Maaş Fişlerindeki Yuvarlatılmış Toplam oda gizler ve devre dışı bırakır",
+The fraction of daily wages to be paid for half-day attendance,Yarım gün devam için ödenecek günlük masrafın oranı,
 Email Salary Slip to Employee,Çalışan e-posta Maaş Kayma,
-Emails salary slip to employee based on preferred email selected in Employee,Çalışan seçilen tercih edilen e-posta dayalı çalışana e-postalar maaş kayma,
+Emails salary slip to employee based on preferred email selected in Employee,Çalışan tarafından tercih edilen e-posta tabanlı çalışana e-postalar maaş kayması,
 Encrypt Salary Slips in Emails,E-postalardaki Maaş Notlarını Şifrele,
-"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Çalışana gönderilecek maaş bordrosu şifre korumalı olacak, şifre şifre politikasına göre üretilecektir.",
+"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Çalışana gönderilecek maaş bordrosu şifre koruyucu olacak, şifre şifre politikasına göre üretilecektir.",
 Password Policy,Şifre politikası,
 <b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Örnek:</b> SAL- {first_name} - {date_of_birth.year} <br> Bu SAL-Jane-1972 gibi bir şifre üretecek,
-Leave Settings,Ayarları Bırak,
-Leave Approval Notification Template,Onay Bildirim Şablonunu Bırak,
-Leave Status Notification Template,Durum Bildirimi Şablonunu Bırak,
+Leave Settings,İzin Ayarları,
+Leave Approval Notification Template,İzin Onay Bildirimi Şablonunu,
+Leave Status Notification Template,İzin Durum Bildirimi Şablonunu,
 Role Allowed to Create Backdated Leave Application,Gecikmeli İzin Başvurusu Oluşturma Rolüne İzin Verildi,
 Leave Approver Mandatory In Leave Application,İzin Verme Başvurusunu Tamamlama Zorunlu Bırakın,
-Show Leaves Of All Department Members In Calendar,Takvimde Tüm Bölüm Üyelerinin Yapraklarını Göster,
+Show Leaves Of All Department Members In Calendar,Takvimde Tüm Bölüm Üyelerinin İzinlerini Göster,
 Auto Leave Encashment,Otomatik Ayrılma Eklemesi,
 Hiring Settings,Kiralama Ayarları,
-Check Vacancies On Job Offer Creation,İş Teklifi Oluşturma İşleminde Boşlukları Kontrol Edin,
-Identification Document Type,Kimlik Belge Türü,
+Check Vacancies On Job Offer Creation,İş Teklifi Oluşturma İşleminde Boşluğu Kontrol Edin,
+Identification Document Type,Kimlik Belgesi Türü,
 Effective from,İtibaren geçerli,
 Allow Tax Exemption,Vergi Muafiyetine İzin Ver,
-"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Etkinleştirilirse, Vergi Muafiyeti Beyanı, gelir vergisi hesaplaması için dikkate alınacaktır.",
+"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Etkinleştirilirse, Vergi Muafiyeti Beyanı, gelir vergisi hesaplaması için dikkate alınması.",
 Standard Tax Exemption Amount,Standart Vergi Muafiyeti Tutarı,
 Taxable Salary Slabs,Vergilendirilebilir Maaş Levhaları,
 Taxes and Charges on Income Tax,Gelir Vergisi Üzerindeki Vergiler ve Masraflar,
 Other Taxes and Charges,Diğer Vergiler ve Masraflar,
 Income Tax Slab Other Charges,Gelir Vergisi Levhası Diğer Masraflar,
-Min Taxable Income,Minimum Vergiye Tabi Gelir,
+Min Taxable Income,Asgari Vergiye Tabi Gelir,
 Max Taxable Income,Maksimum Vergilendirilebilir Gelir,
-Applicant for a Job,İş için aday,
-Accepted,Kabul Edilmiş,
+Applicant for a Job,İş için bir gün,
+Accepted,Kabül Edildi,
 Job Opening,İş Açılışı,
 Cover Letter,Ön yazı,
-Resume Attachment,Devam Eklenti,
+Resume Attachment,Devam Anlatımı,
 Job Applicant Source,İş Başvurusu Kaynağı,
 Applicant Email Address,Başvuru Sahibinin E-posta Adresi,
 Awaiting Response,Cevap Bekliyor,
-Job Offer Terms,İş Teklifi Koşulları,
+Job Offer Terms,İş Teklifi Hükümleri,
 Select Terms and Conditions,Şartlar ve Koşulları Seç,
-Printing Details,Baskı Detaylar,
+Printing Details,Baskı Detayları,
 Job Offer Term,İş Teklifi Süresi,
-Offer Term,Teklif Dönem,
+Offer Term,Teklif Dönemi,
 Value / Description,Değer / Açıklama,
 Description of a Job Opening,İş Açılış Açıklaması,
 Job Title,İş Unvanı,
-Staffing Plan,Personel planı,
+Staffing Plan,Kişisel tesis,
 Planned number of Positions,Planlanan Pozisyon Sayısı,
-"Job profile, qualifications required etc.","İş Profili, gerekli nitelikler vb",
+"Job profile, qualifications required etc.","İş Profili, gerekli nitelikler vb.",
 HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
 Allocation,Tahsis,
 New Leaves Allocated,Tahsis Edilen Yeni İzinler,
-Add unused leaves from previous allocations,Önceki tahsislerden kullanılmayan izinleri ekle,
-Unused leaves,Kullanılmayan yapraklar,
-Total Leaves Allocated,Ayrılan toplam izinler,
-Total Leaves Encashed,Toplam Yapraklar Encashed,
-Leave Period,Dönme Süresi,
-Carry Forwarded Leaves,Yönlendirilen Yapraklar Carry,
-Apply / Approve Leaves,Yapraklar Onayla / Uygula,
+Add unused leaves from previous allocations,Önceki ödeneklerden çalıştırman izinleri ekle,
+Unused leaves,Kullanılmayan İzinler,
+Total Leaves Allocated,Ayrılan Toplam İzinler,
+Total Leaves Encashed,Toplam İzin Paraya çevrilen,
+Leave Period,İzin Dönemi,
+Carry Forwarded Leaves,Devreden İzinler,
+Apply / Approve Leaves,İzinleri Onayla / Uygula,
 HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
 Leave Balance Before Application,Uygulamadan Önce Kalan İzin,
-Total Leave Days,Toplam bırak Günler,
-Leave Approver Name,Onaylayan Adı bırakın,
+Total Leave Days,Toplam İzin Günü,
+Leave Approver Name,Onaylayan Adı bırak,
 Follow via Email,E-posta ile takip,
-Block Holidays on important days.,Önemli günlerde Blok Tatil.,
-Leave Block List Name,İzin engel listesi adı,
+Block Holidays on important days.,Önemli günler Blok Tatil.,
+Leave Block List Name,izin engel listesi adı,
 Applies to Company,Şirket için geçerli,
-"If not checked, the list will have to be added to each Department where it has to be applied.","İşaretli değilse, liste uygulanması gereken her Departmana eklenmelidir",
+"If not checked, the list will have to be added to each Department where it has to be applied.","İşaretliyse, listelenmesi gereken her Departmana eklenmelidir",
 Block Days,Blok Gün,
-Stop users from making Leave Applications on following days.,Kullanıcıların şu günlerde İzin almasını engelle.,
-Leave Block List Dates,İzin engel listesi tarihleri,
+Stop users from making Leave Applications on following days.,Kullanıcıların şu günlerinde izinleri engelle.,
+Leave Block List Dates,izin engel listesi süreleri,
 Allow Users,Kullanıcılara izin ver,
 Allow the following users to approve Leave Applications for block days.,Blok günleri için aşağıdaki kullanıcıların izin uygulamalarını onaylamasına izin ver.,
 Leave Block List Allowed,Müsaade edilen izin engel listesi,
-Leave Block List Allow,İzin engel listesi müsaade eder,
+Leave Block List Allow,İzin engel listesini sürdürür,
 Allow User,Kullanıcıya izin ver,
-Leave Block List Date,İzin engel listesi tarihi,
-Block Date,Blok Tarih,
+Leave Block List Date,izin engel listesi tarihi,
+Block Date,Blok Tarihi,
 Leave Control Panel,İzin Kontrol Paneli,
-Select Employees,Seçin Çalışanlar,
+Select Employees,Seçin çalışanlar,
 Employment Type (optional),İstihdam Tipi (isteğe bağlı),
 Branch (optional),Şube (isteğe bağlı),
 Department (optional),Bölüm (isteğe bağlı),
 Designation (optional),Atama (isteğe bağlı),
 Employee Grade (optional),Çalışan Sınıfı (isteğe bağlı),
 Employee (optional),Çalışan (isteğe bağlı),
-Allocate Leaves,Yaprakları Tahsis,
+Allocate Leaves,İzinleri Tahsis et,
 Carry Forward,Nakletmek,
-Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Geçen mali yılın bakiyelerini bu mali yıla dahil etmek isterseniz Lütfen İleri Taşıyı seçin,
+Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Geçen mali yılın bakiyelerini bu mali yılı dahil etmek isterseniz Lütfen İleri Taşıyı seçin,
 New Leaves Allocated (In Days),Tahsis Edilen Yeni İzinler (Günler),
-Allocate,Atama yap,
-Leave Balance,Denge Bırak,
-Encashable days,Kapanabilir günler,
+Allocate,atama yap,
+Leave Balance,İzin Bakiyesi,
+Encashable days,kapanabilir günler,
 Encashment Amount,Muhafaza Tutarı,
 Leave Ledger Entry,Defter Girişini Bırakın,
 Transaction Name,İşlem Adı,
-Is Carry Forward,İleri taşınmış,
-Is Expired,Süresi doldu,
+Is Carry Forward,ileri taşınmış,
+Is Expired,süresi doldu,
 Is Leave Without Pay,Pay Yapmadan mı,
 Holiday List for Optional Leave,İsteğe Bağlı İzin İçin Tatil Listesi,
 Leave Allocations,Tahsisleri Bırak,
-Leave Policy Details,İlke Ayrıntılarını Bırak,
-Leave Policy Detail,Politika Ayrıntısından Ayrıl,
+Leave Policy Details,İzin Politikası Ayrıntıları,
+Leave Policy Detail,İzin Politika Ayrıntısı,
 Annual Allocation,Yıllık Tahsis,
 Leave Type Name,İzin Tipi Adı,
-Max Leaves Allowed,İzin Verilen Maksimum Yaprak,
+Max Leaves Allowed,İzin sınırı Maksimum Yaprak,
 Applicable After (Working Days),Uygulanabilir sonra (iş günü),
 Maximum Continuous Days Applicable,Maksimum Sürekli Günler Uygulanabilir,
-Is Optional Leave,İsteğe Bağlı Bırakılıyor,
+Is Optional Leave,İsteğe bağlı bırakılıyor,
 Allow Negative Balance,Negatif bakiyeye izin ver,
-Include holidays within leaves as leaves,Yapraklar gibi yaprakları içinde tatil dahil,
+Include holidays within leaves as leaves,Tatilleri izinlere izin olarak dahil et,
 Is Compensatory,Telafi Edicidir,
-Maximum Carry Forwarded Leaves,Maksimum Taşıma Yönlendirilmiş Yapraklar,
-Expire Carry Forwarded Leaves (Days),Carry Forwarded Yapraklar Süresi (Gün),
-Calculated in days,Gün içinde hesaplanır,
-Encashment,paraya çevirme,
-Allow Encashment,Muhafazaya İzin Ver,
-Encashment Threshold Days,Muhafaza Eşiği Günleri,
-Earned Leave,Kazanılan izin,
-Is Earned Leave,Kazanılmış izin,
-Earned Leave Frequency,Kazanılmış Bırakma Frekansı,
-Rounding,yuvarlatma,
+Maximum Carry Forwarded Leaves,Maksimum Devredilen İzin,
+Expire Carry Forwarded Leaves (Days),Devredilen İzinlerin Sona Ermesi (Gün),
+Calculated in days,Gün olarak hesaplandı,
+Encashment,Paraya çevir,
+Allow Encashment,Paraya çevirmeye İzin Ver,
+Encashment Threshold Days,Para Çevirme Eşik Günü,
+Earned Leave,Kazanılan İzin,
+Is Earned Leave,Kazanılmış İzin,
+Earned Leave Frequency,Kazanılmış İzin Frekansı,
+Rounding,Yuvarlatma,
 Payroll Employee Detail,Bordro Çalışan Ayrıntısı,
 Payroll Frequency,Bordro Frekansı,
-Fortnightly,iki haftada bir,
+Fortnightly,iki hafta bir,
 Bimonthly,İki ayda bir,
-Employees,Çalışanlar,
+Employees,çalışanlar,
 Number Of Employees,Çalışan Sayısı,
 Employee Details,Çalışan Bilgileri,
 Validate Attendance,Katılımı Doğrula,
-Salary Slip Based on Timesheet,Çizelgesi dayanarak maaş Kayma,
+Salary Slip Based on Timesheet,Çizelgesi dayalı maaş Kayma,
 Select Payroll Period,Bordro Dönemi seçin,
-Deduct Tax For Unclaimed Employee Benefits,Sahipsiz Çalışanlara Sağlanan Faydalar İçin Vergi İndirimi,
+Deduct Tax For Unclaimed Employee Benefits,Sahipsiz çalışanlara Sağlanan Faydalar İçin Vergi İndirimi,
 Deduct Tax For Unsubmitted Tax Exemption Proof,Gönderilmemiş Vergi İstisnası Kanıtı için Vergi İndirimi,
-Select Payment Account to make Bank Entry,Seç Ödeme Hesabı Banka girişi yapmak için,
-Salary Slips Created,Maaş Fişleri Oluşturuldu,
-Salary Slips Submitted,Maaş Fişleri Gönderildi,
+Select Payment Account to make Bank Entry,Banka Kaydı yapmak için Ödeme Hesabı Seç,
+Salary Slips Created,Maaş Balıkları Oluşturuldu,
+Salary Slips Submitted,Maaş Balıkları Gönderildi,
 Payroll Periods,Bordro Dönemleri,
 Payroll Period Date,Bordro Dönemi Tarihi,
-Purpose of Travel,Seyahat amacı,
+Purpose of Travel,seyahat amacı,
 Retention Bonus,Tutma Bonusu,
 Bonus Payment Date,Bonus Ödeme Tarihi,
 Bonus Amount,Bonus Tutarı,
 Abbr,Kısaltma,
 Depends on Payment Days,Ödeme Günlerine bağlıdır,
-Is Tax Applicable,Vergi Uygulanabilir mi,
-Variable Based On Taxable Salary,Vergilendirilebilir Maaşlara Dayalı Değişken,
+Is Tax Applicable,Vergi uygulanabilir mi,
+Variable Based On Taxable Salary,Vergilendirilebilir Maaşlara Günlük kullanım,
 Exempted from Income Tax,Gelir Vergisinden Muaf,
 Round to the Nearest Integer,En Yakın Tamsayıya Yuvarlak,
-Statistical Component,İstatistiksel Bileşen,
-"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Seçilirse, bu bileşen içinde belirtilen veya hesaplanan değer kazanç veya kesintilere katkıda bulunmaz. Bununla birlikte, bu değer, eklenebilecek veya düşülebilecek diğer bileşenler tarafından referans alınabilir.",
+Statistical Component,İstatistiksel Bileşenler,
+"If selected, the value specified or calculated in this component will not contribute to the earnings or deductions. However, it's value can be referenced by other components that can be added or deducted. ","Seçilirse, bu bilgiler içinde belirtilen veya hesaplanan değer kazancı veya kesintilere katılmaz. Bununla birlikte, bu değer, eklenebilecek veya düşülebilecek diğer verim tarafından referans alınır.",
 Do Not Include in Total,Toplam İçerme,
-Flexible Benefits,Esnek Faydalar,
-Is Flexible Benefit,Esnek Fayda mı,
+Flexible Benefits,esnek faydalar,
+Is Flexible Benefit,esnek Fayda mı,
 Max Benefit Amount (Yearly),Maksimum Fayda Tutarı (Yıllık),
 Only Tax Impact (Cannot Claim But Part of Taxable Income),"Sadece Vergi Etkisi (Talep Edilemez, Vergilendirilebilir Gelirin Bir Parçası)",
 Create Separate Payment Entry Against Benefit Claim,Fayda Talebine Karşı Ayrı Ödeme Girişi Yaratın,
 Condition and Formula,Durum ve Formül,
 Amount based on formula,Tutar formüle dayalı,
-Formula,formül,
+Formula,formüller,
 Salary Detail,Maaş Detay,
-Component,Bileşen,
-Do not include in total,Toplamda yer almama,
+Component,Bileşenler,
+Do not include in total,Toplamda yer alma,
 Default Amount,Standart Tutar,
-Additional Amount,Ek miktar,
-Tax on flexible benefit,Esnek fayda vergisi,
-Tax on additional salary,Ek maaş vergisi,
+Additional Amount,ek miktar,
+Tax on flexible benefit,esnek fayda vergisi,
+Tax on additional salary,ek maaş vergisi,
 Salary Structure,Maaş Yapısı,
 Working Days,Çalışma Günleri,
 Salary Slip Timesheet,Maaş Kayma Zaman Çizelgesi,
@@ -6890,10 +6890,10 @@
 Total Loan Repayment,Toplam Kredi Geri Ödeme,
 net pay info,net ücret bilgisi,
 Gross Pay - Total Deduction - Loan Repayment,Brüt Ücret - Toplam Kesintisi - Kredi Geri Ödeme,
-Total in words,Sözlü Toplam,
-Net Pay (in words) will be visible once you save the Salary Slip.,Net Ödeme (sözlü) Maaş Makbuzunu kaydettiğinizde görünecektir,
-Salary Component for timesheet based payroll.,zaman çizelgesi tabanlı bordro için maaş Bileşeni.,
-Leave Encashment Amount Per Day,Günde Muhafaza Miktarını Bırak,
+Total in words,Yazıyla Toplam,
+Net Pay (in words) will be visible once you save the Salary Slip.,Net Ödeme (Yazıyla) Maaş Makbuzunu kaydettiğinizde başarma,
+Salary Component for timesheet based payroll.,zaman girerken bina bordrosu için maaş Bileşeni.,
+Leave Encashment Amount Per Day,Gündem Muhafaza Miktarını Bırak,
 Max Benefits (Amount),Maksimum Faydalar (Tutar),
 Salary breakup based on Earning and Deduction.,Kazanç ve Kesintiye göre Maaş Aralığı.,
 Total Earning,Toplam Kazanç,
@@ -6902,35 +6902,35 @@
 Shift Type,Vardiya Türü,
 Shift Request,Vardiya İsteği,
 Enable Auto Attendance,Otomatik Katılımı Etkinleştir,
-Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Bu vardiyaya atanan çalışanlar için &#39;Çalışan Checkin&#39;i&#39;ne dayalı katılım.,
+Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Bu vardiyaya atanan çalışanlar için 'Çalışan Checkin'e araştırmaya dayalı.,
 Auto Attendance Settings,Otomatik Devam Ayarları,
 Determine Check-in and Check-out,Giriş ve Çıkış Belirleme,
 Alternating entries as IN and OUT during the same shift,Aynı vardiyada alternatif girişler ve girişler,
-Strictly based on Log Type in Employee Checkin,Kesinlikle Çalışan Checkin&#39;de Günlük Tipine Göre,
+Strictly based on Log Type in Employee Checkin,Çalışan Kesinlikle Checkin'de Günlük Tipine Göre,
 Working Hours Calculation Based On,Mesai Saatine Göre Hesaplama,
-First Check-in and Last Check-out,İlk Check-in ve Son Check-out,
-Every Valid Check-in and Check-out,Her Geçerli Giriş ve Çıkış,
-Begin check-in before shift start time (in minutes),Vardiya başlama zamanından önce check-ine başlayın (dakika olarak),
-The time before the shift start time during which Employee Check-in is considered for attendance.,Çalışan Check-in&#39;in katılım için dikkate alındığı vardiya başlama saatinden önceki zaman.,
+First Check-in and Last Check-out,İlk Check-in ve Oğul Check-out,
+Every Valid Check-in and Check-out,Her yürütme Giriş ve Çıkış,
+Begin check-in before shift start time (in minutes),Vardiya başlama zamanından önce check-ine başlama (dakika olarak),
+The time before the shift start time during which Employee Check-in is considered for attendance.,Çalışan Check-in'e giriş için alındığı vardiya başlama saatinden önceki zaman.,
 Allow check-out after shift end time (in minutes),Vardiya bitiş zamanından sonra check-out yapılmasına izin ver (dakika olarak),
 Time after the end of shift during which check-out is considered for attendance.,Check-out sırasındaki katılım için vardiya sonundan sonraki zaman.,
 Working Hours Threshold for Half Day,Yarım Gün Çalışma Saatleri Eşiği,
-Working hours below which Half Day is marked. (Zero to disable),Yarım Günün işaretlendiği çalışma saatleri. (Devre dışı bırakmak için sıfır),
+Working hours below which Half Day is marked. (Zero to disable),Yarım günün işaretlendiği çalışma saatleri. (Devre dışı için sıfır),
 Working Hours Threshold for Absent,Devamsızlık için Çalışma Saatleri Eşiği,
-Working hours below which Absent is marked. (Zero to disable),Devamsız işaretli çalışma saatleri. (Devre dışı bırakmak için sıfır),
+Working hours below which Absent is marked. (Zero to disable),Devamsız işaretli çalışma saatleri. (Devre dışı için sıfır),
 Process Attendance After,İşlem Sonrasına Devam Etme,
-Attendance will be marked automatically only after this date.,Katılım bu tarihten sonra otomatik olarak işaretlenecektir.,
+Attendance will be marked automatically only after this date.,Katılım bu giriş daha sonra otomatik olarak işaretlenecektir.,
 Last Sync of Checkin,Son Checkin Senkronizasyonu,
-Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,"Çalışan Checkin&#39;in En Son Başarılı Başarılı Senkronizasyonu. Bunu, yalnızca Kayıtların tüm konumlardan senkronize edildiğinden eminseniz sıfırlayın. Emin değilseniz lütfen bunu değiştirmeyin.",
+Last Known Successful Sync of Employee Checkin. Reset this only if you are sure that all Logs are synced from all the locations. Please don't modify this if you are unsure.,"Çalışan Checkin En Son Başarılı Başarılı Senkronizasyonu. Bunu, yalnızca Kayıtların tüm konumlardan entegre olarak kendinizden eminseniz sıfırlayın. Emin değilseniz lütfen bunu değiştirmeyin.",
 Grace Period Settings For Auto Attendance,Otomatik Seyirci için Grace Dönemi Ayarları,
 Enable Entry Grace Period,Giriş Graceini Etkinleştir,
 Late Entry Grace Period,Geç Giriş Grace Dönemi,
-The time after the shift start time when check-in is considered as late (in minutes).,Check-in işleminin başlangıçtan sonraki zamanı geç (dakika olarak) olarak kabul edilir.,
+The time after the shift start time when check-in is considered as late (in minutes).,Check-in işlemlerinden sonraki saat geç (dakika olarak) olarak kabul edilir.,
 Enable Exit Grace Period,Grace Dönemi Çıkışını Etkinleştir,
-Early Exit Grace Period,Erken Çıkış Grace Dönemi,
-The time before the shift end time when check-out is considered as early (in minutes).,Check-out işleminin erken olduğu andan önceki süre (dakika olarak).,
+Early Exit Grace Period,Erken Grace Çıkış Dönemi,
+The time before the shift end time when check-out is considered as early (in minutes).,Check-out işleminin erken olduğu ve bir önceki süre (dakika olarak).,
 Skill Name,Beceri Adı,
-Staffing Plan Details,Kadro Plan Detayları,
+Staffing Plan Details,Kadro Planı Detayları,
 Staffing Plan Detail,Kadro Planı Detayı,
 Total Estimated Budget,Toplam Tahmini Bütçe,
 Vacancies,Açık İşler,
@@ -6939,9 +6939,9 @@
 Current Count,Mevcut Sayım,
 Current Openings,Mevcut Açıklıklar,
 Number Of Positions,Pozisyon Sayısı,
-Taxable Salary Slab,Vergilendirilebilir Maaş Slab,
+Taxable Salary Slab,Vergilendirilebilir Maaş Döşeme,
 From Amount,Miktardan,
-To Amount,Tutarına,
+To Amount,tutarına,
 Percent Deduction,Yüzde kesinti,
 Training Program,Eğitim programı,
 Event Status,Etkinlik Durumu,
@@ -6949,231 +6949,231 @@
 Seminar,seminer,
 Theory,teori,
 Workshop,Atölye,
-Conference,Konferans,
-Exam,sınav,
-Internet,Internet,
+Conference,konferans,
+Exam,sınavı,
+Internet,İnternet,
 Self-Study,Bireysel çalışma,
-Advance,İlerlemek,
+Advance,İletmek,
 Trainer Name,eğitmen Adı,
 Trainer Email,eğitmen E-posta,
-Attendees,katılımcılar,
+Attendees,gönderici,
 Employee Emails,Çalışan E-postaları,
 Training Event Employee,Eğitim Etkinlik Çalışan,
 Invited,davetli,
 Feedback Submitted,Geri Bildirim Ekleyen,
-Optional,İsteğe bağlı,
+Optional,isteğe bağlı,
 Training Result Employee,Eğitim Sonucu Çalışan,
 Travel Itinerary,Seyahat güzergahı,
 Travel From,Seyahat,
 Travel To,Seyahat,
-Mode of Travel,Seyahat şekli,
-Flight,Uçuş,
+Mode of Travel,seyahat şekli,
+Flight,uçuş,
 Train,Tren,
-Taxi,Taksi,
-Rented Car,Kiralanmış araba,
+Taxi,taksi,
+Rented Car,kiralanmış araba,
 Meal Preference,Yemek Tercihi,
 Vegetarian,Vejetaryen,
 Non-Vegetarian,Vejeteryan olmayan,
-Gluten Free,Glütensiz,
+Gluten Free,glütensiz,
 Non Diary,Günlük Olmayan,
 Travel Advance Required,Seyahat Öncesi Gerekli,
 Departure Datetime,Kalkış Datetime,
-Arrival Datetime,Varış Datetime,
+Arrival Datetime,Varış Tarihsaat,
 Lodging Required,Konaklama Gerekli,
 Preferred Area for Lodging,Konaklama için Tercih Edilen Alan,
 Check-in Date,Giriş Tarihi,
-Check-out Date,Tarihi kontrol et,
-Travel Request,Seyahat isteği,
-Travel Type,Seyahat türü,
-Domestic,yerli,
+Check-out Date,tarihi kontrol et,
+Travel Request,Seyahat istekleri,
+Travel Type,seyahat türü,
+Domestic,Domestic (Yerli),
 International,Uluslararası,
 Travel Funding,Seyahat Fonu,
 Require Full Funding,Tam Finansman Gerektir,
-Fully Sponsored,Tamamen Sponsorlu,
+Fully Sponsored,tamamen Sponsorlu,
 "Partially Sponsored, Require Partial Funding","Kısmen Sponsorlu, Kısmi Finansman Gerektirir",
-Copy of Invitation/Announcement,Davetiye / Duyurunun kopyası,
+Copy of Invitation/Announcement,Davetiye / Duyurunun kopyaları,
 "Details of Sponsor (Name, Location)","Sponsorun Detayları (İsim, Yer)",
-Identification Document Number,Kimlik Belge Numarası,
-Any other details,Diğer detaylar,
+Identification Document Number,Kimlik Belgesi Numarası,
+Any other details,Diğer Ayrıntılar,
 Costing Details,Maliyet Ayrıntıları,
 Costing,Maliyetlendirme,
-Event Details,etkinlik detayları,
+Event Details,Etkinlik Detayları,
 Name of Organizer,Organizatörün Adı,
 Address of Organizer,Organizatörün Adresi,
 Travel Request Costing,Seyahat Talebi Maliyeti,
 Expense Type,Gider Türü,
 Sponsored Amount,Sponsorlu Tutar,
 Funded Amount,Fonlanan Tutar,
-Upload Attendance,Devamlılığı Güncelle,
-Attendance From Date,Tarihten itibaren katılım,
-Attendance To Date,Tarihine kadar katılım,
-Get Template,Şablon alın,
-Import Attendance,Yoklamayı İçe Aktar,
+Upload Attendance,Puantajı Güncelle,
+Attendance From Date,Puantaj Başlangıç Tarihi,
+Attendance To Date,Puantaj Bitiş Tarihi,
+Get Template,Şablonu Al,
+Import Attendance,Puantajı İçe Aktar,
 Upload HTML,HTML Yükle,
-Vehicle,araç,
+Vehicle,Araç,
 License Plate,Plaka,
-Odometer Value (Last),Sayaç Değeri (Son),
-Acquisition Date,Edinme tarihi,
-Chassis No,şasi No,
-Vehicle Value,araç Değeri,
+Odometer Value (Last),Kilometre Sayacı Değeri (Son),
+Acquisition Date,Alım Tarihi,
+Chassis No,Şasi No,
+Vehicle Value,Araç Değeri,
 Insurance Details,Sigorta Detayları,
-Insurance Company,Sigorta şirketi,
-Policy No,Politika yok,
-Additional Details,ek detaylar,
-Fuel Type,Yakıt tipi,
-Petrol,Petrol,
+Insurance Company,Sigorta Şirketi,
+Policy No,Poliçe No,
+Additional Details,Ek Detaylar,
+Fuel Type,Yakıt Tipi,
+Petrol,Benzin,
 Diesel,Dizel,
 Natural Gas,Doğal gaz,
 Electric,Elektrik,
-Fuel UOM,yakıt UOM,
-Last Carbon Check,Son Karbon Kontrol,
-Wheels,Tekerlekler,
-Doors,Kapılar,
+Fuel UOM,Yakıt Birimi,
+Last Carbon Check,Son Karbon Kontrolü,
+Wheels,Tekerlek,
+Doors,Kapı,
 HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
-Odometer Reading,Kilometre sayacı okuma,
+Odometer Reading,Kilometre Sayacı Okuması,
 Current Odometer value ,Geçerli Kilometre Sayacı değeri,
 last Odometer Value ,son Kilometre Sayacı Değeri,
 Refuelling Details,Yakıt Detayları,
-Invoice Ref,fatura Ref,
+Invoice Ref,Fatura Ref,
 Service Details,Hizmet Detayları,
-Service Detail,hizmet Detayı,
-Vehicle Service,araç Servis,
-Service Item,servis Öğe,
+Service Detail,Hizmet Detayı,
+Vehicle Service,Araç Servis,
+Service Item,Servis Öğe,
 Brake Oil,Fren Yağı,
-Brake Pad,Fren pedalı,
+Brake Pad,Fren Pedalı,
 Clutch Plate,Debriyaj Plakası,
-Engine Oil,Motor yağı,
-Oil Change,Yağ değişimi,
-Inspection,muayene,
+Engine Oil,Motor Yağı,
+Oil Change,Yağ Değişimi,
+Inspection,Muayene,
 Mileage,Kilometre,
 Hub Tracked Item,Hub İzlenen Öğe,
 Hub Node,Hub Düğüm,
-Image List,Görüntü listesi,
+Image List,Görüntü Listesi,
 Item Manager,Ürün Yöneticisi,
-Hub User,Hub kullanıcısı,
+Hub User,Hub Kullanıcısı,
 Hub Password,Hub Parolası,
 Hub Users,Hub Kullanıcıları,
-Marketplace Settings,Marketplace Ayarları,
+Marketplace Settings,Pazar Yeri Ayarları,
 Disable Marketplace,Marketplace&#39;i Devre Dışı Bırak,
-Marketplace URL (to hide and update label),Pazar yeri URL&#39;si (etiketi gizlemek ve güncellemek için),
+Marketplace URL (to hide and update label),Pazar yeri URL'si (etiketi gizlemek ve güncellemek için),
 Registered,Kayıtlı,
-Sync in Progress,İlerleme devam ediyor,
+Sync in Progress,Senkronizasyon Devam Ediyor,
 Hub Seller Name,Hub Satıcı Adı,
-Custom Data,Özel veri,
-Member,üye,
-Partially Disbursed,Kısmen dönemlerde toplanan,
+Custom Data,özel veri,
+Member,Üye,
+Partially Disbursed,Kısmen Ödeme yapılmış,
 Loan Closure Requested,Kredi Kapanışı İstendi,
-Repay From Salary,Maaş dan ödemek,
-Loan Details,kredi Detayları,
-Loan Type,kredi Türü,
-Loan Amount,Kredi miktarı,
+Repay From Salary,Maaşdan Öde,
+Loan Details,Kredi Detayları,
+Loan Type,Kredi Türü,
+Loan Amount,Kredi Tutarı,
 Is Secured Loan,Teminatlı Kredi,
 Rate of Interest (%) / Year,İlgi (%) / Yılın Oranı,
-Disbursement Date,Ödeme tarihi,
-Disbursed Amount,Ödeme Tutarı,
+Disbursement Date,Masraf Tarihi,
+Disbursed Amount,Masraf Harcama Tutarı,
 Is Term Loan,Vadeli Kredi,
 Repayment Method,Geri Ödeme Yöntemi,
-Repay Fixed Amount per Period,Dönem başına Sabit Tutar Repay,
-Repay Over Number of Periods,Sürelerinin Üzeri sayısı Repay,
-Repayment Period in Months,Aylar içinde Geri Ödeme Süresi,
+Repay Fixed Amount per Period,Dönem başına Sabit Tutar Geri Ödeme,
+Repay Over Number of Periods,Sürelerinin üzeri sayısı Geri Ödeme,
+Repayment Period in Months,Aylar Geri içinde Ödeme Süresi,
 Monthly Repayment Amount,Aylık Geri Ödeme Tutarı,
 Repayment Start Date,Geri Ödeme Başlangıç Tarihi,
 Loan Security Details,Kredi Güvenliği Detayları,
 Maximum Loan Value,Maksimum Kredi Değeri,
 Account Info,Hesap Bilgisi,
-Loan Account,Borç hesabı,
+Loan Account,Kredi Hesabı,
 Interest Income Account,Faiz Gelir Hesabı,
-Penalty Income Account,Penaltı Gelir Hesabı,
-Repayment Schedule,Geri Ödeme Plan,
+Penalty Income Account,Ceza Geliri Hesabı,
+Repayment Schedule,Geri Ödeme Planı,
 Total Payable Amount,Toplam Ödenecek Tutar,
-Total Principal Paid,Ödenen Toplam Anapara,
-Total Interest Payable,Ödenecek Toplam Faiz,
-Total Amount Paid,Toplamda ödenen miktar,
-Loan Manager,Kredi Müdürü,
-Loan Info,kredi Bilgisi,
-Rate of Interest,Faiz oranı,
-Proposed Pledges,Önerilen Rehinler,
-Maximum Loan Amount,Maksimum Kredi Miktarı,
+Total Principal Paid,Toplam Ödenen Anapara,
+Total Interest Payable,Toplam Ödenecek Faiz,
+Total Amount Paid,Toplam Ödenen Tutar,
+Loan Manager,Kredi Yöneticisi,
+Loan Info,Kredi Bilgisi,
+Rate of Interest,Faiz Oranı,
+Proposed Pledges,Gelişmiş Rehinler,
+Maximum Loan Amount,Maksimum Kredi Tutarı,
 Repayment Info,Geri Ödeme Bilgisi,
-Total Payable Interest,Toplam Ödenecek faiz,
+Total Payable Interest,Toplam Ödenecek Faiz,
 Against Loan ,Krediye Karşı,
 Loan Interest Accrual,Kredi Faiz Tahakkuku,
-Amounts,tutarlar,
+Amounts,Tutarlar,
 Pending Principal Amount,Bekleyen Anapara Tutarı,
 Payable Principal Amount,Ödenecek Anapara Tutarı,
 Paid Principal Amount,Ödenen Anapara Tutarı,
 Paid Interest Amount,Ödenen Faiz Tutarı,
-Process Loan Interest Accrual,Süreç Kredisi Faiz Tahakkuku,
+Process Loan Interest Accrual,Kredi Faiz Tahakkuku Süreci,
 Repayment Schedule Name,Geri Ödeme Planı Adı,
-Regular Payment,Düzenli ödeme,
+Regular Payment,Düzenli Ödeme,
 Loan Closure,Kredi Kapanışı,
-Payment Details,Ödeme detayları,
-Interest Payable,Ödenecek faiz,
+Payment Details,Ödeme Detayları,
+Interest Payable,Ödenecek Faiz,
 Amount Paid,Ödenen Tutar;,
 Principal Amount Paid,Ödenen Anapara Tutarı,
 Repayment Details,Geri Ödeme Ayrıntıları,
 Loan Repayment Detail,Kredi Geri Ödeme Detayı,
 Loan Security Name,Kredi Güvenlik Adı,
-Unit Of Measure,Ölçü birimi,
+Unit Of Measure,Ölçü Birimi,
 Loan Security Code,Kredi Güvenlik Kodu,
 Loan Security Type,Kredi Güvenlik Türü,
-Haircut %,Saç kesimi%,
+Haircut %,Saç Kesimi %,
 Loan  Details,Kredi Detayları,
-Unpledged,Unpledged,
+Unpledged,taahhütsüz,
 Pledged,Rehin,
 Partially Pledged,Kısmen Rehin Verildi,
 Securities,senetler,
 Total Security Value,Toplam Güvenlik Değeri,
 Loan Security Shortfall,Kredi Güvenliği Eksikliği,
-Loan ,borç,
+Loan ,Kredi ,
 Shortfall Time,Eksik Zaman,
 America/New_York,Amerika / New_York,
 Shortfall Amount,Eksiklik Tutarı,
 Security Value ,Güvenlik Değeri,
-Process Loan Security Shortfall,Süreç Kredisi Güvenlik Açığı,
+Process Loan Security Shortfall,Kredi Güvenlik Açığı Süreci,
 Loan To Value Ratio,Kredi / Değer Oranı,
-Unpledge Time,Unpledge Zamanı,
-Loan Name,kredi Ad,
-Rate of Interest (%) Yearly,İlgi Oranı (%) Yıllık,
+Unpledge Time,Rehin Zamanı,
+Loan Name,Kredi Adı,
+Rate of Interest (%) Yearly,Yıllık Faiz Oranı (%),
 Penalty Interest Rate (%) Per Day,Günlük Ceza Faiz Oranı (%),
-Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,"Gecikmeli geri ödeme durumunda, günlük olarak askıya alınan faiz oranı üzerinden tahakkuk eden faiz oranı alınır.",
-Grace Period in Days,Gün İçi Ödemesiz Dönem,
-No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Kredi geri ödemesinde gecikme olması durumunda, vade tarihinden itibaren cezanın uygulanmayacağı gün sayısı",
+Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,"Gecikmeli geri ödeme durumunda, günlük olarak alınan faiz oranı tahakkuk eden faiz oranı alınır.",
+Grace Period in Days,Gün olarak Ek Süre,
+No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Kredi geri ödemesinde gecikme olması durumunda, vade kurallarından cezanın uygulanmayacağı gün sayısı",
 Pledge,Rehin,
 Post Haircut Amount,Post Saç Kesimi Miktarı,
 Process Type,İşlem türü,
-Update Time,Güncelleme zamanı,
-Proposed Pledge,Önerilen Rehin,
-Total Payment,Toplam ödeme,
+Update Time,Zamanı Güncelle,
+Proposed Pledge,Yetenekli Rehin,
+Total Payment,Toplam Ödeme,
 Balance Loan Amount,Bakiye Kredi Miktarı,
 Is Accrued,Tahakkuk Edildi,
 Salary Slip Loan,Maaş Kaybı Kredisi,
 Loan Repayment Entry,Kredi Geri Ödeme Girişi,
 Sanctioned Loan Amount,Onaylanan Kredi Tutarı,
 Sanctioned Amount Limit,Onaylanan Tutar Sınırı,
-Unpledge,Unpledge,
-Haircut,saç kesimi,
+Unpledge,Taahhüdü iptal et,
+Haircut,Saç Kesimi,
 MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
-Generate Schedule,Program Oluşturun,
-Schedules,Programlar,
+Generate Schedule,Program Oluşturmanın,
+Schedules,programlı,
 Maintenance Schedule Detail,Bakım Programı Detayı,
 Scheduled Date,Program Tarihi,
 Actual Date,Gerçek Tarih,
 Maintenance Schedule Item,Bakım Programı Ürünü,
 Random,Rastgele,
-No of Visits,Ziyaret sayısı,
+No of Visits,ziyaret sayısı,
 MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
-Maintenance Date,Bakım Tarih,
+Maintenance Date,Bakım Tarihi,
 Maintenance Time,Bakım Zamanı,
 Completion Status,Tamamlanma Durumu,
 Partially Completed,Kısmen Tamamlandı,
-Fully Completed,Tamamen Tamamlanmış,
-Unscheduled,Plânlanmamış,
+Fully Completed,tamamen Tamamlanmış,
+Unscheduled,planlanmamış,
 Breakdown,Arıza,
 Purposes,Amaçları,
 Customer Feedback,Müşteri Görüşleri,
-Maintenance Visit Purpose,Bakım ziyareti Amacı,
-Work Done,Yapılan İş,
+Maintenance Visit Purpose,Bakım ziyareti Amaç,
+Work Done,İş Bitti,
 Against Document No,Karşılık Belge No.,
 Against Document Detail No,Karşılık Belge Detay No.,
 MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
@@ -7181,25 +7181,25 @@
 Blanket Order Item,Battaniye sipariş öğesi,
 Ordered Quantity,Sipariş Edilen Miktar,
 Item to be manufactured or repacked,Üretilecek veya yeniden paketlenecek Ürün,
-Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Üretimden sonra elde edilen Ürün miktarı/ ham maddelerin belli miktarlarında yeniden ambalajlama,
-Set rate of sub-assembly item based on BOM,BOM&#39;a dayalı alt montaj malzemesinin oranını ayarlama,
+Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Belirli miktarlarda ham maddeden üretim / yeniden paketleme sonrasında elde edilen ürün miktarı,
+Set rate of sub-assembly item based on BOM,BOM'a dayalı alt montaj malzemesinin ayarlarını ayarlama,
 Allow Alternative Item,Alternatif Öğeye İzin Ver,
 Item UOM,Ürün Ölçü Birimi,
-Conversion Rate,Dönüşüm oranı,
-Rate Of Materials Based On,Dayalı Ürün Br. Fiyatı,
-With Operations,Operasyon ile,
+Conversion Rate,Dönüşüm Oranı,
+Rate Of Materials Based On,Malzeme Fiyatı Şuna göre,
+With Operations,Operasyonlar ile,
 Manage cost of operations,İşlem Maliyetlerini Yönetin,
 Transfer Material Against,Karşı Malzemeyi Aktar,
-Routing,Yönlendirme,
+Routing,Rota,
 Materials,Materyaller,
 Quality Inspection Required,Kalite Denetimi Gerekli,
 Quality Inspection Template,Kalite Kontrol Şablonu,
 Scrap,Hurda,
-Scrap Items,hurda Ürünleri,
-Operating Cost,İşletme Maliyeti,
+Scrap Items,Hurda Ögeleri,
+Operating Cost,Operasyon Maliyeti,
 Raw Material Cost,Hammadde Maliyeti,
 Scrap Material Cost,Hurda Malzeme Maliyet,
-Operating Cost (Company Currency),İşletme Maliyeti (Şirket Para Birimi),
+Operating Cost (Company Currency),Operasyon Maliyeti (Şirket Para Birimi),
 Raw Material Cost (Company Currency),Hammadde Maliyeti (Şirket Para Birimi),
 Scrap Material Cost(Company Currency),Hurda Malzeme Maliyeti (Şirket Para Birimi),
 Total Cost,Toplam Maliyet,
@@ -7208,173 +7208,173 @@
 Exploded Items,Patlamış Öğeler,
 Show in Website,Web Sitesinde Göster,
 Item Image (if not slideshow),Ürün Görüntü (yoksa slayt),
-Thumbnail,Başparmak tırnağı,
+Thumbnail,Thumbnail,
 Website Specifications,Web Sitesi Özellikleri,
-Show Items,göster Öğeler,
-Show Operations,göster İşlemleri,
+Show Items,Öğeler Göster,
+Show Operations,Operasyonları Göster,
 Website Description,Web Sitesi Açıklaması,
 BOM Explosion Item,Ürün Ağacı Patlatılmış Malzemeler,
 Qty Consumed Per Unit,Birim Başına Tüketilen Miktar,
-Include Item In Manufacturing,İmalattaki Ürünü Dahil Et,
-BOM Item,BOM Ürün,
-Item operation,Öğe operasyonu,
+Include Item In Manufacturing,Ürünü Üretime Dahil et,
+BOM Item,BOM Ürünü,
+Item operation,Ürün Operasyonu,
 Rate & Amount,Oran ve Miktar,
 Basic Rate (Company Currency),Temel oran (Şirket para birimi),
 Scrap %,Hurda %,
-Original Item,Orijinal öğe,
+Original Item,Orjinal Ürün,
 BOM Operation,BOM Operasyonu,
-Operation Time ,Operasyon zamanı,
-In minutes,Dakikalar içinde,
-Batch Size,Parti boyutu,
+Operation Time ,Operasyon Süresi ,
+In minutes,Dakika,
+Batch Size,Parti Boyutu,
 Base Hour Rate(Company Currency),Baz Saat Hızı (Şirket Para Birimi),
-Operating Cost(Company Currency),İşletme Maliyeti (Şirket Para Birimi),
+Operating Cost(Company Currency),Operasyon Maliyeti (Şirket Para Birimi),
 BOM Scrap Item,Ürün Ağacı Hurda Kalemi,
 Basic Amount (Company Currency),Temel Tutar (Şirket Para Birimi),
 BOM Update Tool,BOM Güncelleme Aracı,
-"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Kullanılan diğer BOM&#39;larda belirli bir BOM&#39;u değiştirin. Eski BOM bağlantısının yerini alacak, maliyeti güncelleyecek ve &quot;BOM Patlama Maddesi&quot; tablosunu yeni BOM&#39;ya göre yenileyecektir. Ayrıca tüm BOM&#39;larda en son fiyatı günceller.",
+"Replace a particular BOM in all other BOMs where it is used. It will replace the old BOM link, update cost and regenerate ""BOM Explosion Item"" table as per new BOM.\nIt also updates latest price in all the BOMs.","Kullanılan diğer BOM'larda belirli bir BOM'u değiştirin. Eski BOM bağlantısının yerini alacak, maliyeti güncelleyecek ve 'BOM Patlama Maddesi' tablosunu yeni BOM'ya göre yenileyecektir. Ayrıca tüm BOM'larda en son fiyatı günceller.",
 Replace BOM,BOM değiştirme,
 Current BOM,Güncel BOM,
 The BOM which will be replaced,Değiştirilecek BOM,
 The new BOM after replacement,Değiştirilmesinden sonra yeni BOM,
 Replace,Değiştir,
-Update latest price in all BOMs,Tüm BOM&#39;larda en son fiyatı güncelleyin,
+Update latest price in all BOMs,Tüm ürün reçetelerinde en son fiyatı güncelleyin,
 BOM Website Item,Ürün Ağacı Web Sitesi kalemi,
 BOM Website Operation,Ürün Ağacı Web Sitesi Operasyonu,
 Operation Time,Çalışma Süresi,
 PO-JOB.#####,PO-İŞ. #####,
-Timing Detail,Zamanlama detay,
+Timing Detail,Zamanlama Detayı,
 Time Logs,Zaman Günlükleri,
 Total Time in Mins,Dakikada Toplam Süre,
 Operation ID,İşlem kimliği,
 Transferred Qty,Transfer Edilen Miktar,
 Job Started,İşe Başladı,
-Started Time,Başlangıç zamanı,
-Current Time,Şimdiki zaman,
+Started Time,Başlangıç Zamanı,
+Current Time,Şimdiki Zaman,
 Job Card Item,İş Kartı Öğesi,
-Job Card Time Log,İş kartı zaman günlüğü,
-Time In Mins,Dakikalarda Zaman,
+Job Card Time Log,İş Kartı Zaman günlüğü,
+Time In Mins,Süre dakika,
 Completed Qty,Tamamlanan Adet,
 Manufacturing Settings,Üretim Ayarları,
 Raw Materials Consumption,Hammadde Tüketimi,
 Allow Multiple Material Consumption,Çoklu Malzeme Tüketimine İzin Ver,
 Backflush Raw Materials Based On,Backflush Hammaddeleri Dayalı,
-Material Transferred for Manufacture,Üretim için Materyal Transfer,
+Material Transferred for Manufacture,Üretim için Malzeme Transferi,
 Capacity Planning,Kapasite Planlama,
 Disable Capacity Planning,Kapasite Planlamasını Devre Dışı Bırak,
-Allow Overtime,Fazla mesaiye izin ver,
-Allow Production on Holidays,Holidays Üretim izin ver,
-Capacity Planning For (Days),(Gün) için Kapasite Planlama,
+Allow Overtime,Fazla Mesaiye izin ver,
+Allow Production on Holidays,Tatilde Üretime izin ver,
+Capacity Planning For (Days),Kapasite Planlama (Gün),
 Default Warehouses for Production,Varsayılan Üretim Depoları,
-Default Work In Progress Warehouse,İlerleme Ambarlar&#39;da Standart Çalışma,
-Default Finished Goods Warehouse,Standart bitirdi Eşya Depo,
+Default Work In Progress Warehouse,Varsayılan Yarı Mamul Deposu,
+Default Finished Goods Warehouse,Varsayılan Mamul Deposu,
 Default Scrap Warehouse,Varsayılan Hurda Deposu,
-Overproduction Percentage For Sales Order,Satış Siparişi İçin Aşırı Üretim Yüzdesi,
-Overproduction Percentage For Work Order,İş Emri İçin Aşırı Üretim Yüzdesi,
+Overproduction Percentage For Sales Order,Satış Siparişi İçin Fazla Üretim Yüzdesi,
+Overproduction Percentage For Work Order,İş Emri İçin Fazla Üretim Yüzdesi,
 Other Settings,Diğer Ayarlar,
 Update BOM Cost Automatically,BOM Maliyetini Otomatik Olarak Güncelleyin,
-Material Request Plan Item,Malzeme İstek Planı Öğe,
-Material Request Type,Malzeme İstek Türü,
-Material Issue,Malzeme Verilişi,
-Customer Provided,Müşteri Tarafından Tedarikli,
-Minimum Order Quantity,minimum sipariş miktarı,
-Default Workstation,Standart İstasyonu,
+Material Request Plan Item,Malzeme Talep Planı Kalemi,
+Material Request Type,Malzeme Talep Türü,
+Material Issue,Malzeme Çıkışı,
+Customer Provided,Müşteri Tarafından Sağlandı,
+Minimum Order Quantity,Minimum Sipariş Miktarı,
+Default Workstation,Varsayılan İş İstasyonu,
 Production Plan,Üretim Planı,
 MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
-Get Items From,Öğeleri alın,
-Get Sales Orders,Satış Şiparişlerini alın,
-Material Request Detail,Malzeme İstek Ayrıntısı,
-Get Material Request,Malzeme İsteği alın,
-Material Requests,Malzeme İstekler,
-Get Items For Work Order,İş Emri İçin Öğeleri Alın,
-Material Request Planning,Malzeme İstek Planlaması,
-Include Non Stock Items,Stokta Olmayan Ürünleri Dahil Et,
-Include Subcontracted Items,Taahhütlü Öğeleri Dahil Et,
+Get Items From,Öğeleri Al,
+Get Sales Orders,Satış Şiparişlerini Getir,
+Material Request Detail,Malzeme Talep Ayrıntısı,
+Get Material Request,Malzeme Talebini Getir,
+Material Requests,Malzeme Talepleri,
+Get Items For Work Order,İş Emri İçin Ürünleri Al,
+Material Request Planning,Malzeme Talep Planlaması,
+Include Non Stock Items,Stokta olmayan Ürünleri Dahil Et,
+Include Subcontracted Items,Taşerona verilmiş Ürünleri Dahil et,
 Ignore Existing Projected Quantity,Mevcut Öngörülen Miktarı Yoksay,
 "To know more about projected quantity, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">click here</a>.","Tahmini miktar hakkında daha fazla bilgi için, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">buraya tıklayın</a> .",
 Download Required Materials,Gerekli Malzemeleri İndirin,
 Get Raw Materials For Production,Üretim İçin Hammaddeleri Alın,
-Total Planned Qty,Toplam Planlanan Adet,
+Total Planned Qty,Toplam Planlanan Miktar,
 Total Produced Qty,Toplam Üretilen Miktar,
-Material Requested,İstenen Malzeme,
+Material Requested,Talep edilen Malzeme,
 Production Plan Item,Üretim Planı nesnesi,
 Make Work Order for Sub Assembly Items,Alt Montaj Ürünleri İçin İş Emri Yap,
 "If enabled, system will create the work order for the exploded items against which BOM is available.","Etkinleştirildiğinde, sistem, malzeme listesinin uygun olduğu patlamış ürünler için iş emri oluşturur.",
 Planned Start Date,Planlanan Başlangıç Tarihi,
 Quantity and Description,Miktar ve Açıklama,
-material_request_item,material_request_item,
-Product Bundle Item,Ürün Paketi Ürün,
+material_request_item,malzeme_isteği_öğesi,
+Product Bundle Item,Ürün Bundle Ögesi,
 Production Plan Material Request,Üretim Planı Malzeme Talebi,
 Production Plan Sales Order,Üretim Planı Satış Siparişi,
 Sales Order Date,Satış Sipariş Tarihi,
 Routing Name,Yönlendirme Adı,
 MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
 Item To Manufacture,Üretilecek Ürün,
-Material Transferred for Manufacturing,Üretim için Transfer edilen Materyal,
+Material Transferred for Manufacturing,Üretim için Aktarılan Malzeme,
 Manufactured Qty,Üretilen Miktar,
-Use Multi-Level BOM,Çok Seviyeli BOM kullan,
-Plan material for sub-assemblies,Alt-montajlar Plan malzeme,
-Skip Material Transfer to WIP Warehouse,WIP Deposuna Malzeme Aktarımını Atla,
-Check if material transfer entry is not required,Malzeme aktarım girişi gerekli değil mi kontrol edin,
-Backflush Raw Materials From Work-in-Progress Warehouse,Devam eden depodaki hammaddelerin geri akışı,
+Use Multi-Level BOM,Çok Seviyeli BOM Kullan,
+Plan material for sub-assemblies,Alt-montaj için Malzeme Planla,
+Skip Material Transfer to WIP Warehouse,Yarı Mamul Deposuna Malzeme Transferini Atla,
+Check if material transfer entry is not required,Malzeme transfer girişinin gerekli olup olmadığını kontrol et,
+Backflush Raw Materials From Work-in-Progress Warehouse,Devam eden depodaki hammaddelerin geri bilgileri,
 Update Consumed Material Cost In Project,Projede Tüketilen Malzeme Maliyetini Güncelle,
 Warehouses,Depolar,
-This is a location where raw materials are available.,Burası hammaddelerin bulunduğu bir yer.,
-Work-in-Progress Warehouse,Devam eden depo işi,
-This is a location where operations are executed.,"Bu, işlemlerin yürütüldüğü bir konumdur.",
-This is a location where final product stored.,"Bu, nihai ürünün depolandığı bir konumdur.",
-Scrap Warehouse,hurda Depo,
-This is a location where scraped materials are stored.,"Bu, kazınmış malzemelerin depolandığı bir yerdir.",
-Required Items,gerekli Öğeler,
+This is a location where raw materials are available.,Hammaddelerin bulunduğu bir konumdur,
+Work-in-Progress Warehouse,Yarı Maül Deposu,
+This is a location where operations are executed.,Operasyonların yürütüldüğü bir konumdur.,
+This is a location where final product stored.,Nihai ürünün (mamülün) depolandığı bir konumdur.,
+Scrap Warehouse,Hurda Deposu,
+This is a location where scraped materials are stored.,Hurdaya çıkan malzemelerin depolandığı bir konumdur.,
+Required Items,Gerekli Ürünler,
 Actual Start Date,Fiili Başlangıç Tarihi,
 Planned End Date,Planlanan Bitiş Tarihi,
 Actual End Date,Fiili Bitiş Tarihi,
 Operation Cost,Operasyon Maliyeti,
-Planned Operating Cost,Planlı İşletme Maliyeti,
-Actual Operating Cost,Gerçek İşletme Maliyeti,
-Additional Operating Cost,Ek İşletme Maliyeti,
-Total Operating Cost,Toplam İşletme Maliyeti,
-Manufacture against Material Request,Malzeme Talebi karşı imalatı,
+Planned Operating Cost,Planlanan Operasyon Maliyeti,
+Actual Operating Cost,Fiili Operasyon Maliyeti,
+Additional Operating Cost,Ek Operasyon Maliyeti,
+Total Operating Cost,Toplam Operasyon Maliyeti,
+Manufacture against Material Request,Malzeme Talebine karşı Üret,
 Work Order Item,İş Emri Öğesi,
 Available Qty at Source Warehouse,Kaynak Depodaki Mevcut Miktar,
 Available Qty at WIP Warehouse,WIP Ambarında Mevcut Miktar,
 Work Order Operation,İş Emri Operasyonu,
-Operation Description,İşletme Tanımı,
-Operation completed for how many finished goods?,Operasyon kaç mamul tamamlandı?,
-Work in Progress,Devam eden iş,
+Operation Description,Operasyon Tanımı,
+Operation completed for how many finished goods?,Kaç mamul için operasyon tamamlandı?,
+Work in Progress,Devam ediyor,
 Estimated Time and Cost,Tahmini Süre ve Maliyet,
 Planned Start Time,Planlanan Başlangıç Zamanı,
 Planned End Time,Planlanan Bitiş Zamanı,
-in Minutes,Dakika içinde,
-Actual Time and Cost,Gerçek Zaman ve Maliyet,
+in Minutes,Dakika,
+Actual Time and Cost,Gerçek Süre ve Maliyet,
 Actual Start Time,Gerçek Başlangıç Zamanı,
 Actual End Time,Gerçek Bitiş Zamanı,
-Updated via 'Time Log','Zaman Log' aracılığıyla Güncelleme,
-Actual Operation Time,Gerçek Çalışma Süresi,
+Updated via 'Time Log','Zaman Logu' aracılığıyla Güncellendi,
+Actual Operation Time,Gerçek Operasyon Süresi,
 in Minutes\nUpdated via 'Time Log',Dakika \n 'Zaman Log' aracılığıyla Güncelleme,
-(Hour Rate / 60) * Actual Operation Time,(Saat Hızı / 60) * Gerçek Çalışma Süresi,
+(Hour Rate / 60) * Actual Operation Time,(Saat Hızı / 60) * Gerçek Operasyon Süresi,
 Workstation Name,İş İstasyonu Adı,
-Production Capacity,Üretim kapasitesi,
-Operating Costs,İşletim Maliyetleri,
+Production Capacity,Üretim Kapasitesi,
+Operating Costs,Operasyon Maliyetleri,
 Electricity Cost,Elektrik Maliyeti,
 per hour,saat başına,
-Consumable Cost,Sarf Maliyeti,
+Consumable Cost,Sarf Malzemesi Maliyeti,
 Rent Cost,Kira Bedeli,
 Wages,Ücret,
-Wages per hour,Saatlik ücret,
-Net Hour Rate,Net Saat Hızı,
-Workstation Working Hour,İş İstasyonu Çalışma Saati,
+Wages per hour,Saatlik Ücreti,
+Net Hour Rate,Net Saat Ücreti,
+Workstation Working Hour,İş İstasyonu Operasyon Saati,
 Certification Application,Sertifika Başvurusu,
 Name of Applicant,Başvuru sahibinin adı,
 Certification Status,Sertifika Durumu,
-Yet to appear,Henüz görünmek,
-Certified,onaylı,
+Yet to appear,Henüz görünmedi,
+Certified,Sertifikalı,
 Not Certified,Sertifikalı değil,
 USD,Amerikan Doları,
 INR,INR,
 Certified Consultant,Sertifikalı Danışman,
-Name of Consultant,Danışmanın adı,
+Name of Consultant,danışmanın adı,
 Certification Validity,Belgelendirme geçerliliği,
-Discuss ID,Kimliği tartış,
+Discuss ID,Kimliği tartışmak,
 GitHub ID,GitHub Kimliği,
 Non Profit Manager,Kâr Dışı Müdür,
 Chapter Head,Bölüm Başkanı,
@@ -7383,18 +7383,18 @@
 Chapter Members,Bölüm Üyeleri,
 Members,Üyeler,
 Chapter Member,Bölüm Üyesi,
-Website URL,Website URL,
+Website URL,Web Sitesi URL'si,
 Leave Reason,Nedenini Bırak,
 Donor Name,Donör Adı,
 Donor Type,Donör Türü,
-Withdrawn,çekilmiş,
+Withdrawn,Çekilmiş,
 Grant Application Details ,Hibe Başvurusu Ayrıntıları,
-Grant Description,Grant Açıklama,
+Grant Description,Hibe Açıklama,
 Requested Amount,Talep edilen miktar,
 Has any past Grant Record,Geçmiş Hibe Kayıtları var mı,
 Show on Website,Web sitesinde göster,
-Assessment  Mark (Out of 10),Değerlendirme Markası (10 üzerinden),
-Assessment  Manager,Değerlendirme Müdürü,
+Assessment  Mark (Out of 10),Değerlendirme Markası (10''),
+Assessment  Manager,Değerlendirme Yöneticisi,
 Email Notification Sent,Gönderilen E-posta Bildirimi,
 NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
 Membership Expiry Date,Üyelik Sona Erme Tarihi,
@@ -7409,21 +7409,21 @@
 Member Since,Den beri üye,
 Payment ID,Ödeme Kimliği,
 Membership Settings,Üyelik Ayarları,
-Enable RazorPay For Memberships,Üyelikler İçin RazorPay&#39;i Etkinleştir,
+Enable RazorPay For Memberships,Üyelikler İçin RazorPay'i Etkinleştirin,
 RazorPay Settings,RazorPay Ayarları,
-Billing Cycle,Fatura döngüsü,
+Billing Cycle,Faturalandırma,
 Billing Frequency,Fatura Sıklığı,
-"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Müşterinin ücretlendirilmesi gereken faturalama döngülerinin sayısı. Örneğin, bir müşteri aylık olarak faturalandırılması gereken 1 yıllık bir üyelik satın alıyorsa, bu değer 12 olmalıdır.",
+"The number of billing cycles for which the customer should be charged. For example, if a customer is buying a 1-year membership that should be billed on a monthly basis, this value should be 12.","Müşterinin ücretlendirilmesi gereken faturalama döngülerinin sayısı. Örneğin, bir müşteri aylık olarak faturalandırılması gereken 1 yıllık bir üyelik satınalma içermelisa, bu değer 12 olmalıdır.",
 Razorpay Plan ID,Razorpay Plan Kimliği,
 Volunteer Name,Gönüllülük Adı,
-Volunteer Type,Gönüllü Tip,
+Volunteer Type,Gönüllü İpucu,
 Availability and Skills,Kullanılabilirlik ve Beceriler,
-Availability,Kullanılabilirlik,
-Weekends,Hafta sonları,
+Availability,kullanılabilirlik,
+Weekends,hafta sonları,
 Availability Timeslot,Kullanılabilirlik Zaman Aralığı,
 Morning,Sabah,
 Afternoon,Öğleden sonra,
-Evening,Akşam,
+Evening,akşam,
 Anytime,İstediğin zaman,
 Volunteer Skills,Gönüllülük Becerileri,
 Volunteer Skill,Gönüllü Beceri,
@@ -7432,8 +7432,8 @@
 Homepage Section,Anasayfa Bölümü,
 Hero Section,Kahraman Bölümü,
 Tag Line,Etiket Hattı,
-Company Tagline for website homepage,web sitesinin ana Company Slogan,
-Company Description for website homepage,web sitesinin ana Firma Açıklaması,
+Company Tagline for website homepage,web tasarımı ana Şirket Sloganı,
+Company Description for website homepage,web tasarımı ana Firma Açıklaması,
 Homepage Slideshow,Anasayfa Slayt Gösterisi,
 "URL for ""All Products""",&quot;Tüm Ürünler&quot; URL,
 Products to be shown on website homepage,Ürünler web sitesi ana sayfasında gösterilecek,
@@ -7442,64 +7442,64 @@
 Section Based On,Dayalı Bölüm,
 Section Cards,Bölüm Kartları,
 Number of Columns,Sütun sayısı,
-Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Bu bölüm için sütun sayısı. 3 sütun seçerseniz her satırda 3 kart gösterilecektir.,
+Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Bu bölüm için sütun sayısı. 3 sütun içerseniz her satırda 3 kart gösterecek.,
 Section HTML,Bölüm HTML,
-Use this field to render any custom HTML in the section.,Bölümdeki herhangi bir özel HTML&#39;yi oluşturmak için bu alanı kullanın.,
+Use this field to render any custom HTML in the section.,Bölümdeki herhangi bir özel HTML'yi oluşturmak için bu alanı kullanın.,
 Section Order,Bölüm Siparişi,
-"Order in which sections should appear. 0 is first, 1 is second and so on.","Hangi bölümlerin görünmesi gerektiğini sıralayın. 0 birinci, 1 ikinci ve benzeri.",
+"Order in which sections should appear. 0 is first, 1 is second and so on.","Hangi bölümlerin taşımalarını sıralayın. 0 birinci, 1 ikinci ve benzeri.",
 Homepage Section Card,Anasayfa Bölüm Kartı,
 Subtitle,Alt yazı,
-Products Settings,Ürünler Ayarları,
-Home Page is Products,Ana Sayfa Ürünler konumundadır,
+Products Settings,Ürün Ayarları,
+Home Page is Products,Ana Sayfa Ürünler pozisyonudur,
 "If checked, the Home page will be the default Item Group for the website","Seçili ise, Ana sayfa web sitesi için varsayılan Ürün Grubu olacak",
 Show Availability Status,Uygunluk Durumunu Göster,
 Product Page,Ürün Sayfası,
 Products per Page,Sayfa Başına Ürünler,
-Enable Field Filters,Alan Filtrelerini Etkinleştir,
+Enable Field Filters,Alan Filtrelerini Etkinleştirin,
 Item Fields,Öğe Alanları,
-Enable Attribute Filters,Öznitelik Filtrelerini Etkinleştir,
+Enable Attribute Filters,Öznitelik Filtrelerini Etkinleştirin,
 Attributes,Nitelikler,
 Hide Variants,Varyantları Gizle,
 Website Attribute,Web Sitesi Özelliği,
 Attribute,Nitelik,
 Website Filter Field,Web Sitesi Filtre Alanı,
-Activity Cost,Etkinlik Maliyeti,
+Activity Cost,Faaliyet Maliyeti,
 Billing Rate,Fatura Oranı,
 Costing Rate,Maliyet Oranı,
 title,Başlık,
-Projects User,Projeler Kullanıcı,
+Projects User,Projeler Kullanıcısı,
 Default Costing Rate,Standart Maliyetlendirme Oranı,
 Default Billing Rate,Varsayılan Fatura Oranı,
 Dependent Task,Bağımlı Görev,
 Project Type,Proje Tipi,
-% Complete Method,% Tamamlandı Yöntem,
-Task Completion,görev Tamamlama,
-Task Progress,görev İlerleme,
-% Completed,% Tamamlanan,
-From Template,Şablondan,
-Project will be accessible on the website to these users,Proje internet sitesinde şu kullanıcılar için erişilebilir olacak,
+% Complete Method,% Tamamlama Yöntemi,
+Task Completion,Görev Tamamlama,
+Task Progress,Görev İlerlemesi,
+% Completed,% Tamamlandı,
+From Template,Proje Şablonundan,
+Project will be accessible on the website to these users,Proje internet siteleri şu kullanıcılar için erişilebilir olacak,
 Copied From,Kopyalanacak,
-Start and End Dates,Başlangıç ve Tarihler End,
+Start and End Dates,Başlangıç ve Tarihler Sonu,
 Actual Time (in Hours),Gerçek Zaman (Saat olarak),
 Costing and Billing,Maliyet ve Faturalandırma,
 Total Costing Amount (via Timesheets),Toplam Maliyetleme Tutarı (Çalışma Sayfası Tablosu Üzerinden),
 Total Expense Claim (via Expense Claims),Toplam Gider İddiası (Gider Talepleri yoluyla),
-Total Purchase Cost (via Purchase Invoice),Toplam Satınalma Maliyeti (Satın Alma Fatura üzerinden),
+Total Purchase Cost (via Purchase Invoice),Toplam Satınalma Maliyeti (Satınalma Fatura üzerinden),
 Total Sales Amount (via Sales Order),Toplam Satış Tutarı (Satış Siparişi Yoluyla),
 Total Billable Amount (via Timesheets),Toplam Faturalandırılabilir Tutar (Çalışma Sayfası Tablosu ile),
-Total Billed Amount (via Sales Invoices),Toplam Faturalandırılan Tutar (Satış Faturaları ile),
-Total Consumed Material Cost  (via Stock Entry),Toplam Tüketim Maliyeti Maliyeti (Stok Girişi ile),
-Gross Margin,Brüt Marj,
-Gross Margin %,Brüt Kar Marjı%,
-Monitor Progress,İzleme İlerlemesi,
-Collect Progress,İlerlemeyi topla,
+Total Billed Amount (via Sales Invoices),Toplam Faturalandırılan Tutar (Sat Faturaları ile),
+Total Consumed Material Cost  (via Stock Entry),Toplam Tüketim Maliyeti Maliyeti (Stok Hareketi ile),
+Gross Margin,Brut Marj,
+Gross Margin %,Brüt Kar Marji%,
+Monitor Progress,İlerlemeyi Görüntüle,
+Collect Progress,İlerlemeyi Topla,
 Frequency To Collect Progress,İlerleme Sıklığı Frekansı,
 Twice Daily,Günde iki kez,
 First Email,İlk e-posta,
 Second Email,İkinci e-posta,
-Time to send,Gönderme zamanı,
-Day to Send,Gönderilecek Gün,
-Message will be sent to the users to get their status on the Project,Projedeki durumlarını öğrenmek için kullanıcılara mesaj gönderilecektir.,
+Time to send,Gönderim Zamanı,
+Day to Send,Gönderim Günü,
+Message will be sent to the users to get their status on the Project,Projedeki durumlarını öğrenmek için mesaj gönderilecektir.,
 Projects Manager,Proje Yöneticisi,
 Project Template,Proje Şablonu,
 Project Template Task,Proje Şablonu Görevi,
@@ -7507,28 +7507,28 @@
 Duration (Days),Süre (Günler),
 Project Update,Proje Güncellemesi,
 Project User,Proje Kullanıcısı,
-View attachments,Ekleri görüntüle,
-Projects Settings,Projeler Ayarları,
+View attachments,Ekleri Göster,
+Projects Settings,Proje Ayarları,
 Ignore Workstation Time Overlap,İş İstasyonu Zaman Çakışmasını Yoksay,
-Ignore User Time Overlap,Kullanıcı Zaman Çakışmalarını Yoksay,
+Ignore User Time Overlap,Kullanıcı Zaman Çakışmasını Yoksay,
 Ignore Employee Time Overlap,Çalışan Zamanı Çakışmasını Yoksay,
 Weight,Ağırlık,
 Parent Task,Ana Görev,
-Timeline,Zaman çizelgesi,
-Expected Time (in hours),(Saat) Beklenen Zaman,
-% Progress,% İlerleme,
-Is Milestone,Milestone mu?,
-Task Description,Görev tanımı,
+Timeline,Zaman cetveli,
+Expected Time (in hours),Beklenen Zaman (Saat),
+% Progress,İlerleme % Yüzdesi,
+Is Milestone,Kilometre taşı,
+Task Description,Görev Tanımı,
 Dependencies,Bağımlılıklar,
 Dependent Tasks,Bağımlı Görevler,
 Depends on Tasks,Görevler bağlıdır,
 Actual Start Date (via Time Sheet),Gerçek başlangış tarihi (Zaman Tablosu'ndan),
 Actual Time (in hours),Gerçek Zaman (Saat olarak),
-Actual End Date (via Time Sheet),Gerçek tamamlanma tarihi (Zaman Tablosu'ndan),
-Total Costing Amount (via Time Sheet),(Zaman Formu aracılığıyla) Toplam Maliyet Tutarı,
-Total Expense Claim (via Expense Claim),(Gider İstem aracılığıyla) Toplam Gider İddiası,
-Total Billing Amount (via Time Sheet),Toplam Fatura Tutarı (Zaman Sheet yoluyla),
-Review Date,İnceleme tarihi,
+Actual End Date (via Time Sheet),Gerçek bitiş tarihi (Zaman Tablosu'ndan),
+Total Costing Amount (via Time Sheet),(Zaman Formu maliyeti) Toplam Maliyet Tutarı,
+Total Expense Claim (via Expense Claim),(Gider İstem yoluyla) Toplam Gider İddiası,
+Total Billing Amount (via Time Sheet),Toplam Fatura Tutarı (Zaman Tablosu yoluyla),
+Review Date,inceleme tarihi,
 Closing Date,Kapanış Tarihi,
 Task Depends On,Görev Bağlıdır,
 Task Type,Görev Türü,
@@ -7545,30 +7545,30 @@
 Costing Amount,Maliyet Tutarı,
 Corrective/Preventive,Önleyici / Düzeltici,
 Corrective,Düzeltici,
-Preventive,önleyici,
+Preventive,koruyucu,
 Resolution,Karar,
-Resolutions,kararlar,
+Resolutions,Kararlar,
 Quality Action Resolution,Kalite Eylem Çözünürlüğü,
 Quality Feedback Parameter,Kalite Geribildirim Parametresi,
 Quality Feedback Template Parameter,Kalite Geribildirim Şablon Parametresi,
-Quality Goal,Kalite hedefi,
-Monitoring Frequency,Frekans İzleme,
+Quality Goal,kalite hedefi,
+Monitoring Frequency,Frekans izleme,
 Weekday,çalışma günü,
 Objectives,Hedefler,
 Quality Goal Objective,Kalite Hedef Amaç,
-Objective,Amaç,
+Objective,amaç,
 Agenda,Gündem,
-Minutes,Dakika,
+Minutes,Dakikalar,
 Quality Meeting Agenda,Kalite Toplantı Gündemi,
 Quality Meeting Minutes,Kalite Toplantı Tutanakları,
-Minute,Dakika,
-Parent Procedure,Ebeveyn Prosedürü,
-Processes,Süreçler,
-Quality Procedure Process,Kalite Prosedürü Süreci,
-Process Description,Süreç açıklaması,
-Link existing Quality Procedure.,Mevcut Kalite Prosedürünü bağlayın.,
-Additional Information,ek bilgi,
-Quality Review Objective,Kalite İnceleme Amaç,
+Minute,Dakikalar,
+Parent Procedure,yapı hükümleri,
+Processes,süreçler,
+Quality Procedure Process,Kalite hükümleriü Süreci,
+Process Description,süreç anlatımı,
+Link existing Quality Procedure.,Mevcut kalite hükümlerini birleştirme.,
+Additional Information,Ek Bilgi,
+Quality Review Objective,Kalite incelemesi Amaç,
 DATEV Settings,DATEV Ayarları,
 Regional,Bölgesel,
 Consultant ID,Danışman Kimliği,
@@ -7579,17 +7579,17 @@
 GSTIN Email Sent On,GSTIN E-postayla Gönderildi,
 GST Accounts,GST Hesapları,
 B2C Limit,B2C Sınırı,
-Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,B2C için Fatura Değeri ayarlayın. Bu fatura değerine dayanarak B2CL ve B2CS hesaplanır.,
+Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,B2C için Fatura Değeri ayarı. Bu faturanın ödenmesinden itibaren B2CL ve B2CS'nin ödenmesi.,
 GSTR 3B Report,GSTR 3B Raporu,
 January,Ocak,
 February,Şubat,
 March,Mart,
-April,Nisan,
+April,nisan,
 May,Mayıs,
 June,Haziran,
 July,Temmuz,
 August,Ağustos,
-September,Eylül,
+September,eylül,
 October,Ekim,
 November,Kasım,
 December,Aralık,
@@ -7597,168 +7597,168 @@
 Invoices with no Place Of Supply,Tedarik Yeri Olmayan Faturalar,
 Import Supplier Invoice,Tedarikçi Faturasını İçe Aktar,
 Invoice Series,Fatura Serisi,
-Upload XML Invoices,XML Faturalarını Yükle,
+Upload XML Invoices,XML Faturalarını Yükleme,
 Zip File,Sıkıştırılmış dosya,
 Import Invoices,İthalat Faturaları,
-Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Zip dosyası belgeye eklendikten sonra Faturaları İçe Aktar düğmesini tıklayın. İşlemeyle ilgili tüm hatalar Hata Günlüğünde gösterilir.,
+Click on Import Invoices button once the zip file has been attached to the document. Any errors related to processing will be shown in the Error Log.,Zip dosyası belgeye eklendikten sonra Faturaları İçe Aktar düğmesine tıklayın. İşlemeyle ilgili tüm hatalar Hata Günlüğünde gösterilir.,
 Lower Deduction Certificate,Düşük Kesinti Sertifikası,
 Certificate Details,Sertifika Ayrıntıları,
 194A,194A,
 194C,194C,
 194D,194D,
 194H,194H,
-194I,194I,
+194I,194 ben,
 194J,194J,
 194LA,194LA,
 194LBB,194LBB,
 194LBC,194LBC,
 Certificate No,sertifika numarası,
-Deductee Details,Deductee Ayrıntıları,
-PAN No,PAN Hayır,
-Validity Details,Geçerlilik Ayrıntıları,
+Deductee Details,Kesinti Ayrıntıları,
+PAN No,PAN No,
+Validity Details,kutsallık detayları,
 Rate Of TDS As Per Certificate,Sertifikaya Göre TDS Oranı,
 Certificate Limit,Sertifika Limiti,
 Invoice Series Prefix,Fatura Serisi Öneki,
 Active Menu,Aktif Menü,
-Restaurant Menu,Restaurant Menü,
-Price List (Auto created),Fiyat Listesi (Otomatik oluşturuldu),
-Restaurant Manager,Restaurant yöneticisi,
+Restaurant Menu,Restoran menüsü,
+Price List (Auto created),Fiyat Listesi (Otomatik kaydı),
+Restaurant Manager,restoran yöneticisi,
 Restaurant Menu Item,Restaurant Menü Öğesi,
 Restaurant Order Entry,Restoran Siparişi Girişi,
-Restaurant Table,Restaurant Masası,
-Click Enter To Add,Ekle Gir&#39;i tıklayın,
+Restaurant Table,Restoran Masası,
+Click Enter To Add,Ekle Gir'i tıklayın,
 Last Sales Invoice,Son Satış Faturası,
-Current Order,Geçerli Sipariş,
+Current Order,Tamamlayıcı Sipariş,
 Restaurant Order Entry Item,Restaurant Sipariş Girişi Maddesi,
-Served,sunulan,
-Restaurant Reservation,Restaurant Rezervasyonu,
-Waitlisted,Bekleme listesindeki,
+Served,teslim,
+Restaurant Reservation,Restoran Rezervasyonu,
+Waitlisted,bekleme listesindeki,
 No Show,Gösterim Yok,
 No of People,İnsanlar Sayısı,
 Reservation Time,Rezervasyon Süresi,
 Reservation End Time,Rezervasyon Bitiş Saati,
 No of Seats,Koltuk Sayısı,
-Minimum Seating,Minimum Oturma,
-"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Satış Kampanyalarını Takip edin. Yatırım Getirisini ölçmek için Kampanyalardaki Teklifleri, Fiyat Tekliflerini, Satış Siparişini vb. Takip edin.",
+Minimum Seating,Asgari Oturma,
+"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Satış Kampanyalarını Takip edin. Yatırım Getirisini Sizin için Kampanyalardaki Teklifleri, Fiyat Tekliflerini, Satış Siparişini vb. Takip edin.",
 SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
 Campaign Schedules,Kampanya Takvimleri,
 Buyer of Goods and Services.,Mal ve Hizmet Alıcı.,
-CUST-.YYYY.-,CUST-.YYYY.-,
+CUST-.YYYY.-,MÜŞTERİ-.YYYY.-,
 Default Company Bank Account,Varsayılan Şirket Banka Hesabı,
-From Lead,Baştan,
-Account Manager,Muhasebe Müdürü,
-Allow Sales Invoice Creation Without Sales Order,Satış Siparişi Olmadan Satış Faturası Oluşturmaya İzin Ver,
-Allow Sales Invoice Creation Without Delivery Note,Teslimat Notu Olmadan Satış Faturası Oluşturmaya İzin Ver,
+From Lead,Bu Müşteri Adayından,
+Account Manager,Muhasebe Yöneticisi,
+Allow Sales Invoice Creation Without Sales Order,Satış Siparişi olmadan Satış Faturası Oluşturmaya İzin ver,
+Allow Sales Invoice Creation Without Delivery Note,İrsaliye olmadan Satış Faturası Oluşturmaya İzin ver,
 Default Price List,Standart Fiyat Listesi,
 Primary Address and Contact Detail,Birincil Adres ve İletişim Ayrıntısı,
 "Select, to make the customer searchable with these fields",Müşteriyi bu alanlarla aranabilir yapmak için seçin,
-Customer Primary Contact,Müşteri Birincil Temas,
-"Reselect, if the chosen contact is edited after save",Kaydedildikten sonra seçilen kişi düzenlenirse yeniden seç,
+Customer Primary Contact,Müşteri Birincil İletişim,
+"Reselect, if the chosen contact is edited after save",Seçilen kişi kaydedildikten sonra düzenlenirse yeniden seçin,
 Customer Primary Address,Müşteri Birincil Adres,
-"Reselect, if the chosen address is edited after save",Seçilen adres kaydedildikten sonra değiştirilirse yeniden seç,
+"Reselect, if the chosen address is edited after save",Seçilen adres kaydedildikten sonra düzenlenirse yeniden seçin,
 Primary Address,Birincil Adres,
-Mention if non-standard receivable account,Mansiyon standart dışı alacak hesabı varsa,
-Credit Limit and Payment Terms,Kredi Limiti ve Ödeme Koşulları,
+Mention if non-standard receivable account,Standart dışı alacak hesabı varsa belirtiniz,
+Credit Limit and Payment Terms,Kredi Limiti ve Ödeme Biletleri,
 Additional information regarding the customer.,Müşteri ile ilgili ek bilgi.,
 Sales Partner and Commission,Satış Ortağı ve Komisyon,
 Commission Rate,Komisyon Oranı,
 Sales Team Details,Satış Ekibi Ayrıntıları,
 Customer POS id,Müşteri POS kimliği,
 Customer Credit Limit,Müşteri Kredi Limiti,
-Bypass Credit Limit Check at Sales Order,Satış Siparişinde kontör limitini atla,
+Bypass Credit Limit Check at Sales Order,Siparişinde kontör limitini atla,
 Industry Type,Sanayi Tipi,
 MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
 Installation Date,Kurulum Tarihi,
-Installation Time,Kurulum Zaman,
+Installation Time,Kurulum Zamanı,
 Installation Note Item,Kurulum Notu Maddesi,
-Installed Qty,Kurulan Miktar,
-Lead Source,Potansiyel Müşteri Kaynağı,
+Installed Qty,Kurulum Miktarı,
+Lead Source,Aday Kaynağı,
 Period Start Date,Dönem Başlangıç Tarihi,
 Period End Date,Dönem Sonu Tarihi,
-Cashier,kasiyer,
-Difference,fark,
-Modes of Payment,Ödeme modları,
-Linked Invoices,Bağlantılı Faturalar,
-POS Closing Voucher Details,POS Kapanış Makbuzu Detayları,
+Cashier,Kasiyer,
+Difference,Fark,
+Modes of Payment,Ödeme Biçimi,
+Linked Invoices,Bağlı Faturalar,
+POS Closing Voucher Details,POS Kapanış Fişi Detayları,
 Collected Amount,Toplanan Tutar,
 Expected Amount,Beklenen Tutar,
-POS Closing Voucher Invoices,POS Kapanış Kuponu Faturaları,
+POS Closing Voucher Invoices,POS Kapanış Fişi Faturaları,
 Quantity of Items,Ürünlerin Miktarı,
-"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Birleştirilmiş grubu **Parçalar** içinde **Parça**. Bu özellik paketlenen  **Parçalar** stoğunu kullanımı kolaylık sağlar ve birleştirilen **Parça** kullanılmaz.  Paket **Parça** içeriği ""Stoktaki Parça"" için ""Hayır"" ve ""Satıştaki Parça"" seçimi ""Evet"". Örneğin: Laptop ve Arka sırtlığı ayrı ayrı satış yapıyorsunuz. Ancak müşteri ikisini beraber alırsa özel fiyattan satıcaksınız, bu durumda Laptop + Arka sırtlık yeni bir ürün kalemi olacaktır. Açıklama: BOM = Ürün Ağacı",
+"Aggregate group of **Items** into another **Item**. This is useful if you are bundling a certain **Items** into a package and you maintain stock of the packed **Items** and not the aggregate **Item**. \n\nThe package **Item** will have ""Is Stock Item"" as ""No"" and ""Is Sales Item"" as ""Yes"".\n\nFor Example: If you are selling Laptops and Backpacks separately and have a special price if the customer buys both, then the Laptop + Backpack will be a new Product Bundle Item.\n\nNote: BOM = Bill of Materials","Birleştirilmiş grup **Parçalar** içinde **Parça**. Bu özellikte paketlenen **Parçalar** stoğunun kullanımını kolaylaştırır ve birleştirilir **Parça** kullanılmaz. Paket **Parça** içeriği ""Stoktaki Parça"" için ""Hayır"" ve ""Satıştaki Parça"" seçimi ""Evet"". Örneğin: Laptop ve Arka sırtlığı ayrı ayrı satış paketleri. Ancak müşteri değerlendirmelerini beraberinde alırsa özel fiyattan satarsınız, bu durumda Laptop + Arka sırtlık yeni bir ürün bilgisayarı olacaktır. Açıklama: BOM = Ürün Ağacı",
 Parent Item,Ana Kalem,
-List items that form the package.,Ambalajı oluşturan Ürünleri listeleyin,
+List items that form the package.,Ambalajı kimyasal ürünlerini listeleyin,
 SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
-Quotation To,Teklif Etmek,
-Rate at which customer's currency is converted to company's base currency,Müşterinin para biriminin şirketin temel para birimine dönüştürülme oranı,
-Rate at which Price list currency is converted to company's base currency,Fiyat listesi para biriminin şirketin temel para birimine dönüştürülme oranı,
+Quotation To,Teklif Kime,
+Rate at which customer's currency is converted to company's base currency,Müşterinin para biriminin şirketin temel para birimine dönüştürme oranı,
+Rate at which Price list currency is converted to company's base currency,Fiyat listesi para biriminin şirketin temel para birimine dönüştürme oranı,
 Additional Discount and Coupon Code,Ek İndirim ve Kupon Kodu,
 Referral Sales Partner,Tavsiye Satış Ortağı,
-In Words will be visible once you save the Quotation.,fiyat teklifini kaydettiğinizde görünür olacaktır,
+In Words will be visible once you save the Quotation.,fiyat tekliflerini saklayacağınızda görünür olacaktır,
 Term Details,Dönem Ayrıntıları,
 Quotation Item,Teklif Ürünü,
-Against Doctype,Karşılık Belge Türü,
-Against Docname,Belge adı karşılığı,
-Additional Notes,ek Notlar,
+Against Doctype,Belge Türüne Karşı,
+Against Docname,Belge Adına Karşı,
+Additional Notes,Ek Notlar,
 SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
-Skip Delivery Note,Teslim Notunu Atla,
-In Words will be visible once you save the Sales Order.,Satış emrini kaydettiğinizde görünür olacaktır.,
+Skip Delivery Note,Teslim Notunu Atlası,
+In Words will be visible once you save the Sales Order.,Satış emrini saklayacağınızda görünür olacaktır.,
 Track this Sales Order against any Project,Bu satış emrini bütün Projelere karşı takip et,
 Billing and Delivery Status,Fatura ve Teslimat Durumu,
 Not Delivered,Teslim Edilmedi,
-Fully Delivered,Tamamen Teslim Edilmiş,
+Fully Delivered,Tamamen Teslim Edildi,
 Partly Delivered,Kısmen Teslim Edildi,
 Not Applicable,Uygulanamaz,
 %  Delivered,% Teslim Edildi,
 % of materials delivered against this Sales Order,% malzeme bu satış emri karşılığında teslim edildi,
 % of materials billed against this Sales Order,% malzemenin faturası bu Satış Emri karşılığında oluşturuldu,
 Not Billed,Faturalanmamış,
-Fully Billed,Tam Faturalı,
+Fully Billed,Tamamen Faturalandı,
 Partly Billed,Kısmen Faturalandı,
-Ensure Delivery Based on Produced Serial No,Üretilen Seri No&#39;ya Göre Teslimatı Sağlayın,
-Supplier delivers to Customer,Tedarikçi Müşteriye teslim,
-Delivery Warehouse,Teslim Depo,
+Ensure Delivery Based on Produced Serial No,Üretilen Seri Numaraya göre Teslimat yap,
+Supplier delivers to Customer,Tedarikçi Müşteriye teslim eder,
+Delivery Warehouse,Teslimat Deposu,
 Planned Quantity,Planlanan Miktar,
 For Production,Üretim için,
-Work Order Qty,Iş emri adet,
+Work Order Qty,İş Emri Miktarı,
 Produced Quantity,Üretilen Miktar,
-Used for Production Plan,Üretim Planı için kullanılan,
+Used for Production Plan,Üretim Planı için Kullanılır,
 Sales Partner Type,Satış Ortağı Türü,
 Contact No.,İletişim No,
 Contribution (%),Katkı Payı (%),
 Contribution to Net Total,Net Toplam Katkı,
 Selling Settings,Satış Ayarları,
 Settings for Selling Module,Modülü Satış için Ayarlar,
-Customer Naming By,Müşterinin Bilinen Adı,
-Campaign Naming By,Kampanya İsimlendirmesini yapan,
+Customer Naming By,Müşteri Adlandırma buna göre,
+Campaign Naming By,Adlandırma Şekli,
 Default Customer Group,Varsayılan Müşteri Grubu,
 Default Territory,Standart Bölge,
 Close Opportunity After Days,Fırsatı Gün Sonra Kapat,
-Default Quotation Validity Days,Varsayılan Teklif Geçerlilik Günleri,
+Default Quotation Validity Days,Varsayılan Teklif Geçerlilik Günü,
 Sales Update Frequency,Satış Güncelleme Sıklığı,
 Each Transaction,Her İşlem,
 SMS Center,SMS Merkezi,
 Send To,Gönder,
 All Contact,Tüm İrtibatlar,
-All Customer Contact,Bütün Müşteri İrtibatları,
-All Supplier Contact,Bütün Tedarikçi İrtibatları,
-All Sales Partner Contact,Bütün Satış Ortağı İrtibatları,
-All Lead (Open),Bütün Müşteri Adayları (Açık),
+All Customer Contact,Tüm Müşteri İrtibatları,
+All Supplier Contact,Tüm Tedarikçi İrtibatları,
+All Sales Partner Contact,Tüm Satış Ortağı İrtibatları,
+All Lead (Open),Tüm Müşteri Adayları (Açık),
 All Employee (Active),Tüm Çalışanlar (Aktif),
 All Sales Person,Bütün Satıcılar,
-Create Receiver List,Alıcı listesi oluşturma,
-Receiver List,Alıcı Listesi,
+Create Receiver List,alıcı listesi oluşturma,
+Receiver List,Alıcı listesi,
 Messages greater than 160 characters will be split into multiple messages,160 karakterden daha büyük mesajlar birden fazla mesaja bölünecektir,
-Total Characters,Toplam Karakterler,
-Total Message(s),Toplam Mesaj (lar),
-Authorization Control,Yetki Kontrolü,
+Total Characters,Toplam Karakter,
+Total Message(s),Toplam Mesaj,
+Authorization Control,Yetkilendirme Kontrolü,
 Authorization Rule,Yetkilendirme Kuralı,
 Average Discount,Ortalama İndirim,
 Customerwise Discount,Müşteri İndirimi,
 Itemwise Discount,Ürün İndirimi,
-Customer or Item,Müşteri ya da Öğe,
-Customer / Item Name,Müşteri / Ürün İsmi,
+Customer or Item,Müşteri veya Ürün,
+Customer / Item Name,Müşteri / Ürün Adı,
 Authorized Value,Yetkilendirilmiş Değer,
-Applicable To (Role),(Rolü) için uygulanabilir,
+Applicable To (Role),(Role) uygulanabilir,
 Applicable To (Employee),(Çalışana) uygulanabilir,
 Applicable To (User),(Kullanıcıya) Uygulanabilir,
 Applicable To (Designation),(Görev) için uygulanabilir,
@@ -7771,14 +7771,14 @@
 Default Values,Varsayılan Değerler,
 Default Holiday List,Tatil Listesini Standart,
 Default Selling Terms,Varsayılan Satış Koşulları,
-Default Buying Terms,Varsayılan Satın Alma Koşulları,
-Create Chart Of Accounts Based On,Hesaplar Tabanlı On Of grafik oluşturma,
-Standard Template,standart Şablon,
+Default Buying Terms,Varsayılan Alış Koşulları,
+Create Chart Of Accounts Based On,Hesaplar Tabanlı Grafik oluşturma üzerine,
+Standard Template,Standart Şablon,
 Existing Company,Mevcut Şirket,
 Chart Of Accounts Template,Hesaplar Şablon Grafik,
-Existing Company ,mevcut Şirket,
+Existing Company ,Mevcut Şirket ,
 Date of Establishment,Kuruluş tarihi,
-Sales Settings,Satış ayarları,
+Sales Settings,Satış Ayarları,
 Monthly Sales Target,Aylık Satış Hedefi,
 Sales Monthly History,Satış Aylık Tarihi,
 Transactions Annual History,İşlemler Yıllık Geçmişi,
@@ -7787,7 +7787,7 @@
 Default Receivable Account,Standart Alacak Hesabı,
 Round Off Cost Center,Yuvarlama Maliyet Merkezi,
 Discount Allowed Account,İndirim İzinli Hesap,
-Discount Received Account,İndirim Alınan Hesap,
+Discount Received Account,Alınan indirim Hesabı,
 Exchange Gain / Loss Account,Kambiyo Kâr / Zarar Hesabı,
 Unrealized Exchange Gain/Loss Account,Gerçekleşmemiş Döviz Kazası / Zarar Hesabı,
 Allow Account Creation Against Child Company,Alt Şirkete Karşı Hesap Oluşturmaya İzin Verin,
@@ -7797,17 +7797,17 @@
 Default Income Account,Standart Gelir Hesabı,
 Default Deferred Revenue Account,Varsayılan Ertelenmiş Gelir Hesabı,
 Default Deferred Expense Account,Varsayılan Ertelenmiş Gider Hesabı,
-Default Payroll Payable Account,Standart Bordro Ödenecek Hesap,
+Default Payroll Payable Account,Standart Bordro Ödenecek Hesabı,
 Default Expense Claim Payable Account,Varsayılan Gider Talebi Ödenecek Hesap,
 Stock Settings,Stok Ayarları,
 Enable Perpetual Inventory,Sürekli Envanteri Etkinleştir,
 Default Inventory Account,Varsayılan Envanter Hesabı,
 Stock Adjustment Account,Stok Düzeltme Hesabı,
-Fixed Asset Depreciation Settings,Sabit Varlık Değer Kaybı Ayarları,
-Series for Asset Depreciation Entry (Journal Entry),Varlık Amortismanı Girişi Dizisi (Dergi Girişi),
-Gain/Loss Account on Asset Disposal,Varlık Bertaraf karı / Zarar Hesabı,
+Fixed Asset Depreciation Settings,Sabit Kıymet Değer Kaybı Ayarları,
+Series for Asset Depreciation Entry (Journal Entry),Varlık Amortismanı Girişi Dizisi (Yevmiye Kaydı),
+Gain/Loss Account on Asset Disposal,Varlık Bertaraf Kar / Zarar Hesabı,
 Asset Depreciation Cost Center,Varlık Değer Kaybı Maliyet Merkezi,
-Budget Detail,Bütçe Detay,
+Budget Detail,Bütçe Detayı,
 Exception Budget Approver Role,İstisna Bütçe Onaylayan Rolü,
 Company Info,Şirket Bilgisi,
 For reference only.,Başvuru için sadece.,
@@ -7815,89 +7815,89 @@
 Date of Incorporation,Kuruluş tarihi,
 Date of Commencement,Başlama tarihi,
 Phone No,Telefon No,
-Company Description,Şirket tanımı,
+Company Description,şirket tanımı,
 Registration Details,Kayıt Detayları,
-Company registration numbers for your reference. Tax numbers etc.,Referans için şirket kayıt numaraları. Vergi numaraları vb,
-Delete Company Transactions,Şirket İşlemleri sil,
+Company registration numbers for your reference. Tax numbers etc.,Referans için şirket kayıt numaraları. vergi numaraları vb.,
+Delete Company Transactions,Şirket İşlemleri Sil,
 Currency Exchange,Döviz,
-Specify Exchange Rate to convert one currency into another,Döviz Kuru içine başka bir para birimi dönüştürme belirtin,
+Specify Exchange Rate to convert one currency into another,Döviz Kuru içine başka bir para birimini kullandığınız,
 From Currency,Para biriminden,
 To Currency,Para Birimine,
-For Buying,Satın almak için,
+For Buying,Almak için,
 For Selling,Satmak için,
 Customer Group Name,Müşteri Grup Adı,
 Parent Customer Group,Ana Müşteri Grubu,
 Only leaf nodes are allowed in transaction,İşlemde yalnızca yaprak düğümlere izin verilir,
-Mention if non-standard receivable account applicable,Mansiyon standart dışı alacak hesabı varsa,
+Mention if non-standard receivable account applicable,Standart dışı alacak hesabı varsa belirtiniz,
 Credit Limits,Kredi limitleri,
-Email Digest,E-Mail Bülteni,
-Send regular summary reports via Email.,E-posta yoluyla düzenli özet raporlar gönder.,
-Email Digest Settings,E-Mail Bülteni ayarları,
-How frequently?,Ne sıklıkla?,
+Email Digest,E-Posta Bülteni,
+Send regular summary reports via Email.,E-posta yoluyla düzenli özetler gönderir.,
+Email Digest Settings,E-Mail Bülteni Ayarları,
+How frequently?,Hangi sıklıkla?,
 Next email will be sent on:,Sonraki e-posta gönderilecek:,
-Note: Email will not be sent to disabled users,Not: E-posta engelli kullanıcılara gönderilmeyecektir,
-Profit & Loss,Kar kaybı,
-New Income,yeni Gelir,
-New Expenses,yeni giderler,
-Annual Income,Yıllık gelir,
-Annual Expenses,yıllık giderler,
+Note: Email will not be sent to disabled users,Not: E-posta erişimi engellenmeyecektir,
+Profit & Loss,Kar &  Zarar,
+New Income,Yeni Gelir,
+New Expenses,Yeni Gider,
+Annual Income,Yıllık Gelir,
+Annual Expenses,Yıllık Gider,
 Bank Balance,Banka Bakiyesi,
-Bank Credit Balance,Banka Kredi Bakiyesi,
+Bank Credit Balance,Banka Alacak Bakiyesi,
 Receivables,Alacaklar,
 Payables,Borçlar,
-Sales Orders to Bill,Bill&#39;e Satış Siparişleri,
+Sales Orders to Bill,Fatura Satış Siparişleri,
 Purchase Orders to Bill,Siparişleri Faturaya Alın,
-New Sales Orders,Yeni Satış Emirleri,
-New Purchase Orders,Yeni Satın alma Siparişleri,
-Sales Orders to Deliver,Teslim Satış Siparişleri,
-Purchase Orders to Receive,Almak için Emir Al,
-New Purchase Invoice,Yeni Satınalma Fatura,
-New Quotations,Yeni Fiyat Teklifleri,
-Open Quotations,Teklifleri Aç,
-Open Issues,Açık sorunlar,
+New Sales Orders,Yeni Satış Siparişleri,
+New Purchase Orders,Yeni Satınalma Siparişleri,
+Sales Orders to Deliver,Teslim edilecek Satış Siparişleri,
+Purchase Orders to Receive,Teslim alınacak Satınalma Siparişleri,
+New Purchase Invoice,Yeni Satınalma Faturası,
+New Quotations,Yeni Fiyat Teklifi,
+Open Quotations,Açık Teklifler,
+Open Issues,Açık Sorunlar,
 Open Projects,Açık Projeler,
 Purchase Orders Items Overdue,Satın alınan siparişler gecikmiş ürünler,
 Upcoming Calendar Events,Yaklaşan Takvim Etkinlikleri,
-Open To Do,Yapılacaklar Açık,
-Add Quote,Alıntı ekle,
-Global Defaults,Küresel Varsayılanlar,
-Default Company,Standart Firma,
+Open To Do,Açık Yapılacaklar,
+Add Quote,Teklif Ekle,
+Global Defaults,Genel Varsayılanlar,
+Default Company,Varsayılan Firma,
 Current Fiscal Year,Cari Mali Yılı,
 Default Distance Unit,Varsayılan Mesafe Birimi,
-Hide Currency Symbol,Para birimi simgesini gizle,
+Hide Currency Symbol,Para Birimi Simgesini Gizle,
 Do not show any symbol like $ etc next to currencies.,Para birimlerinin yanında $ vb semboller kullanmayın.,
-"If disable, 'Rounded Total' field will not be visible in any transaction","Devre dışıysa, 'Yuvarlanmış Toplam' alanı hiçbir işlemde görünmeyecektir.",
-Disable In Words,Words devre dışı bırak,
-"If disable, 'In Words' field will not be visible in any transaction","devre dışı ise, bu alanda &#39;sözleriyle&#39; herhangi bir işlem görünür olmayacak",
+"If disable, 'Rounded Total' field will not be visible in any transaction","Devre dışıysa, 'Yuvarlanmış Toplam' alanı hiçbir işlemde görülmeyecektir.",
+Disable In Words,Sözler devre dışı bırak,
+"If disable, 'In Words' field will not be visible in any transaction","devre dışı ise, bu alanda &#39;sözleriyle&#39; herhangi bir işlem görünmeyecek",
 Item Classification,Ürün Sınıflandırması,
 General Settings,Genel Ayarlar,
 Item Group Name,Ürün Grup Adı,
 Parent Item Group,Ana Kalem Grubu,
-Item Group Defaults,Öğe Grubu Varsayılanları,
+Item Group Defaults,Ürün Grubu Varsayılanları,
 Item Tax,Ürün Vergisi,
-Check this if you want to show in website,Web sitesinde göstermek istiyorsanız işaretleyin,
+Check this if you want to show in website,Web sitesinde göstermek istiyorsanız bunu işaretleyin,
 Show this slideshow at the top of the page,Sayfanın üstünde bu slayt gösterisini göster,
-HTML / Banner that will show on the top of product list.,Ürün listesinin tepesinde görünecek HTML / Banner.,
-Set prefix for numbering series on your transactions,İşlemlerinizde seri numaralandırma için ön ek ayarlayın,
-Setup Series,Kurulum Serisi,
+HTML / Banner that will show on the top of product list.,Ürün listesinin muhafazaları HTML / Banner.,
+Set prefix for numbering series on your transactions,İşlemlerinizde seri numaralandırma için ön ek ayarı,
+Setup Series,Seri Kurulumu,
 Select Transaction,İşlem Seçin,
-Help HTML,Yardım HTML,
+Help HTML,Yardım HTML'si,
 Series List for this Transaction,Bu İşlem için Seri Listesi,
 User must always select,Kullanıcı her zaman seçmelidir,
-Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Kullanıcıya kaydetmeden önce seri seçtirmek istiyorsanız işaretleyin. Eğer işaretlerseniz atanmış seri olmayacaktır.,
+Check this if you want to force the user to select a series before saving. There will be no default if you check this.,Kullanıcıya kaydetmekten önce seri seçmek istiyorum. Eğer işaretlerseniz atanmış seri olmayacak.,
 Update Series,Seriyi Güncelle,
-Change the starting / current sequence number of an existing series.,Varolan bir serinin başlangıç / geçerli sıra numarasını değiştirin.,
+Change the starting / current sequence number of an existing series.,Varolan bir serinin başlangıcı / geçerli sıra numarası kuralları.,
 Prefix,Önek,
-Current Value,Mevcut değer,
-This is the number of the last created transaction with this prefix,Bu ön ekle son oluşturulmuş işlemlerin sayısıdır,
+Current Value,Geçerli Değer,
+This is the number of the last created transaction with this prefix,Bu ön ekle son genişleme miktarıdır,
 Update Series Number,Seri Numaralarını Güncelle,
 Quotation Lost Reason,Teklif Kayıp Nedeni,
-A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Bir komisyon için şirketlerin ürünlerini satan bir üçüncü taraf dağıtıcı / bayi / komisyon ajan / ortaklık / bayi.,
+A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Bir komisyon için kuruluşlar birimleri şeytan bir üçüncü taraf sağlayıcı / bayi / komisyon ajan / ortaklık / bayi.,
 Sales Partner Name,Satış Ortağı Adı,
 Partner Type,Ortak Türü,
 Address & Contacts,Adresler ve Kontaklar,
 Address Desc,Azalan Adres,
-Contact Desc,İrtibat Desc,
+Contact Desc,İrtibat Azalt,
 Sales Partner Target,Satış Ortağı Hedefi,
 Targets,Hedefler,
 Show In Website,Web sitesinde Göster,
@@ -7905,33 +7905,33 @@
 To Track inbound purchase,Gelen alımları takip etmek,
 Logo,Logo,
 Partner website,Ortak web sitesi,
-All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Ayarlamak ve hedefleri izleyebilirsiniz böylece tüm satış işlemleri birden ** Satış Kişilerin ** karşı etiketlenmiş olabilir.,
+All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Ayarlamak ve motive etmek böylece tüm satış işlemlerini birdenbire ** Satış Kişilerin ** karşı etiketlenmiş olabilir.,
 Name and Employee ID,İsim ve Çalışan Kimliği,
 Sales Person Name,Satış Personeli Adı,
 Parent Sales Person,Ana Satış Elemanı,
-Select company name first.,Önce şirket adı seçiniz,
+Select company name first.,Önce şirket adını seçiniz,
 Sales Person Targets,Satış Personeli Hedefleri,
-Set targets Item Group-wise for this Sales Person.,Bu Satış Kişisi için Ürün Grubu hedefleri ayarlayın,
+Set targets Item Group-wise for this Sales Person.,Bu Satış Kişisi için Ürün Grubu not ayarı,
 Supplier Group Name,Tedarikçi Grubu Adı,
 Parent Supplier Group,Ana Tedarikçi Grubu,
 Target Detail,Hedef Detayı,
 Target Qty,Hedef Miktarı,
 Target  Amount,Hedef Miktarı,
 Target Distribution,Hedef Dağıtımı,
-"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standart Şartlar ve Satış ve Alımlar eklenebilir Koşullar.\n\n Örnekler: \n\n 1. Teklifin geçerliliği.\n 1. Ödeme Koşulları (Kredi On Önceden, bölüm avans vb).\n 1. Ne ekstra (veya Müşteri tarafından tahsil edilir).\n 1. Güvenlik / kullanım uyarısı.\n 1. Garanti alınırlar.\n 1. Politikası döndürür.\n 1. Nakliye koşulları, varsa.\n 1. Vb adresleme uyuşmazlıkların, tazminat, sorumluluk, \n 1 Yolları. Adres ve Şirket İletişim.",
-Applicable Modules,Uygulanabilir modülleri,
+"Standard Terms and Conditions that can be added to Sales and Purchases.\n\nExamples:\n\n1. Validity of the offer.\n1. Payment Terms (In Advance, On Credit, part advance etc).\n1. What is extra (or payable by the Customer).\n1. Safety / usage warning.\n1. Warranty if any.\n1. Returns Policy.\n1. Terms of shipping, if applicable.\n1. Ways of addressing disputes, indemnity, liability, etc.\n1. Address and Contact of your Company.","Standart Şartlar ve Satış ve Alımlar eklenebilir Koşullar.\n\n Örnekler: \n\n 1. Teklifin geçerliliği.\n 1. Ödeme Koşulları (Kredi On geçen, bölüm avans vb).\n 1. Ne ekstra (veya müşteri tarafından) verilir).\n 1. Güvenlik / kullanım tahsilat uyarısı.\n 1. Garanti alınırlar.\n 1. Politikası gider.\n 1. Nakliye koşulları, varsa.\n 1. Vb adresleme uyuşmazlıkların, tazminat, sorumluluk, \n 1 Yolları. Adres ve Şirket İletişim.",
+Applicable Modules,uygulanabilir modülleri,
 Terms and Conditions Help,Şartlar ve Koşullar Yardım,
-Classification of Customers by region,Bölgelere göre Müşteriler sınıflandırılması,
+Classification of Customers by region,Bölgelere göre Müşteriler yerleşimi,
 Territory Name,Bölge Adı,
 Parent Territory,Ana Bölge,
-Territory Manager,Bölge Müdürü,
+Territory Manager,Bölge Yöneticisi,
 For reference,Referans için,
 Territory Targets,Bölge Hedefleri,
-Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Bu bölgede Ürün grubu bütçeleri ayarlayın. Dağıtımı ayarlayarak dönemsellik de ekleyebilirsiniz.,
+Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,Bu bölge grubu Ürün bütçeleri ayarlanır. Dağıtımı ayarlayarak dönemsellik de çalıştırma.,
 UOM Name,Ölçü Birimi,
-Check this to disallow fractions. (for Nos),Kesirlere izin vermemek için işaretleyin (Numaralar için),
+Check this to disallow fractions. (for Nos),Kesirlere izin vermek için ayrılmak (Numaralar için),
 Website Item Group,Web Sitesi Ürün Grubu,
-Cross Listing of Item in multiple groups,Çoklu gruplarda Ürün Cross İlanı,
+Cross Listing of Item in multiple groups,Öğenin birden çok grupta Çapraz Listelenmesi,
 Default settings for Shopping Cart,Alışveriş Sepeti Varsayılan ayarları,
 Enable Shopping Cart,Alışveriş Sepeti etkinleştirin,
 Display Settings,Görüntü Ayarları,
@@ -7940,29 +7940,29 @@
 Show Stock Availability,Stok Uygunluğunu Göster,
 Show Contact Us Button,Bize Ulaşın Düğmesini Göster,
 Show Stock Quantity,Hisse Miktarını Göster,
-Show Apply Coupon Code,Kupon Kodunu Uygula&#39;yı göster,
-Allow items not in stock to be added to cart,Stokta olmayan öğelerin sepete eklenmesine izin ver,
-Prices will not be shown if Price List is not set,Fiyat Listesi ayarlı değilse fiyatları gösterilmeyecektir,
+Show Apply Coupon Code,Kupon Kodu Uygula'yı göster,
+Allow items not in stock to be added to cart,Stokta olmayan böceklerin sepetine yayılmasına izin ver,
+Prices will not be shown if Price List is not set,Fiyat Listesi ayarlı fiyatları fiyatları düşürmez,
 Quotation Series,Teklif Serisi,
 Checkout Settings,Ödeme Ayarları,
-Enable Checkout,Ödeme etkinleştirme,
-Payment Success Url,Ödeme Başarı URL,
-After payment completion redirect user to selected page.,Ödeme tamamlandıktan sonra kullanıcıyı seçilen sayfaya yönlendir.,
-Batch Details,Toplu İş Ayrıntıları,
-Batch ID,Parti numarası,
+Enable Checkout,Ödeme Etkinleştir,
+Payment Success Url,Ödeme Başarı URL'si,
+After payment completion redirect user to selected page.,Ödemeyi aldıktan sonra kullanıcıyı seçilen sayfaya yönlendirin.,
+Batch Details,Batch Ayrıntıları,
+Batch ID,Batch ID,
 image,görüntü,
-Parent Batch,Ana Parti,
-Manufacturing Date,Üretim tarihi,
-Batch Quantity,Parti Miktarı,
-Batch UOM,Toplu UOM,
+Parent Batch,Ana Batch,
+Manufacturing Date,Üretim Tarihi,
+Batch Quantity,Batch Miktarı,
+Batch UOM,Batch Birimi,
 Source Document Type,Kaynak Belge Türü,
 Source Document Name,Kaynak Belge Adı,
-Batch Description,Parti Açıklaması,
+Batch Description,Bölüm Açıklaması,
 Bin,Kutu,
 Reserved Quantity,Ayrılan Miktar,
 Actual Quantity,Gerçek Miktar,
 Requested Quantity,istenen Miktar,
-Reserved Qty for sub contract,Ayrılmış Alt sözleşme için mahsup miktarı,
+Reserved Qty for sub contract,Alt sözleşme için ayrılan miktar,
 Moving Average Rate,Hareketli Ortalama Kuru,
 FCFS Rate,FCFS Oranı,
 Customs Tariff Number,Gümrük Tarife numarası,
@@ -7970,163 +7970,163 @@
 Delivery To,Teslim,
 MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
 Is Return,İade mi,
-Issue Credit Note,Sayı kredi notu,
-Return Against Delivery Note,İrsaliye Karşılığı İade,
-Customer's Purchase Order No,Müşterinin Sipariş numarası,
+Issue Credit Note,Alacak Dekontu Ver,
+Return Against Delivery Note,İrsaliye Karşılığında İade,
+Customer's Purchase Order No,Müşterinin Satınalma Sipariş Numarası,
 Billing Address Name,Fatura Adresi Adı,
 Required only for sample item.,Sadece örnek Ürün için gereklidir.,
-"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Satış Vergi ve Harçlar Şablon standart bir şablon oluşturdu varsa, birini seçin ve aşağıdaki butona tıklayın.",
-In Words will be visible once you save the Delivery Note.,Tutarın Yazılı Hali İrsaliyeyi kaydettiğinizde görünür olacaktır,
-In Words (Export) will be visible once you save the Delivery Note.,Tutarın Yazılı Hali (İhracat) İrsaliyeyi kaydettiğinizde görünür olacaktır.,
-Transporter Info,Taşıyıcı Bilgisi,
-Driver Name,Sürücü adı,
+"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Satış Vergi ve Harçlar Şablonu standart bir şablon oluşturulduysa, birini seçin ve aşağıdaki butona tıklayın.",
+In Words will be visible once you save the Delivery Note.,Tutarın Yazılı Hali İrsaliyeyi koruduğunuzda görünür olacaktır,
+In Words (Export) will be visible once you save the Delivery Note.,Tutarın Yazılı Hali (İhracat) İrsaliyeyi kurtaracağınızde görünür olacaktır.,
+Transporter Info,Nakliyeci Bilgisi,
+Driver Name,Şoför Adı,
 Track this Delivery Note against any Project,Bu irsaliyeyi bütün Projelere karşı takip et,
 Inter Company Reference,Şirketler Arası Referans,
-Print Without Amount,Tutarı olmadan yazdır,
+Print Without Amount,Tutar olmadan Yazdır,
 % Installed,% Montajlanan,
-% of materials delivered against this Delivery Note,% malzeme bu İrsaliye karşılığında teslim edildi,
+% of materials delivered against this Delivery Note,% malzeme bu İrsaliye deposu teslim edildi,
 Installation Status,Kurulum Durumu,
 Excise Page Number,Tüketim Sayfa Numarası,
 Instructions,Talimatlar,
-From Warehouse,Atölyesi&#39;nden,
-Against Sales Order,Satış Emri Karşılığı,
+From Warehouse,Depodan,
+Against Sales Order,Satış Siparişi Karşılığı,
 Against Sales Order Item,Satış Sipariş Kalemi karşılığı,
 Against Sales Invoice,Satış Faturası Karşılığı,
 Against Sales Invoice Item,Satış Fatura Kalemi karşılığı,
-Available Batch Qty at From Warehouse,Depodaki Mevcut Parti Miktarı,
-Available Qty at From Warehouse,Alınacağı Depodaki Mevcut Miktar,
+Available Batch Qty at From Warehouse,Depodaki Kullanılabilir Parti Miktarı,
+Available Qty at From Warehouse,Depodaki Kullanılabilir Miktar,
 Delivery Settings,Teslimat Ayarları,
 Dispatch Settings,Sevk Ayarları,
 Dispatch Notification Template,Sevk Bildirim Şablonu,
 Dispatch Notification Attachment,Sevk Bildirimi Eki,
-Leave blank to use the standard Delivery Note format,Standart Teslimat Not formatını kullanmak için boş bırakın,
+Leave blank to use the standard Delivery Note format,Standart İrsaliye formatı kullanmak için boş bırakın,
 Send with Attachment,Ek ile Gönder,
 Delay between Delivery Stops,Teslimat Durakları arasındaki gecikme,
 Delivery Stop,Teslimat Durdur,
-Lock,Kilit,
+Lock,kilit,
 Visited,Ziyaret,
 Order Information,Sipariş Bilgisi,
-Contact Information,İletişim bilgileri,
+Contact Information,iletişim bilgileri,
 Email sent to,E-posta Gönderilen,
 Dispatch Information,Sevk Bilgileri,
-Estimated Arrival,tahmini varış,
+Estimated Arrival,tahmini gerçekleştirme,
 MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
 Initial Email Notification Sent,Gönderilen İlk E-posta Bildirimi,
 Delivery Details,Teslim Bilgileri,
 Driver Email,Sürücü E-postası,
 Driver Address,Sürücü Adresi,
 Total Estimated Distance,Toplam Tahmini Mesafe,
-Distance UOM,Uzak UOM,
-Departure Time,Hareket saati,
+Distance UOM,uzak UOM,
+Departure Time,hareket saati,
 Delivery Stops,Teslimat Durakları,
 Calculate Estimated Arrival Times,Tahmini Varış Sürelerini Hesaplayın,
-Use Google Maps Direction API to calculate estimated arrival times,Tahmini varış saatlerini hesaplamak için Google Haritalar Yönü API&#39;sini kullanın,
+Use Google Maps Direction API to calculate estimated arrival times,Tahmini tahmini kullanım kullanımlarını hesaplamak için Google Haritalar Yönü API&#39;sini kullanın,
 Optimize Route,Rotayı Optimize Et,
 Use Google Maps Direction API to optimize route,Rotayı optimize etmek için Google Haritalar Yönü API&#39;sini kullanın,
-In Transit,Transit olarak,
-Fulfillment User,Yerine getirme kullanıcısı,
-"A Product or a Service that is bought, sold or kept in stock.","Bir Ürün veya satın alınan, satılan veya stokta tutulan bir hizmet.",
+In Transit,transit olarak,
+Fulfillment User,Yerine getirme kullanıcı,
+"A Product or a Service that is bought, sold or kept in stock.","Bir Ürün veya satın alınan, satılan veya stokta verileri bir hizmet.",
 STO-ITEM-.YYYY.-,STO-MADDE-.YYYY.-,
 Variant Of,Varyantı,
-"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Açıkça belirtilmediği sürece madde daha sonra açıklama, resim, fiyatlandırma, vergiler şablondan kurulacak vb başka bir öğe bir varyantı ise",
-Is Item from Hub,Hub&#39;dan Öğe Var mı,
+"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Açıkça belirtilmediği sürece madde daha sonra açıklama, resim, fiyatlandırma, vergiler şablonundan kurulacak vb başka bir öğe bir tahmini ise",
+Is Item from Hub,Hub'dan Öğe Var mı,
 Default Unit of Measure,Varsayılan Ölçü Birimi,
-Maintain Stock,Stok koruyun,
+Maintain Stock,Stok Takibi Yap,
 Standard Selling Rate,Standart Satış Oranı,
-Auto Create Assets on Purchase,Satın Almada Varlıkları Otomatik Oluştur,
+Auto Create Assets on Purchase,Satınalmada Varlıkları Otomatik Oluştur,
 Asset Naming Series,Öğe Adlandırma Dizisi,
-Over Delivery/Receipt Allowance (%),Fazla Teslimat / Makbuz Ödeneği (%),
-Barcodes,barkodlar,
-Shelf Life In Days,Gün Raf Ömrü,
-End of Life,Kullanım süresi Sonu,
-Default Material Request Type,Standart Malzeme Talebi Tipi,
+Over Delivery/Receipt Allowance (%),Fazla Alış/Satış İrsaliyesi Ödeneği (%),
+Barcodes,Barkodlar,
+Shelf Life In Days,Raf Ömrü (gün),
+End of Life,Kullanım Süresi Bitişi,
+Default Material Request Type,Varsayılan Malzeme Talep Türü,
 Valuation Method,Değerleme Yöntemi,
 FIFO,FIFO,
 Moving Average,Hareketli Ortalama,
-Warranty Period (in days),(Gün) Garanti Süresi,
-Auto re-order,Otomatik yeniden sipariş,
-Reorder level based on Warehouse,Depo dayalı Yeniden Sipariş seviyeli,
-Will also apply for variants unless overrridden,Overrridden sürece de varyantları için geçerli olacaktır,
-Units of Measure,Ölçü birimleri,
-Will also apply for variants,Ayrıca varyantları için geçerli olacaktır,
-Serial Nos and Batches,Seri No ve Katlar,
+Warranty Period (in days),Garanti Süresi (gün),
+Auto re-order,Otomatik Yeniden Sipariş,
+Reorder level based on Warehouse,Depo bazlı Yeniden sipariş seviyesi,
+Will also apply for variants unless overrridden,Geçersiz kılınmadığı sürece varyantlar için de geçerli olacaktır.,
+Units of Measure,Ölçü Birimleri,
+Will also apply for variants,Varyantlar için de geçerli olacak,
+Serial Nos and Batches,Seri No ve Batches (Parti),
 Has Batch No,Parti No Var,
 Automatically Create New Batch,Otomatik Olarak Yeni Toplu İş Oluşturma,
-Batch Number Series,Parti Numarası Serisi,
-"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Örnek: ABCD. #####. İşlemler için seri ayarlanmış ve Parti Numarası belirtilmediyse, bu seriye göre otomatik parti numarası oluşturulacaktır. Bu öğe için her zaman Batch No&#39;dan açıkça bahsetmek isterseniz, bunu boş bırakın. Not: Bu ayar, Stok Ayarları&#39;nda Adlandırma Serisi Önekine göre öncelikli olacaktır.",
+Batch Number Series,Batch/Parti Numarası Serisi,
+"Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings.","Örnek: ABCD. #####. İşlemler için seri ayarlanmış ve Parti Numarası belirtilmediyse, bu seriye göre otomatik parti numarası oluşturulacaktır. Bu öğe için her zaman Toplu İş No'dan kısaca bahsetmek isterseniz, bunu boş bırakın. Not: Bu ayar, Stok Ayarları'nda Adlandırma Serisi Önekine göre öncelikli olacaktır.",
 Has Expiry Date,Vade Sonu Var,
-Retain Sample,Numune Alın,
+Retain Sample,Numuneyi Sakla,
 Max Sample Quantity,Maksimum Numune Miktarı,
 Maximum sample quantity that can be retained,Tutulabilen maksimum numune miktarı,
-Has Serial No,Seri no Var,
+Has Serial No,Seri Numarası Var,
 Serial Number Series,Seri Numarası Serisi,
-"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Örnek:. Serisi ayarlanır ve Seri No işlemlerinde belirtilen değilse ABCD ##### \n, daha sonra otomatik seri numarası bu serisine dayanan oluşturulur. Her zaman açıkça bu öğe için seri No. bahsetmek istiyorum. Bu boş bırakın.",
+"Example: ABCD.#####\nIf series is set and Serial No is not mentioned in transactions, then automatic serial number will be created based on this series. If you always want to explicitly mention Serial Nos for this item. leave this blank.","Örnek:. Seri ayarladı ve Seri No belirtilen istenen ABCD ##### \n, daha sonra otomatik seri numarası bu seriye dayalı olarak oluşturulur. Her zaman geniş bu öğe için seri No konuşmak istiyorum. Bu boş bırakın.",
 Variants,Varyantlar,
-Has Variants,Varyasyoları var,
-"If this item has variants, then it cannot be selected in sales orders etc.","Bu öğeyi varyantları varsa, o zaman satış siparişleri vb seçilemez",
-Variant Based On,Varyant Dayalı,
-Item Attribute,Ürün Özellik,
-"Sales, Purchase, Accounting Defaults","Satış, Satınalma, Muhasebe Varsayılanları",
-Item Defaults,Öğe Varsayılanları,
-"Purchase, Replenishment Details","Satın Alma, Yenileme Detayları",
-Is Purchase Item,Satın Alma Maddesi,
-Default Purchase Unit of Measure,Varsayılan Satın Alma Önlemi Birimi,
+Has Variants,Varyantları Var,
+"If this item has variants, then it cannot be selected in sales orders etc.","Bu öğeyi görmeleri varsa, o zaman satış siparişleri vb seçilemez",
+Variant Based On,Varyant Tabanlı,
+Item Attribute,Ürün Özelliği,
+"Sales, Purchase, Accounting Defaults","Satış, Satınalma, Varsayılan Muhasebeleri",
+Item Defaults,Ürün Varsayılanları,
+"Purchase, Replenishment Details","Satınalma, Yenileme Detayları",
+Is Purchase Item,Satınalma Kalemi mi,
+Default Purchase Unit of Measure,Varsayılan Alış Birimi,
 Minimum Order Qty,Minimum Sipariş Miktarı,
-Minimum quantity should be as per Stock UOM,Minimum miktar Stok UOM&#39;sine göre olmalıdır,
-Average time taken by the supplier to deliver,Tedarikçinin ortalama teslim süresi,
-Is Customer Provided Item,Müşteri Temin Edildi mi?,
-Delivered by Supplier (Drop Ship),Yüklenici tarafından teslim (Bırak Gemi),
-Supplier Items,Tedarikçi Öğeler,
+Minimum quantity should be as per Stock UOM,Minimum miktar Stok Birimine göre olmalıdır,
+Average time taken by the supplier to deliver,Tedarikçinin teslim etmesi için geçen ortalama süre,
+Is Customer Provided Item,Müşteri Tarafından Sağlanan Öğe mi,
+Delivered by Supplier (Drop Ship),Tedarikçi tarafından teslim edildi (Drop Ship),
+Supplier Items,Tedarikçi Öğeleri,
 Foreign Trade Details,Dış Ticaret Detayları,
 Country of Origin,Menşei ülke,
-Sales Details,Satış Ayrıntılar,
+Sales Details,Satış Ayrıntıları,
 Default Sales Unit of Measure,Varsayılan Öğe Satış Birimi,
-Is Sales Item,Satış Maddesi,
-Max Discount (%),En fazla İndirim (%,
+Is Sales Item,Satış Kalemi mi,
+Max Discount (%),Maksimum İndirim (%),
 No of Months,Ayların Sayısı,
-Customer Items,Müşteri Öğeler,
+Customer Items,Müşteri Öğeleri,
 Inspection Criteria,Muayene Kriterleri,
-Inspection Required before Purchase,Muayene Satın Alma önce Gerekli,
-Inspection Required before Delivery,Muayene Teslim önce Gerekli,
-Default BOM,Standart BOM,
-Supply Raw Materials for Purchase,Tedarik Hammadde Satın Alma için,
-If subcontracted to a vendor,Bir satıcıya taşeron durumunda,
+Inspection Required before Purchase,Satınalma öncesi Muayene Gerekli,
+Inspection Required before Delivery,Teslimat öncesi Muayene Gerekli,
+Default BOM,Standart Ürün Ağacı,
+Supply Raw Materials for Purchase,Satınalma için Hammadde Temini,
+If subcontracted to a vendor,Bir satıcıya taşero edildi mi,
 Customer Code,Müşteri Kodu,
 Default Item Manufacturer,Varsayılan Öğe Üreticisi,
 Default Manufacturer Part No,Varsayılan Üretici Parça Numarası,
 Show in Website (Variant),Web Sitesi göster (Varyant),
-Items with higher weightage will be shown higher,Yüksek weightage Öğeler yüksek gösterilir,
-Show a slideshow at the top of the page,Sayfanın üstünde bir slayt gösterisi göster,
-Website Image,Web sitesi resmi,
-Website Warehouse,Web Sitesi Depo,
-"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Depodaki mevcut stok durumuna göre ""Stokta"" veya ""Stokta değil"" olarak göster",
+Items with higher weightage will be shown higher,Yüksek ağırlık Öğeler yüksek gösterim,
+Show a slideshow at the top of the page,Sayfanın üstünde bir slayt öğretmen gösterisi,
+Website Image,Websitesi Resmi,
+Website Warehouse,Web Sitesi Deposu,
+"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Depodaki mevcut stok ölçülerine göre ""Stokta"" veya ""Stokta değil"" olarak göster",
 Website Item Groups,Web Sitesi Ürün Grupları,
-List this Item in multiple groups on the website.,Bu Ürünü web sitesinde gruplar halinde listeleyin,
+List this Item in multiple groups on the website.,Bu ürünü web sitesinde gruplar halinde listeleyin,
 Copy From Item Group,Ürün Grubundan kopyalayın,
 Website Content,Web sitesi içeriği,
-You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Bu alanda geçerli bir Bootstrap 4 işaretlemesi kullanabilirsiniz. Öğe Sayfanızda gösterilecektir.,
+You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Bu alanda geçerli bir Bootstrap 4 dizsi kullanabilirsiniz. Öğe Sayfanızda gösterilecek.,
 Total Projected Qty,Tahmini toplam Adet,
 Hub Publishing Details,Hub Yayınlama Ayrıntıları,
-Publish in Hub,Hub Yayınla,
+Publish in Hub,Hubta Yayınla,
 Publish Item to hub.erpnext.com,Hub.erpnext.com için Öğe Yayınla,
-Hub Category to Publish,Yayınlanacak Hub Kategorisi,
-Hub Warehouse,Hub Ambarları,
-"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Yayın için &quot;Stokta&quot; ya da &quot;Stokta Bulunmadı&quot; on Hub bu stokta mevcut bulunan stokları esas alın.,
+Hub Category to Publish,Yayın Merkezi Kategorisi olacak,
+Hub Warehouse,Hub Deposu,
+"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Yayın için &quot;Stokta&quot; ya da &quot;Stokta Bulunamadı&quot; on Hub bu stokta bulunan stokları esas alın.,
 Synced With Hub,Hub ile Senkronize,
-Item Alternative,Öğe alternatif,
+Item Alternative,Ürün Alternatifi,
 Alternative Item Code,Alternatif Ürün Kodu,
 Two-way,Çift yönlü,
 Alternative Item Name,Alternatif öğe adı,
 Attribute Name,Öznitelik Adı,
 Numeric Values,Sayısal Değerler,
-From Range,Sınıfımızda,
+From Range,Baş. Oranı,
 Increment,Artım,
-To Range,Range,
-Item Attribute Values,Ürün Özellik Değerler,
+To Range,Bitiş Oranı,
+Item Attribute Values,Ürün Özellik Değerleri,
 Item Attribute Value,Ürün Özellik Değeri,
-Attribute Value,Değer Özellik,
+Attribute Value,Özellik Değeri,
 Abbreviation,Kısaltma,
-"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Bu varyant Ürün Kodu eklenecektir. Senin kısaltması ""SM"", ve eğer, örneğin, ürün kodu ""T-Shirt"", ""T-Shirt-SM"" olacak varyantın madde kodu",
+"This will be appended to the Item Code of the variant. For example, if your abbreviation is ""SM"", and the item code is ""T-SHIRT"", the item code of the variant will be ""T-SHIRT-SM""","Bu tahmini Ürün Kodu eklenecektir. Senin anlatımı ""SM"", ve eğer, örneğin, ürün kodu ""T-Shirt"", ""T-Shirt-SM"" olacağını öngörmenin madde kodu",
 Item Barcode,Ürün Barkodu,
 Barcode Type,Barkod Türü,
 EAN,EAN,
@@ -8134,10 +8134,10 @@
 Item Customer Detail,Ürün Müşteri Detayı,
 "For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Müşterilerinin rahatlığı için, bu kodlar faturalarda ve irsaliyelerde olduğu gibi basılı formatta kullanılabilir.",
 Ref Code,Referans Kodu,
-Item Default,Öğe varsayılan,
-Purchase Defaults,Satın Alma Varsayılanları,
+Item Default,öğe girişi,
+Purchase Defaults,Satınalma Varsayılanları,
 Default Buying Cost Center,Standart Alış Maliyet Merkezi,
-Default Supplier,Standart Tedarikçi,
+Default Supplier,standart tedarikçi,
 Default Expense Account,Standart Gider Hesabı,
 Sales Defaults,Satış Varsayılanları,
 Default Selling Cost Center,Standart Satış Maliyet Merkezi,
@@ -8146,103 +8146,103 @@
 Packing Unit,Paketleme birimi,
 Quantity  that must be bought or sold per UOM,UOM başına satın alınması veya satılması gereken miktar,
 Item Quality Inspection Parameter,Ürün Kalite Kontrol Parametreleri,
-Acceptance Criteria,Kabul Kriterleri,
+Acceptance Criteria,Kabil Kriterleri,
 Item Reorder,Ürün Yeniden Sipariş,
-Check in (group),(Grup) kontrol,
-Request for,Talebi,
-Re-order Level,Yeniden sipariş seviyesi,
-Re-order Qty,Yeniden sipariş Adet,
+Check in (group),Check-in (grup),
+Request for,Talep şunun için,
+Re-order Level,Yeniden Sipariş Seviyesi,
+Re-order Qty,Yeniden Sipariş Adet,
 Item Supplier,Ürün Tedarikçisi,
-Item Variant,Öğe Varyant,
+Item Variant,Öğe Varyantı,
 Item Variant Attribute,Öğe Varyant Özellik,
 Do not update variants on save,Kaydetme türevlerini güncelleme,
 Fields will be copied over only at time of creation.,Alanlar yalnızca oluşturulma anında kopyalanır.,
 Allow Rename Attribute Value,Öznitelik Değerini Yeniden Adlandırmaya İzin Ver,
-Rename Attribute Value in Item Attribute.,Öğe Özniteliğinde Öznitelik Değerini Yeniden Adlandır.,
+Rename Attribute Value in Item Attribute.,Öğe Özniteliğinde Öznitelik Değerini Yeniden Adlandırın.,
 Copy Fields to Variant,Alanları Varyanta Kopyala,
 Item Website Specification,Ürün Web Sitesi Özellikleri,
-Table for Item that will be shown in Web Site,Web Sitesi gösterilir Öğe için Tablo,
+Table for Item that will be shown in Web Site,Web Sitesi gösterimi Öğe için Tablo,
 Landed Cost Item,İnen Maliyet Kalemi,
-Receipt Document Type,Makbuz Belge Türü,
-Receipt Document,makbuz Belgesi,
+Receipt Document Type,Fiş Belge Türü,
+Receipt Document,Fiş Belgesi,
 Applicable Charges,Uygulanabilir Ücretler,
-Purchase Receipt Item,Satın Alma makbuzu Ürünleri,
-Landed Cost Purchase Receipt,İnen Maliyet Alım Makbuzu,
-Landed Cost Taxes and Charges,Indi Maliyet Vergiler ve Ücretler,
-Landed Cost Voucher,Indi Maliyet Çeki,
+Purchase Receipt Item,Alış Fişi Ürünleri,
+Landed Cost Purchase Receipt,Yüklenen Maliyet Alış Fişi,
+Landed Cost Taxes and Charges,Yüklenen Maliyet Vergiler ve Harçlar,
+Landed Cost Voucher,Yüklenen Maliyet Fişi,
 MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
-Purchase Receipts,Satın Alma İrsaliyeleri,
-Purchase Receipt Items,Satın alma makbuzu Ürünleri,
-Get Items From Purchase Receipts,Satınalma Makbuzlar Gönderen Ürünleri alın,
-Distribute Charges Based On,Dağıt Masraflar Dayalı,
-Landed Cost Help,Indi Maliyet Yardım,
-Manufacturers used in Items,Öğeler kullanılan Üreticileri,
-Limited to 12 characters,12 karakter ile sınırlıdır,
-MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
+Purchase Receipts,Satınalma İrsaliyeleri,
+Purchase Receipt Items,Satınalma İrsaliyesi Ürünleri,
+Get Items From Purchase Receipts,Satınalma İrsaliyesinden Ürünleri Getir,
+Distribute Charges Based On,Masrafları Şuna göre Dağıt,
+Landed Cost Help,Son teslim alma Maliyet Yardımı,
+Manufacturers used in Items,Kullanılan Öğeler Üreticileri,
+Limited to 12 characters,12 karakter ile sınırlı,
+MAT-MR-.YYYY.-,MAT-BAY-.YYYY.-,
 Partially Ordered,Kısmen Sipariş Edildi,
 Transferred,aktarılan,
-% Ordered,% Sipariş edildi,
+% Ordered,% Sipariş verildi,
 Terms and Conditions Content,Şartlar ve Koşullar İçeriği,
 Quantity and Warehouse,Miktar ve Depo,
 Lead Time Date,Teslim Zamanı Tarihi,
-Min Order Qty,Minimum sipariş miktarı,
+Min Order Qty,Minimum Sipariş Miktarı,
 Packed Item,Paketli Ürün,
 To Warehouse (Optional),Depo (İsteğe bağlı),
 Actual Batch Quantity,Gerçek Parti Miktarı,
-Prevdoc DocType,Prevdoc Doctype,
+Prevdoc DocType,Önceki Doküman,
 Parent Detail docname,Ana Detay belgesi adı,
-"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Paketleri teslim edilmek üzere fişleri ambalaj oluşturun. Paket numarası, paket içeriğini ve ağırlığını bildirmek için kullanılır.",
+"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Teslim edilecek paketler için sevk irsaliyeleri oluşturun. Paket numarasını, paket içeriğini ve ağırlığını bildirmek için kullanılır.",
 Indicates that the package is a part of this delivery (Only Draft),Paketin bu teslimatın bir parçası olduğunu gösterir (Sadece Taslak),
 MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
 From Package No.,Ambalaj Numarasından.,
-Identification of the package for the delivery (for print),(Baskı için) teslimat için ambalajın tanımlanması,
-To Package No.,Ambalaj No.,
+Identification of the package for the delivery (for print),(Baskı için) teslimat için ambalajın maliyeti,
+To Package No.,ambalaj numarası,
 If more than one package of the same type (for print),(Baskı için) aynı ambalajdan birden fazla varsa,
 Package Weight Details,Ambalaj Ağırlığı Detayları,
-The net weight of this package. (calculated automatically as sum of net weight of items),Bu paketin net ağırlığı (Ürünlerin net toplamından otomatik olarak hesaplanır),
+The net weight of this package. (calculated automatically as sum of net weight of items),Bu paketin net ağırlığı (Ürünlerin net toplamından otomatik olarak çıkarılması),
 Net Weight UOM,Net Ağırlık Ölçü Birimi,
 Gross Weight,Brüt Ağırlık,
-The gross weight of the package. Usually net weight + packaging material weight. (for print),Paketin brüt ağırlığı. Genellikle net ağırlığı + ambalaj Ürünü ağırlığı. (Baskı için),
+The gross weight of the package. Usually net weight + packaging material weight. (for print),Paketin ağır ağırlığı. Genellikle net ağırlık + ambalaj ürün ağırlığı. (Baskı için),
 Gross Weight UOM,Brüt Ağırlık Ölçü Birimi,
-Packing Slip Item,Ambalaj Makbuzu Ürünleri,
+Packing Slip Item,Sevk İrsaliyesi Kalemi,
 DN Detail,DN Detay,
 STO-PICK-.YYYY.-,STO SEÇME-.YYYY.-,
-Material Transfer for Manufacture,Üretim için Materyal Transfer,
-Qty of raw materials will be decided based on the qty of the Finished Goods Item,"Hammadde miktarına, Mamul Madde miktarına göre karar verilecektir.",
+Material Transfer for Manufacture,Üretim için Malzeme Transferi,
+Qty of raw materials will be decided based on the qty of the Finished Goods Item,"Hammadde miktarına, Mamul Madde miktarına göre karar verecek.",
 Parent Warehouse,Ana Depo,
-Items under this warehouse will be suggested,Bu depo altındaki ürünler önerilecektir,
+Items under this warehouse will be suggested,Bu depodaki ürünler önerilecek,
 Get Item Locations,Öğe Konumlarını Alın,
 Item Locations,Öğe Konumları,
 Pick List Item,Liste Öğesini Seç,
-Picked Qty,Alınan Miktar,
-Price List Master,Fiyat Listesi Ana,
+Picked Qty,Toplanan Miktar,
+Price List Master,Fiyat Listesi Master,
 Price List Name,Fiyat Listesi Adı,
-Price Not UOM Dependent,Fiyat UOM Bağımlı Değil,
-Applicable for Countries,Ülkeler için geçerlidir,
-Price List Country,Fiyat Listesi Ülke,
+Price Not UOM Dependent,Fiyat Birime Bağlı Değil,
+Applicable for Countries,Geçerli olduğu Ülkeler,
+Price List Country,Fiyat Listesi Ülkesi,
 MAT-PRE-.YYYY.-,MAT-ÖN .YYYY.-,
-Supplier Delivery Note,Tedarikçi Teslim Notu,
+Supplier Delivery Note,Tedarikçi İrsaliyesi,
 Time at which materials were received,Malzemelerin alındığı zaman,
-Return Against Purchase Receipt,Satınalma Makbuzu Karşı dön,
-Rate at which supplier's currency is converted to company's base currency,Tedarikçinin para biriminin şirketin temel para birimine dönüştürülme oranı,
-Sets 'Accepted Warehouse' in each row of the items table.,Kalemler tablosunun her satırında &#39;Kabul Edilen Depo&#39; ayarlar.,
-Sets 'Rejected Warehouse' in each row of the items table.,Kalemler tablosunun her satırında &#39;Reddedilen Depo&#39; ayarlar.,
+Return Against Purchase Receipt,İrsaliye Karşılığında İade,
+Rate at which supplier's currency is converted to company's base currency,Tedarikçinin para biriminin şirketin temel para birimine dönüştürme oranı,
+Sets 'Accepted Warehouse' in each row of the items table.,Kalemler tablosunun her tablosunda &#39;Kabil Edilen Depo&#39; ayarlar.,
+Sets 'Rejected Warehouse' in each row of the items table.,Kalemler tablosunun her tablosunda &#39;Reddedilen Depo&#39; ayarlar.,
 Raw Materials Consumed,Tüketilen Hammaddeler,
-Get Current Stock,Cari Stok alın,
+Get Current Stock,Mevcut Stoğu Al,
 Consumed Items,Tüketilen Ürünler,
 Add / Edit Taxes and Charges,Ekle / Düzenle Vergi ve Harçlar,
-Auto Repeat Detail,Otomatik tekrar detayı,
-Transporter Details,Taşıyıcı Detayları,
-Vehicle Number,Araç Sayısı,
+Auto Repeat Detail,Otomatik Tekrar Detayı,
+Transporter Details,Nakliyeci Detayları,
+Vehicle Number,Araç Numarası,
 Vehicle Date,Araç Tarihi,
 Received and Accepted,Alındı ve Kabul edildi,
 Accepted Quantity,Kabul edilen Miktar,
-Rejected Quantity,Reddedilen Miktar,
-Accepted Qty as per Stock UOM,Stok UOM&#39;ye göre Kabul Edilen Miktar,
+Rejected Quantity,Reddilen Miktar,
+Accepted Qty as per Stock UOM,Stok Birimine göre Kabul edilen Miktar,
 Sample Quantity,Numune Miktarı,
 Rate and Amount,Oran ve Miktar,
 MAT-QA-.YYYY.-,MAT-QA .YYYY.-,
-Report Date,Rapor Tarihi,
+Report Date,Tarihi Rapor,
 Inspection Type,Muayene Türü,
 Item Serial No,Ürün Seri No,
 Sample Size,Numune Miktarı,
@@ -8261,9 +8261,9 @@
 Reading 10,10 Okuma,
 Quality Inspection Template Name,Kalite Kontrol Şablonu Adı,
 Quick Stock Balance,Hızlı Stok Bakiyesi,
-Available Quantity,Mevcut Miktarı,
+Available Quantity,Mevcut Miktar,
 Distinct unit of an Item,Bir Öğe Farklı birim,
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depo yalnızca Stok Girdisi / İrsaliye / Satın Alım Makbuzu üzerinden değiştirilebilir,
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depo yalnızca Stok Hareketi / İrsaliye / Alış Fişi üzerinden değiştirilebilir,
 Purchase / Manufacture Details,Satın alma / Üretim Detayları,
 Creation Document Type,Oluşturulan Belge Türü,
 Creation Document No,Oluşturulan Belge Tarihi,
@@ -8271,12 +8271,12 @@
 Creation Time,Oluşturma Zamanı,
 Asset Details,Varlık Ayrıntıları,
 Asset Status,Varlık Durumu,
-Delivery Document Type,Teslim Belge Türü,
-Delivery Document No,Teslim Belge No,
+Delivery Document Type,Teslim Belgesi Türü,
+Delivery Document No,Teslim Belgesi No,
 Delivery Time,İrsaliye Zamanı,
-Invoice Details,Fatura detayları,
+Invoice Details,Fatura Detayları,
 Warranty / AMC Details,Garanti / AMC Detayları,
-Warranty Expiry Date,Garanti Son Kullanma Tarihi,
+Warranty Expiry Date,Garanti Son Kullanım Tarihi,
 AMC Expiry Date,AMC Bitiş Tarihi,
 Under Warranty,Garanti Altında,
 Out of Warranty,Garanti Dışı,
@@ -8285,96 +8285,96 @@
 Warranty Period (Days),Garanti Süresi (Gün),
 Serial No Details,Seri No Detayları,
 MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
-Stock Entry Type,Stok girişi türü,
-Stock Entry (Outward GIT),Stok Girişi (Dışa GIT),
+Stock Entry Type,Stok Hareket Türü,
+Stock Entry (Outward GIT),Stok Hareketi (Dışa GIT),
 Material Consumption for Manufacture,Üretimde Malzeme Tüketimi,
-Repack,Yeniden paketlemek,
-Send to Subcontractor,Taşeron&#39;a Gönder,
+Repack,Yeniden Paketle,
+Send to Subcontractor,Taşeron'a Gönder,
 Delivery Note No,İrsaliye No,
 Sales Invoice No,Satış Fatura No,
 Purchase Receipt No,Satın alma makbuzu numarası,
 Inspection Required,Muayene Gerekli,
-From BOM,BOM Gönderen,
+From BOM,İlgili BOM,
 For Quantity,Miktar,
-As per Stock UOM,Stok Ölçü Birimi gereğince,
-Including items for sub assemblies,Alt montajlar için öğeleri içeren,
-Default Source Warehouse,Varsayılan Kaynak Deposu,
+As per Stock UOM,Stok Birimine göre,
+Including items for sub assemblies,Alt montajlar için öğeler dahil,
+Default Source Warehouse,Varsayılan Kaynak Depo,
 Source Warehouse Address,Kaynak Depo Adresi,
 Default Target Warehouse,Standart Hedef Depo,
 Target Warehouse Address,Hedef Depo Adresi,
-Update Rate and Availability,Güncelleme Oranı ve Kullanılabilirlik,
+Update Rate and Availability,Oranı ve Kullanılabilirliği Güncelle,
 Total Incoming Value,Toplam Gelen Değeri,
 Total Outgoing Value,Toplam Giden Değeri,
-Total Value Difference (Out - In),Toplam Değer Farkı (Out - In),
-Additional Costs,Ek maliyetler,
+Total Value Difference (Out - In),Toplam Değer Farkı (Dış - Giriş),
+Additional Costs,Ek geçitler,
 Total Additional Costs,Toplam Ek Maliyetler,
 Customer or Supplier Details,Müşteri ya da Tedarikçi Detayları,
 Per Transferred,Transfer başına,
-Stock Entry Detail,Stok Girdisi Detayı,
-Basic Rate (as per Stock UOM),Temel Oranı (Stok Ölçü Birimi göre),
+Stock Entry Detail,Stok Hareketi Detayı,
+Basic Rate (as per Stock UOM),Temel Oran (Stok Birimine göre),
 Basic Amount,Temel Tutar,
-Additional Cost,Ek maliyet,
+Additional Cost,Ek Maliyet,
 Serial No / Batch,Seri No / Parti,
-BOM No. for a Finished Good Item,Biten İyi Ürün için BOM numarası,
-Material Request used to make this Stock Entry,Bu stok girdisini yapmak için kullanılan Malzeme Talebi,
+BOM No. for a Finished Good Item,Biten İyi Ürün için ürün ağacı numarası,
+Material Request used to make this Stock Entry,Bu stok hareketini yapmak için kullanılan Malzeme Talebi,
 Subcontracted Item,Taşeronluk kalemi,
-Against Stock Entry,Stok girişine karşı,
-Stock Entry Child,Stok girişi,
+Against Stock Entry,Stok Hareketine karşı,
+Stock Entry Child,Stok Hareketi Alt,
 PO Supplied Item,PO Tedarik Edilen Öğe,
-Reference Purchase Receipt,Referans Satın Alma Fişi,
-Stock Ledger Entry,Stok Defter Girdisi,
+Reference Purchase Receipt,Referans Satınalma Fişi,
+Stock Ledger Entry,Stok Defter Girişi,
 Outgoing Rate,Giden Oranı,
 Actual Qty After Transaction,İşlem sonrası gerçek Adet,
 Stock Value Difference,Stok Değer Farkı,
 Stock Queue (FIFO),Stok Kuyruğu (FIFO),
 Is Cancelled,İptal edilmiş,
 Stock Reconciliation,Stok Mutabakatı,
-This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,"Bu araç, güncellemek veya sistemde stok miktarı ve değerleme düzeltmek için yardımcı olur. Genellikle sistem değerlerini ve ne aslında depolarda var eşitlemek için kullanılır.",
+This tool helps you to update or fix the quantity and valuation of stock in the system. It is typically used to synchronise the system values and what actually exists in your warehouses.,"Bu araç, güncellemek veya sistem stok miktarı ve değerleme düzeltmeleri için yardımcı olur. Genellikle sistem değerleri ve ne aslında depolarda var eşitlemek için kullanılır.",
 MAT-RECO-.YYYY.-,MAT-Reco-.YYYY.-,
 Reconciliation JSON,Mutabakat JSON,
 Stock Reconciliation Item,Stok Mutabakat Kalemi,
-Before reconciliation,Mutabakat öncesinde,
-Current Serial No,Geçerli Seri No,
+Before reconciliation,Mutabakat öncesi,
+Current Serial No,servis seri no,
 Current Valuation Rate,Güncel Değerleme Oranı,
 Current Amount,Güncel Tutar,
 Quantity Difference,Miktar Farkı,
-Amount Difference,tutar Farkı,
-Item Naming By,Ürün adlandırma,
+Amount Difference,Tutar Farkı,
+Item Naming By,Ürün Adlandırma,
 Default Item Group,Standart Ürün Grubu,
 Default Stock UOM,Varsayılan Stok Ölçü Birimi,
 Sample Retention Warehouse,Numune Alma Deposu,
 Default Valuation Method,Standart Değerleme Yöntemi,
 Show Barcode Field,Göster Barkod Alanı,
-Convert Item Description to Clean HTML,Öğe Açıklamaunu Temiz HTML&#39;ye Dönüştür,
-Allow Negative Stock,Negatif stok seviyesine izin ver,
+Convert Item Description to Clean HTML,Açıklama Öğesini Temiz HTML'ye Dönüştür,
+Allow Negative Stock,Negatif Stoğa İzin ver,
 Automatically Set Serial Nos based on FIFO,FIFO ya Göre Seri Numaraları Otomatik Olarak Ayarla,
 Auto Material Request,Otomatik Malzeme Talebi,
 Inter Warehouse Transfer Settings,Depolar Arası Transfer Ayarları,
-Freeze Stock Entries,Donmuş Stok Girdileri,
+Freeze Stock Entries,Donmuş Stok Hareketleri,
 Stock Frozen Upto,Stok Dondurulmuş,
 Batch Identification,Toplu Tanımlama,
-Use Naming Series,Adlandırma Dizisini Kullan,
+Use Naming Series,Adlandırma Dizisini Kullanım,
 Naming Series Prefix,Seri Öneki Adlandırma,
 UOM Category,UOM Kategorisi,
 UOM Conversion Detail,Ölçü Birimi Dönüşüm Detayı,
 Variant Field,Varyant Alanı,
-A logical Warehouse against which stock entries are made.,Stok girişleri mantıksal Depoya karşı yapıldı,
+A logical Warehouse against which stock entries are made.,Stok girişleri Depoya karşı yapıldı,
 Warehouse Detail,Depo Detayı,
 Warehouse Name,Depo Adı,
 Warehouse Contact Info,Depo İletişim Bilgileri,
-PIN,TOPLU İĞNE,
+PIN,PIN,
 ISS-.YYYY.-,ISS-.YYYY.-,
-Raised By (Email),(Email)  ile talep eden,
+Raised By (Email),Talep eden (Email),
 Issue Type,Sorun Tipi,
-Issue Split From,Sayıdan Böl,
-Service Level,Servis seviyesi,
+Issue Split From,Sorunun Ayrıldığı Yer,
+Service Level,Hizmet Seviyesi,
 Response By,Yanıtla,
 Response By Variance,Varyans Yanıtı,
-Ongoing,Devam eden,
-Resolution By,Çözünürlük,
+Ongoing,Devam ediyor,
+Resolution By,Çözen,
 Resolution By Variance,Varyans ile Çözünürlük,
 Service Level Agreement Creation,Hizmet Seviyesi Anlaşması Oluşturma,
-First Responded On,İlk cevap verilen,
+First Responded On,İlk Yanıt Tarihi,
 Resolution Details,Karar Detayları,
 Opening Date,Açılış Tarihi,
 Opening Time,Açılış Zamanı,
@@ -8383,29 +8383,29 @@
 Support Team,Destek Ekibi,
 Issue Priority,Sorun Önceliği,
 Service Day,Hizmet günü,
-Workday,iş günü,
+Workday,Çalışma günü,
 Default Priority,Varsayılan Öncelik,
-Priorities,Öncelikleri,
+Priorities,Öncelikler,
 Support Hours,Destek Saatleri,
 Support and Resolution,Destek ve Çözünürlük,
 Default Service Level Agreement,Varsayılan Servis Seviyesi Sözleşmesi,
-Entity,varlık,
+Entity,Tüzel,
 Agreement Details,Anlaşma Detayları,
 Response and Resolution Time,Tepki ve Çözünürlük Zamanı,
 Service Level Priority,Servis Seviyesi Önceliği,
-Resolution Time,Çözünürlük zaman,
+Resolution Time,Çözünürlük Zamanı,
 Support Search Source,Arama Kaynağı Desteği,
-Source Type,kaynak tipi,
+Source Type,Kaynak Tipi,
 Query Route String,Sorgu Rota Dizesi,
 Search Term Param Name,Arama Dönem Param Adı,
 Response Options,Yanıt Seçenekleri,
 Response Result Key Path,Yanıt Sonuç Anahtar Yolu,
-Post Route String,Rota Dizesi Gönder,
+Post Route String,Rota Dizisi Gönder,
 Post Route Key List,Rota Rota Listesini Kaydet,
 Post Title Key,Yazı Başlığı Anahtarı,
-Post Description Key,Mesaj Açıklaması Anahtarı,
+Post Description Key,Mesaj Açıklama Anahtarı,
 Link Options,Bağlantı Seçenekleri,
-Source DocType,Kaynak DocType,
+Source DocType,Kaynak Belge Türü,
 Result Title Field,Sonuç Başlık Alanı,
 Result Preview Field,Sonuç Önizleme Alanı,
 Result Route Field,Sonuç Rota Alanı,
@@ -8426,23 +8426,23 @@
 SER-WRN-.YYYY.-,SER-UYR-.YYYY.-,
 Issue Date,Veriliş tarihi,
 Item and Warranty Details,Ürün ve Garanti Detayları,
-Warranty / AMC Status,Garanti / AMC Durum,
-Resolved By,Tarafından Çözülmüştür,
+Warranty / AMC Status,Garanti / AMC Durumu,
+Resolved By,Çözen,
 Service Address,Servis Adresi,
-If different than customer address,Müşteri adresinden farklı ise,
+If different than customer address,Müşteri şirketinden farklı ise,
 Raised By,Talep eden,
 From Company,Şirketten,
-Rename Tool,yeniden adlandırma aracı,
-Utilities,Programlar,
+Rename Tool,Yeniden adlandırma aracı,
+Utilities,Faydalı şeyler,
 Type of document to rename.,Yeniden adlandırılacak Belge Türü.,
-File to Rename,Rename Dosya,
-"Attach .csv file with two columns, one for the old name and one for the new name","Iki sütun, eski adı diğeri yeni isim biriyle .csv dosya eklemek",
-Rename Log,Girişi yeniden adlandır,
+File to Rename,Dosyayı Yeniden Adlandır,
+"Attach .csv file with two columns, one for the old name and one for the new name","İki sütun, eski adı diğerinin yeni adının eklenmesi .csv dosyasının birleştirilmesi",
+Rename Log,Girişi yeniden tanımlama,
 SMS Log,SMS Kayıtları,
 Sender Name,Gönderenin Adı,
 Sent On,Gönderim Zamanı,
 No of Requested SMS,İstenen SMS Sayısı,
-Requested Numbers,Talep Sayılar,
+Requested Numbers,Talep Sayıları,
 No of Sent SMS,Gönderilen SMS sayısı,
 Sent To,Gönderildiği Kişi,
 Absent Student Report,Öğrenci Devamsızlık Raporu,
@@ -8450,10 +8450,10 @@
 Asset Depreciation Ledger,Varlık Değer Kaybı Defteri,
 Asset Depreciations and Balances,Varlık Değer Kayıpları ve Hesapları,
 Available Stock for Packing Items,Ambalajlama Ürünleri İçin Kullanılabilir Stok,
-Bank Clearance Summary,Banka Gümrükleme Özet,
-Bank Remittance,Banka havalesi,
-Batch Item Expiry Status,Toplu Öğe Bitiş Durumu,
-Batch-Wise Balance History,Parti Geneli Bakiye Geçmişi,
+Bank Clearance Summary,Banka Gümrükleme Özeti,
+Bank Remittance,Banka Havalesi,
+Batch Item Expiry Status,Batch Öğesi Süre Sonu Durumu,
+Batch-Wise Balance History,Batch bazlı Bakiye Geçmişi,
 BOM Explorer,BOM Gezgini,
 BOM Search,Ürün Ağacı Arama,
 BOM Stock Calculated,BOM Hisse Senedi Hesaplanan,
@@ -8462,239 +8462,239 @@
 Cash Flow,Nakit Akışı,
 Completed Work Orders,Tamamlanmış İş Emri,
 To Produce,Üretilecek,
-Produced,Üretilmiş,
-Consolidated Financial Statement,Konsolide finansal tablolar,
-Course wise Assessment Report,Akıllıca Hazırlanan Değerlendirme Raporu,
+Produced,Üretilen,
+Consolidated Financial Statement,Konsolide Finansal Tablolar,
+Course wise Assessment Report,Akıllıca Alınan Hazır Değerlendirme Raporu,
 Customer Acquisition and Loyalty,Müşteri Edinme ve Sadakat,
-Customer Credit Balance,Müşteri Kredi Bakiyesi,
-Customer Ledger Summary,Müşteri Muhasebe Özeti,
+Customer Credit Balance,Müşteri Alacak Bakiyesi,
+Customer Ledger Summary,Müşteri Cari Defter Özeti,
 Customer-wise Item Price,Müşteri-bilge Öğe Fiyat,
-Customers Without Any Sales Transactions,Satış İşlemleri Olmayan Müşteriler,
+Customers Without Any Sales Transactions,Satış İşlemi olmayan Müşteriler,
 Daily Timesheet Summary,Günlük Zaman Çizelgesi Özeti,
 Daily Work Summary Replies,Günlük İş Özeti Cevapları,
 DATEV,DATEV,
 Delayed Item Report,Gecikmeli Ürün Raporu,
 Delayed Order Report,Gecikmeli Sipariş Raporu,
-Delivered Items To Be Billed,Faturalanacak Teslim edilen Ürünler,
-Delivery Note Trends,Teslimat Analizi,
+Delivered Items To Be Billed,Fatura Teslim Edilecek Ürünler,
+Delivery Note Trends,İrsaliye Trendleri,
 Electronic Invoice Register,Elektronik Fatura Kaydı,
-Employee Advance Summary,Çalışan Advance Özeti,
-Employee Billing Summary,Çalışan Fatura Özeti,
-Employee Birthday,Çalışan Doğum Günü,
-Employee Information,Çalışan Bilgileri,
-Employee Leave Balance,Çalışanın Kalan İzni,
-Employee Leave Balance Summary,Çalışan İzin Bakiyesi Özeti,
-Employees working on a holiday,tatil çalışanlar,
+Employee Advance Summary,Personel Avans Özeti,
+Employee Billing Summary,Personel Fatura Özeti,
+Employee Birthday,Personel Doğum Günü,
+Employee Information,Personel Bilgileri,
+Employee Leave Balance,Personelin Kalan İzni,
+Employee Leave Balance Summary,Personel İzin Bakiyesi Özeti,
+Employees working on a holiday,Tatilde Çalışan Personeller,
 Eway Bill,Eway Bill,
 Expiring Memberships,Süregelen Üyelikler,
-Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
+Fichier des Ecritures Comptables [FEC],Uyumlu Fichier des Ecritures [FEC],
 Final Assessment Grades,Final Değerlendirme Notları,
-Fixed Asset Register,Sabit Varlık Kaydı,
+Fixed Asset Register,Sabit Kıymet Kaydı,
 Gross and Net Profit Report,Brüt ve Net Kar Raporu,
-GST Itemised Purchase Register,GST&#39;ye göre Satın Alınan Kayıt,
-GST Itemised Sales Register,GST Madde Numaralı Satış Kaydı,
-GST Purchase Register,GST Satın Alma Kaydı,
+GST Itemised Purchase Register,GST'ye göre Satın Alınan Kayıt,
+GST Itemised Sales Register,GST Maddeli Satış Kaydı,
+GST Purchase Register,GST Satınalma Kaydı,
 GST Sales Register,GST Satış Kaydı,
 GSTR-1,GSTR-1,
 GSTR-2,GSTR-2,
 Hotel Room Occupancy,Otel Odasının Kullanımı,
-HSN-wise-summary of outward supplies,Dışa açık malzemelerin HSN-bilge özeti,
-Inactive Customers,Etkin olmayan müşteriler,
-Inactive Sales Items,Etkin Olmayan Satış Öğeleri,
+HSN-wise-summary of outward supplies,Dışa açık malzemeler HSN-bilge açıklaması,
+Inactive Customers,Pasif Müşteriler,
+Inactive Sales Items,Pasif Satış Ögeleri,
 IRS 1099,IRS 1099,
 Issued Items Against Work Order,İş Emrine Karşı Verilmiş Ürünler,
 Projected Quantity as Source,Kaynak olarak Öngörülen Miktarı,
-Item Balance (Simple),Öğe Dengesi (Basit),
-Item Price Stock,Öğe Fiyat Stok,
+Item Balance (Simple),Ürün Bakiyesi (Basit),
+Item Price Stock,Stok Ürün Fiyat Bilgisi,
 Item Prices,Ürün Fiyatları,
 Item Shortage Report,Ürün Yetersizliği Raporu,
 Item Variant Details,Öğe Varyant Detayları,
-Item-wise Price List Rate,Ürün bilgisi Fiyat Listesi Oranı,
-Item-wise Purchase History,Ürün bilgisi Satın Alma Geçmişi,
-Item-wise Purchase Register,Ürün bilgisi Alım Kaydı,
-Item-wise Sales History,Ürün bilgisi Satış Geçmişi,
-Item-wise Sales Register,Ürün bilgisi Satış Kaydı,
-Items To Be Requested,İstenecek Ürünler,
+Item-wise Price List Rate,Ürün bazında Fiyat Listesi Oranı,
+Item-wise Purchase History,Ürün bazında Alış Geçmişi,
+Item-wise Purchase Register,Ürün bazında Alış Kaydı,
+Item-wise Sales History,Ürün bazında Satış Geçmişi,
+Item-wise Sales Register,Ürün bazında Satış Kaydı,
+Items To Be Requested,Talep Edilecek Ürünler,
 Reserved,Ayrılmış,
-Itemwise Recommended Reorder Level,Ürünnin Önerilen Yeniden Sipariş Düzeyi,
-Lead Details,Potansiyel Müşteri Detayları,
-Lead Owner Efficiency,Kurşun Sahibi Verimliliği,
+Itemwise Recommended Reorder Level,Ürün için Önerilen Yeniden Sipariş Düzeyi,
+Lead Details,Müşteri Adayı Detayı,
+Lead Owner Efficiency,Aday Sahibi Verimliliği,
 Loan Repayment and Closure,Kredi Geri Ödeme ve Kapanışı,
 Loan Security Status,Kredi Güvenlik Durumu,
-Lost Opportunity,Fırsat Kayıp,
+Lost Opportunity,Fırsat Kaybedildi,
 Maintenance Schedules,Bakım Programları,
-Material Requests for which Supplier Quotations are not created,Kendisi için tedarikçi fiyat teklifi oluşturulmamış Malzeme Talepleri,
-Monthly Attendance Sheet,Aylık Katılım Cetveli,
+Material Requests for which Supplier Quotations are not created,Tedarikçi Tekliflerinin oluşturulmadığı Malzeme Talepleri,
+Monthly Attendance Sheet,Aylık Katılım Çetveli,
 Open Work Orders,İş Emirlerini Aç,
 Qty to Deliver,Teslim Edilecek Miktar,
 Patient Appointment Analytics,Hasta Randevu Analizi,
-Payment Period Based On Invoice Date,Fatura Tarihine Dayalı Ödeme Süresi,
-Pending SO Items For Purchase Request,Satın Alma Talebi bekleyen PO Ürünleri,
+Payment Period Based On Invoice Date,Fatura Tarihine göre Ödeme Dönemi,
+Pending SO Items For Purchase Request,Satınalma Talebi bekleyen PO Ürünleri,
 Procurement Tracker,Tedarik Takibi,
-Product Bundle Balance,Ürün Paketi Dengesi,
-Production Analytics,Üretim Analytics,
+Product Bundle Balance,Ürün Bundle Bakiyesi,
+Production Analytics,Üretim Analitiği,
 Profit and Loss Statement,Kar ve Zarar Tablosu,
-Profitability Analysis,karlılık Analizi,
+Profitability Analysis,Karlılık Analizi,
 Project Billing Summary,Proje Fatura Özeti,
-Project wise Stock Tracking,Proje bilge Stok Takibi,
-Project wise Stock Tracking ,Proje bilgisi Stok Takibi,
-Prospects Engaged But Not Converted,"Etkilenen, ancak Dönüştürülmeyen Beklentiler",
-Purchase Analytics,Satın alma analizleri,
-Purchase Invoice Trends,Satın Alma Fatura Analizi,
+Project wise Stock Tracking,Proje bazlı Stok Takibi,
+Project wise Stock Tracking ,Proje bazlı Stok Takibi ,
+Prospects Engaged But Not Converted,İlgilenilen Potansiyel Müşteriler,
+Purchase Analytics,Satınalma Analizi,
+Purchase Invoice Trends,Satınalma Faturası Analizi,
 Qty to Receive,Alınacak Miktar,
-Received Qty Amount,Alınan Miktar Miktarı,
+Received Qty Amount,Alınan Miktar Tutarı,
 Billed Qty,Faturalı Miktar,
-Purchase Order Trends,Satın Alma Sipariş Analizi,
-Purchase Receipt Trends,Satın Alma Teslim Alma Analizi,
-Purchase Register,Satın alma kaydı,
-Quotation Trends,Teklif Trendleri,
-Received Items To Be Billed,Faturalanacak  Alınan Malzemeler,
+Purchase Order Trends,Satınalma Sipariş Analizi,
+Purchase Receipt Trends,Satınalma İrsaliyesi Analizi,
+Purchase Register,Satınalma Kaydı,
+Quotation Trends,Teklif Analizi,
+Received Items To Be Billed,Faturalanacak Malzemeler,
 Qty to Order,Sipariş Miktarı,
-Requested Items To Be Transferred,Transfer edilmesi istenen Ürünler,
-Qty to Transfer,Transfer edilecek Miktar,
-Salary Register,Maaş Kayıt,
+Requested Items To Be Transferred,Aktarılması istenen Ürünler,
+Qty to Transfer,Transfer Yapılacak Miktar,
+Salary Register,Maaş Kaydı,
 Sales Analytics,Satış Analizleri,
-Sales Invoice Trends,Satış Faturası Trendler,
-Sales Order Trends,Satış Sipariş Trendler,
+Sales Invoice Trends,Satış Faturası Analizi,
+Sales Order Trends,Satış Siparişi Analizi,
 Sales Partner Commission Summary,Satış Ortağı Komisyonu Özeti,
-Sales Partner Target Variance based on Item Group,Ürün Grubuna Göre Satış Ortağı Hedef Varyansı,
+Sales Partner Target Variance based on Item Group,Ürün Grubuna göre Satış Ortağı Hedef Varyansı,
 Sales Partner Transaction Summary,Satış Ortağı İşlem Özeti,
 Sales Partners Commission,Satış Ortakları Komisyonu,
 Invoiced Amount (Exclusive Tax),Faturalanan Tutar (Hariç Vergi),
 Average Commission Rate,Ortalama Komisyon Oranı,
 Sales Payment Summary,Satış Ödeme Özeti,
-Sales Person Commission Summary,Satış Personeli Komisyon Özeti,
-Sales Person Target Variance Based On Item Group,Satış Grubu Bazında Ürün Grubu Bazında Hedef Varyansı,
+Sales Person Commission Summary,Satış Personeli Komisyonu Özeti,
+Sales Person Target Variance Based On Item Group,Ürün Grubuna göre Satış Elemanı Hedef Sapması,
 Sales Person-wise Transaction Summary,Satış Personeli bilgisi İşlem Özeti,
-Sales Register,Satış Kayıt,
+Sales Register,Satış Kaydı,
 Serial No Service Contract Expiry,Seri No Hizmet Sözleşmesi Vadesi,
 Serial No Status,Seri No Durumu,
 Serial No Warranty Expiry,Seri No Garanti Bitiş tarihi,
-Stock Ageing,Stok Yaşlanması,
+Stock Ageing,Stok Yaşlandırma,
 Stock and Account Value Comparison,Stok ve Hesap Değeri Karşılaştırması,
-Stock Projected Qty,Öngörülen Stok Miktarı,
-Student and Guardian Contact Details,Öğrenci ve Guardian İletişim Bilgileri,
-Student Batch-Wise Attendance,Öğrenci Toplu Wise Seyirci,
-Student Fee Collection,Öğrenci Ücret Toplama,
+Stock Projected Qty,Stok Öngörülen Miktarı,
+Student and Guardian Contact Details,Öğrenci ve Veli İletişim Bilgileri,
+Student Batch-Wise Attendance,Öğrenci Toplu Katılım,
+Student Fee Collection,Öğrenci Harcı Tahsilatı,
 Student Monthly Attendance Sheet,Öğrenci Aylık Hazirun Cetveli,
-Subcontracted Item To Be Received,Alınacak Taşeron Madde,
-Subcontracted Raw Materials To Be Transferred,Taşınacak Hammadde Aktarılacak,
-Supplier Ledger Summary,Tedarikçi Defterinin Özeti,
+Subcontracted Item To Be Received,Alınacak Fason Ürünler,
+Subcontracted Raw Materials To Be Transferred,Transfer edilecek Fason Hammaddeler,
+Supplier Ledger Summary,Tedarikçi Cari Defter Özeti,
 Supplier-Wise Sales Analytics,Tedarikçi Satış Analizi,
 Support Hour Distribution,Destek Saat Dağılımı,
-TDS Computation Summary,TDS Hesap Özeti,
+TDS Computation Summary,TDS Özet Hesabı,
 TDS Payable Monthly,TDS Aylık Ücretli,
-Territory Target Variance Based On Item Group,Öğe Grubuna Göre Bölge Hedefi Varyansı,
+Territory Target Variance Based On Item Group,Ürün Grubuna göre Bölge Hedefi Varyansı,
 Territory-wise Sales,Bölge Satışları,
 Total Stock Summary,Toplam Stok Özeti,
-Trial Balance,Mizan,
-Trial Balance (Simple),Deneme Dengesi (Basit),
-Trial Balance for Party,Parti için Deneme Dengesi,
+Trial Balance,Geçici Mizan,
+Trial Balance (Simple),Geçici Mizan (Basit),
+Trial Balance for Party,Cari için Geçici Mizan,
 Unpaid Expense Claim,Ödenmemiş Gider Talebi,
-Warehouse wise Item Balance Age and Value,Depo bilge Öğe Bakiye Yaş ve Değer,
+Warehouse wise Item Balance Age and Value,Depo bazında Öğe Bakiye Yaşı ve Değeri,
 Work Order Stock Report,İş Emri Stok Raporu,
-Work Orders in Progress,Devam Eden İş Emirleri,
+Work Orders in Progress,Devam eden İş Emirleri,
 Validation Error,Doğrulama Hatası,
 Automatically Process Deferred Accounting Entry,Ertelenmiş Muhasebe Girişini Otomatik Olarak İşle,
-Bank Clearance,Banka Havalesi,
+Bank Clearance,Banka Gümrükleme,
 Bank Clearance Detail,Banka Gümrükleme Detayı,
-Update Cost Center Name / Number,Maliyet Merkezi Adını / Numarasını Güncelleme,
-Journal Entry Template,Dergi Giriş Şablonu,
+Update Cost Center Name / Number,Maliyet Merkezi Adını / Sunucunu Güncelleme,
+Journal Entry Template,Yevmiye Kaydı Şablonu,
 Template Title,Şablon Başlığı,
-Journal Entry Type,Yevmiye Kayıt Türü,
+Journal Entry Type,Yevmiye Kaydı Türü,
 Journal Entry Template Account,Yevmiye Kayıt Şablon Hesabı,
 Process Deferred Accounting,Ertelenmiş Muhasebe İşlemi,
-Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Manuel giriş oluşturulamaz! Hesap ayarlarında ertelenmiş muhasebe için otomatik girişi devre dışı bırakın ve tekrar deneyin,
-End date cannot be before start date,"Bitiş tarihi, başlangıç tarihinden önce olamaz",
-Total Counts Targeted,Hedeflenen Toplam Sayımlar,
-Total Counts Completed,Tamamlanan Toplam Sayımlar,
-Counts Targeted: {0},Hedeflenen Sayımlar: {0},
-Payment Account is mandatory,Ödeme Hesabı zorunludur,
-"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","İşaretliyse, tutarın tamamı, herhangi bir beyan veya kanıt sunmadan gelir vergisi hesaplanmadan önce vergiye tabi gelirden düşülecektir.",
+Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Manuel giriş oluşturulamaz! Hesap ayarlarında ertelenmiş muhasebe için otomatik giriş devre dışı bırakın ve tekrar deneyin,
+End date cannot be before start date,"Bitiş tarihi, başlangıç bitişinden önce olamaz",
+Total Counts Targeted,Hedeflenen Toplam Sayım,
+Total Counts Completed,Tamamlanan Toplam Sayım,
+Counts Targeted: {0},Hedeflenen Sayım: {0},
+Payment Account is mandatory,Ödeme Hesabı verileri,
+"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","İşaretliyse, tutarın tamamı, herhangi bir beyan veya kanıt sunmaktan gelir vergisi hesabından önce vergiye tabi gelirden düşülecektir.",
 Disbursement Details,Harcama Ayrıntıları,
 Material Request Warehouse,Malzeme Talebi Deposu,
-Select warehouse for material requests,Malzeme talepleri için depo seçin,
+Select warehouse for material requests,Malzeme aksesuarları için depo seçin,
 Transfer Materials For Warehouse {0},Depo İçin Transfer Malzemeleri {0},
-Production Plan Material Request Warehouse,Üretim Planı Malzeme Talebi Depo,
-Sets 'Source Warehouse' in each row of the items table.,Kalemler tablosunun her satırında &#39;Kaynak Depo&#39; ayarlar.,
-Sets 'Target Warehouse' in each row of the items table.,Kalem tablosunun her satırında &#39;Hedef Depo&#39; ayarlar.,
-Show Cancelled Entries,İptal Edilen Girişleri Göster,
-Backdated Stock Entry,Geriye Dönük Stok Girişi,
+Production Plan Material Request Warehouse,Üretim Planı Malzeme Talebi Deposu,
+Sets 'Source Warehouse' in each row of the items table.,Ögeler tablosunun her satırında &#39;Kaynak Depo&#39; ayarlar.,
+Sets 'Target Warehouse' in each row of the items table.,Ögeler tablosunun her satırında &#39;Hedef Depo&#39; ayarlar.,
+Show Cancelled Entries,İptal Edilen Kayıtları Göster,
+Backdated Stock Entry,Geriye dönük Stok Hareketi,
 Row #{}: Currency of {} - {} doesn't matches company currency.,Satır # {}: {} - {} para birimi şirket para birimiyle eşleşmiyor.,
-{} Assets created for {},{} İçin oluşturulan {} varlıklar,
+{} Assets created for {},{} İçin Ortamlar {} Varlıklar,
 {0} Number {1} is already used in {2} {3},{0} {1} sayısı zaten {2} {3} içinde kullanılıyor,
-Update Bank Clearance Dates,Banka Gümrükleme Tarihlerini Güncelleme,
+Update Bank Clearance Dates,Banka Gümrük Tarihlerini Güncelleme,
 Healthcare Practitioner: ,Sağlık Hekimi:,
-Lab Test Conducted: ,Yapılan Laboratuar Testi:,
-Lab Test Event: ,Laboratuvar Test Etkinliği:,
-Lab Test Result: ,Laboratuvar Test Sonucu:,
-Clinical Procedure conducted: ,Uygulanan Klinik Prosedür:,
+Lab Test Conducted: ,Yapılan Laboratuvar Testi: ,
+Lab Test Event: ,Laboratuvar Test Etkinliği: ,
+Lab Test Result: ,Laboratuvar Test Sonucu: ,
+Clinical Procedure conducted: ,Uygulanan Klinik hükümleri: ,
 Therapy Session Charges: {0},Terapi Seansı Ücretleri: {0},
-Therapy: ,Terapi:,
-Therapy Plan: ,Terapi Planı:,
-Total Counts Targeted: ,Hedeflenen Toplam Sayımlar:,
-Total Counts Completed: ,Tamamlanan Toplam Sayımlar:,
+Therapy: ,Terapi: ,
+Therapy Plan: ,Terapi Planı: ,
+Total Counts Targeted: ,Hedeflenen Toplam Sayımlar: ,
+Total Counts Completed: ,Tamamlanan Toplam Sayımlar: ,
 Andaman and Nicobar Islands,Andaman ve Nikobar Adaları,
-Andhra Pradesh,Andhra Pradesh,
+Andhra Pradesh,Andra Pradeş,
 Arunachal Pradesh,Arunaçal Pradeş,
 Assam,Assam,
 Bihar,Bihar,
 Chandigarh,Chandigarh,
-Chhattisgarh,Chhattisgarh,
+Chhattisgarh,Chattisgarh,
 Dadra and Nagar Haveli,Dadra ve Nagar Haveli,
 Daman and Diu,Daman ve Diu,
 Delhi,Delhi,
 Goa,Goa,
-Gujarat,Gujarat,
+Gujarat,Gucerat,
 Haryana,Haryana,
-Himachal Pradesh,Himachal Pradesh,
+Himachal Pradesh,Himaşal Pradeş,
 Jammu and Kashmir,Jammu ve Keşmir,
 Jharkhand,Carkhand,
 Karnataka,Karnataka,
 Kerala,Kerala,
 Lakshadweep Islands,Lakshadweep Adaları,
-Madhya Pradesh,Madhya Pradesh,
-Maharashtra,Maharashtra,
+Madhya Pradesh,Madya Pradeş,
+Maharashtra,Maharaştra,
 Manipur,Manipur,
 Meghalaya,Meghalaya,
 Mizoram,Mizoram,
 Nagaland,Nagaland,
-Odisha,Odisha,
+Odisha,Odişa,
 Other Territory,Diğer Bölge,
-Pondicherry,Pondicherry,
-Punjab,Pencap,
+Pondicherry,Kiraz,
+Punjab,Kalem Kapağı,
 Rajasthan,Rajasthan,
 Sikkim,Sikkim,
 Tamil Nadu,Tamil Nadu,
 Telangana,Telangana,
-Tripura,Tripura,
-Uttar Pradesh,Uttar Pradesh,
+Tripura,Tripu,
+Uttar Pradesh,Uttar Pradeş,
 Uttarakhand,Uttarkand,
 West Bengal,Batı Bengal,
 Is Mandatory,Zorunludur,
-Published on,yayınlandı,
-Service Received But Not Billed,Hizmet Alındı Ama Faturalandırılmadı,
+Published on,Yayınlanma tarihi,
+Service Received But Not Billed,Hizmet Alındı ama Faturalandırılmadı,
 Deferred Accounting Settings,Ertelenmiş Hesap Ayarları,
-Book Deferred Entries Based On,Defterin Ertelenmiş Girişlerine Dayalı,
+Book Deferred Entries Based On,Defter Ertelenmiş Kayıtları şuna göre,
 Days,Günler,
 Months,Aylar,
 Book Deferred Entries Via Journal Entry,Yevmiye Kaydıyla Ertelenen Girişleri Ayırtın,
-Submit Journal Entries,Dergi Girişlerini Gönderin,
-If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Bu işaretlenmemişse, Dergi Girişleri Taslak durumunda kaydedilecek ve manuel olarak gönderilmeleri gerekecektir.",
-Enable Distributed Cost Center,Dağıtılmış Maliyet Merkezini Etkinleştir,
+Submit Journal Entries,Yevmiye Kayıtlarını Gönderin,
+If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,Bu işaretlenmezse Yevmiye Kayıtları Taslak durumuna kaydedilir ve manuel olarak gönderilmesi gerekir,
+Enable Distributed Cost Center,Dağıtılmış Maliyet Merkezini Etkinleştirin,
 Distributed Cost Center,Dağıtılmış Maliyet Merkezi,
 Dunning,ihtar,
 DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
 Overdue Days,Gecikmiş Günler,
 Dunning Type,İhtar türü,
-Dunning Fee,İhtar ücreti,
+Dunning Fee,İhtar Ücreti,
 Dunning Amount,İhtar Tutarı,
 Resolved,Çözüldü,
 Unresolved,Çözülmemiş,
 Printing Setting,Baskı Ayarı,
-Body Text,Gövde metni,
+Body Text,gövde metni,
 Closing Text,Kapanış Metni,
-Resolve,çözmek,
+Resolve,Çözüm,
 Dunning Letter Text,İhtar Mektubu Metni,
 Is Default Language,Varsayılan Dil,
 Letter or Email Body Text,Mektup veya E-posta Gövde Metni,
@@ -8702,7 +8702,7 @@
 Body and Closing Text Help,Gövde ve Kapanış Metni Yardımı,
 Overdue Interval,Gecikme Aralığı,
 Dunning Letter,İhtarname,
-"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Bu bölüm, kullanıcının, Baskıda kullanılabilen dile bağlı olarak İhtar Türü için İhtar Mektubunun Ana ve Kapanış metnini ayarlamasına olanak tanır.",
+"This section allows the user to set the Body and Closing text of the Dunning Letter for the Dunning Type based on language, which can be used in Print.","Bu bölüm, kullanıcılar, Baskıda yapılandırmaları dile bağlı olarak İhtar için İhtar Mektubunun Ana ve Kapanış görüntüsünün türünü düzenlemesine olanak tanır.",
 Reference Detail No,Referans Detay No,
 Custom Remarks,Özel Açıklamalar,
 Please select a Company first.,Lütfen önce bir Şirket seçin.,
@@ -8715,10 +8715,10 @@
 Closing Amount,Kapanış Tutarı,
 POS Closing Entry Taxes,POS Kapanış Giriş Vergileri,
 POS Invoice,POS Faturası,
-ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
+ACC-PSINV-.YYYY.-,ACC-PSTERS-.YYYY.-,
 Consolidated Sales Invoice,Konsolide Satış Faturası,
-Return Against POS Invoice,POS Faturası Karşılığı İade,
-Consolidated,Konsolide,
+Return Against POS Invoice,POS Fatura Karşılığı İadesi,
+Consolidated,konsolide,
 POS Invoice Item,POS Fatura Öğesi,
 POS Invoice Merge Log,POS Fatura Birleştirme Günlüğü,
 POS Invoices,POS Faturaları,
@@ -8726,7 +8726,7 @@
 POS Invoice Reference,POS Fatura Referansı,
 Set Posting Date,Kayıt Tarihini Ayarla,
 Opening Balance Details,Bakiye Ayrıntılarını Açma,
-POS Opening Entry Detail,POS Açılış Giriş Detayı,
+POS Opening Entry Detail,POS Açılış Girişi Detayı,
 POS Payment Method,POS Ödeme Yöntemi,
 Payment Methods,Ödeme metodları,
 Process Statement Of Accounts,Hesapların İşlem Bildirimi,
@@ -8741,14 +8741,14 @@
 Filter Duration (Months),Filtre Süresi (Ay),
 CC To,CC için,
 Help Text,Yardım Metni,
-Emails Queued,Sıraya Alınan E-postalar,
+Emails Queued,Sıraya alınan E-postalar,
 Process Statement Of Accounts Customer,Müşteri Hesaplarının İşlem Beyanı,
 Billing Email,Fatura E-postası,
 Primary Contact Email,Birincil İletişim E-postası,
 PSOA Cost Center,PSOA Maliyet Merkezi,
 PSOA Project,PSOA Projesi,
 ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
-Supplier GSTIN,Tedarikçi GSTIN,
+Supplier GSTIN,tedarikçi GSTIN,
 Place of Supply,Tedarik Yeri,
 Select Billing Address,Fatura Adresini Seç,
 GST Details,GST Ayrıntıları,
@@ -8757,31 +8757,31 @@
 Registered Composition,Kayıtlı Beste,
 Unregistered,Kayıtlı değil,
 SEZ,SEZ,
-Overseas,Yurtdışı,
+Overseas,oryantal,
 UIN Holders,UIN Sahipleri,
 With Payment of Tax,Verginin Ödenmesi ile,
 Without Payment of Tax,Vergi Ödemesiz,
-Invoice Copy,Fatura fotokopisi,
+Invoice Copy,fatura tiyatrosu,
 Original for Recipient,Alıcı için Orijinal,
-Duplicate for Transporter,Transporter için kopya,
-Duplicate for Supplier,Tedarikçi için Kopya,
+Duplicate for Transporter,Nakliyeci için Çoğalt,
+Duplicate for Supplier,Tedarikçi için Çoğalt,
 Triplicate for Supplier,Tedarikçi için üç kopya,
-Reverse Charge,Geri tepki,
+Reverse Charge,Karşı Ödemeli,
 Y,Y,
 N,N,
 E-commerce GSTIN,E-ticaret GSTIN,
 Reason For Issuing document,Belge Düzenleme Nedeni,
 01-Sales Return,01-Satış İadesi,
-02-Post Sale Discount,02-Sonradan Satış İndirimi,
+02-Post Sale Discount,02-Satış Sonrası İndirim,
 03-Deficiency in services,03-Hizmetlerde Eksiklik,
 04-Correction in Invoice,04-Faturada Düzeltme,
-05-Change in POS,05-POS&#39;ta Değişim,
-06-Finalization of Provisional assessment,06-Geçici değerlendirmenin sonuçlandırılması,
+05-Change in POS,05-POS'ta Değişim,
+06-Finalization of Provisional assessment,06-Geçici Dğerlemenin Sonuçlandırılması,
 07-Others,07-Diğerleri,
 Eligibility For ITC,ITC için Uygunluk,
-Input Service Distributor,Girdi Hizmeti Dağıtıcısı,
-Import Of Service,Hizmet İthali,
-Import Of Capital Goods,Sermaye Malları İthalatı,
+Input Service Distributor,Girdi Hizmet Dağıtıcısı,
+Import Of Service,Hizmet İthalatı,
+Import Of Capital Goods,Yatırım Malları İthalatı,
 Ineligible,Uygun değil,
 All Other ITC,Tüm Diğer ITC,
 Availed ITC Integrated Tax,ITC Entegre Vergisinden yararlanıldı,
@@ -8795,43 +8795,43 @@
 Is Consolidated,Konsolide Edildi,
 Billing Address GSTIN,Fatura Adresi GSTIN,
 Customer GSTIN,Müşteri GSTIN,
-GST Transporter ID,GST Taşıyıcı Kimliği,
-Distance (in km),Mesafe (km cinsinden),
+GST Transporter ID,GST Nakliyeci ID,
+Distance (in km),Mesafe (km),
 Road,Yol,
 Air,Hava,
 Rail,Demiryolu,
-Ship,Gemi,
+Ship,Denizyolu,
 GST Vehicle Type,GST Araç Türü,
 Over Dimensional Cargo (ODC),Boyutlu Kargo (ODC),
 Consumer,Tüketici,
-Deemed Export,İhracat olarak kabul edilen,
-Port Code,Port Kodu,
+Deemed Export,İhracat olarak kabul edildi,
+Port Code,Liman Kodu,
  Shipping Bill Number,Kargo Fatura Numarası,
 Shipping Bill Date,Sevkiyat Fatura Tarihi,
 Subscription End Date,Abonelik Bitiş Tarihi,
 Follow Calendar Months,Takvim Aylarını Takip Edin,
-If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Bu kontrol edilirse, mevcut fatura başlangıç tarihine bakılmaksızın takvim ayı ve üç aylık başlangıç tarihlerinde sonraki yeni faturalar oluşturulacaktır.",
-Generate New Invoices Past Due Date,Son Tarihi Geçmiş Yeni Faturalar Oluşturun,
+If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Bu kontrol edilirse, faturanın mevcut başlangıç dönemlerinde geçen takvim ayı ve üç aylık başlangıç tarihlerinde bir sonraki yeni faturalar oluşturulacaktır.",
+Generate New Invoices Past Due Date,Son Tarihi Geçmiş Yeni Faturalar Hesabı,
 New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Mevcut faturalar ödenmemiş veya vadesi geçmiş olsa bile, plana göre yeni faturalar oluşturulacaktır.",
-Document Type ,döküman tipi,
+Document Type ,Belge Türü,
 Subscription Price Based On,Abonelik Fiyatı,
 Fixed Rate,Sabit Oran,
 Based On Price List,Fiyat Listesine Göre,
 Monthly Rate,Aylık Oran,
 Cancel Subscription After Grace Period,Ek Süreden Sonra Aboneliği İptal Et,
-Source State,Kaynak Devlet,
-Is Inter State,Inter State mi,
-Purchase Details,Satınalma detayları,
+Source State,kaynak devlet,
+Is Inter State,Devletlerarası mil,
+Purchase Details,Satın alma detayları,
 Depreciation Posting Date,Amortisman Kaydı Tarihi,
-"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Varsayılan olarak, Tedarikçi Adı girilen Tedarikçi Adına göre ayarlanır. Tedarikçilerin bir",
- choose the 'Naming Series' option.,&#39;Adlandırma Serisi&#39; seçeneğini seçin.,
-Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Yeni bir Satın Alma işlemi oluştururken varsayılan Fiyat Listesini yapılandırın. Ürün fiyatları bu Fiyat Listesinden alınacaktır.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Bu seçenek &#39;Evet&#39; olarak yapılandırılırsa, ERPNext, önce bir Satın Alma Siparişi oluşturmadan bir Satın Alma Faturası veya Fiş oluşturmanızı engeller. Bu yapılandırma, belirli bir tedarikçi için, Tedarikçi ana sayfasındaki &#39;Satın Alma Siparişi Olmadan Satın Alma Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek geçersiz kılınabilir.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Bu seçenek &#39;Evet&#39; olarak yapılandırılırsa, ERPNext, önce bir Satın Alma Fişi oluşturmadan bir Satın Alma Faturası oluşturmanızı engeller. Bu yapılandırma, belirli bir tedarikçi için Tedarikçi ana sayfasındaki &#39;Satın Alma Fişi Olmadan Satın Alma Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek geçersiz kılınabilir.",
+"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Varsayılan olarak, tedarikçi Adı girilen tedarikçi Adına göre ayarlanır. tedarikçilerin bir",
+ choose the 'Naming Series' option.,'Adlandırma Serisi' seçebilirsin.,
+Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Yeni bir Satınalma işlemi oluştururken varsayılan Fiyat Listesini yapılandırın. Ürün fiyatları bu Fiyat Listesinden alınacaktır.,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice or Receipt without creating a Purchase Order first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Order' checkbox in the Supplier master.","Bu seçenek &#39;Evet&#39; olarak yapılandırırsa, ERPNext, önce bir Satınalma Siparişi oluşturmadan bir Satınalma Faturası veya Fiş oluşturmanızı engelleyin. Bu koruyucu, belirli bir tedarikçi için, tedarikçi ana sayfasındaki &#39;Satınalma Siparişi Olmadan Satınalma Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek geçersiz kılınabilir.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Purchase Invoice without creating a Purchase Receipt first. This configuration can be overridden for a particular supplier by enabling the 'Allow Purchase Invoice Creation Without Purchase Receipt' checkbox in the Supplier master.","Bu seçenek &#39;Evet&#39; olarak yapılandırırsa, ERPNext, önce bir Satınalma Fişi oluşturmadan bir Satınalma Faturası oluşturmanızı engeller. Bu koruma, belirli bir tedarikçi için Tedarikçi ana sayfasındaki &#39;Satınalma Fişi Olmadan Satınalma Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek geçersiz kılınabilir.",
 Quantity & Stock,Miktar ve Stok,
 Call Details,Çağrı Ayrıntıları,
-Authorised By,Tarafından yetkilendirildi,
-Signee (Company),Signee (Şirket),
+Authorised By,tarafından yetkilendirildi,
+Signee (Company),İmza Sahibi (Şirket),
 Signed By (Company),İmzalayan (Şirket),
 First Response Time,İlk Yanıt Süresi,
 Request For Quotation,Teklif Talebi,
@@ -8840,76 +8840,76 @@
 Add to Topics,Konulara Ekle,
 ...Adding Article to Topics,... Konulara Makale Ekleme,
 Add Article to Topics,Konulara Makale Ekle,
-This article is already added to the existing topics,Bu makale zaten mevcut konulara eklendi,
+This article is already added to the existing topics,Bu makale zaten mevcut üzerine eklendi,
 Add to Programs,Programlara Ekle,
-Programs,Programlar,
+Programs,programlı,
 ...Adding Course to Programs,... Programlara Ders Ekleme,
 Add Course to Programs,Programlara Ders Ekle,
 This course is already added to the existing programs,Bu kurs zaten mevcut programlara eklendi,
 Learning Management System Settings,Öğrenme Yönetim Sistemi Ayarları,
-Enable Learning Management System,Öğrenim Yönetim Sistemini Etkinleştir,
+Enable Learning Management System,Öğrenim Yönetim Sistemini Etkinleştirin,
 Learning Management System Title,Öğrenme Yönetim Sistemi Başlığı,
 ...Adding Quiz to Topics,... Konulara Sınav Ekleniyor,
 Add Quiz to Topics,Konulara Sınav Ekle,
-This quiz is already added to the existing topics,"Bu sınav, mevcut konulara zaten eklendi",
+This quiz is already added to the existing topics,"Bu sınav, mevcut durumda zaten eklendi",
 Enable Admission Application,Kabul Başvurusunu Etkinleştir,
 EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
-Marking attendance,Katılım işaretleniyor,
+Marking attendance,katılım işaretleniyor,
 Add Guardians to Email Group,Velileri E-posta Grubuna Ekle,
 Attendance Based On,Şuna Göre Katılım,
-Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Öğrencinin herhangi bir durumda enstitüye katılmak veya enstitüyü temsil etmek üzere enstitüye katılmaması durumunda öğrenciyi mevcut olarak işaretlemek için bunu işaretleyin.,
+Check this to mark the student as present in case the student is not attending the institute to participate or represent the institute in any event.\n\n,Öğrencinin herhangi bir durumda bir enstitüye kaydolması veya enstitüyü ifade etmek üzere enstitüye katılmaması durumunda öğrencinin mevcut olarak üniversiteye girmesi için bunu yırtması.,
 Add to Courses,Kurslara Ekle,
 ...Adding Topic to Courses,... Derslere Konu Ekleniyor,
 Add Topic to Courses,Derslere Konu Ekle,
 This topic is already added to the existing courses,Bu konu zaten mevcut kurslara eklendi,
-"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order",Shopify&#39;ın siparişte bir müşterisi yoksa siparişleri senkronize ederken sistem sipariş için varsayılan müşteriyi dikkate alır.,
-The accounts are set by the system automatically but do confirm these defaults,"Hesaplar sistem tarafından otomatik olarak belirlenir, ancak bu varsayılanları onaylar",
+"If Shopify does not have a customer in the order, then while syncing the orders, the system will consider the default customer for the order",Shopify'ın siparişte bir müşterisi yoksa siparişleri senkronize ederken sistem siparişi için varsayılan müşteriyi dikkate alır.,
+The accounts are set by the system automatically but do confirm these defaults,"Hesaplar sistemi tarafından otomatik olarak belirlenir, ancak bu varsayılanları onaylar",
 Default Round Off Account,Varsayılan Yuvarlama Hesabı,
 Failed Import Log,Günlüğü İçe Aktarma Başarısız,
 Fixed Error Log,Sabit Hata Günlüğü,
-Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,"{0} şirketi zaten var. Devam etmek, Şirket ve Hesap Planının üzerine yazacaktır",
+Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,"{0} şirketi zaten var. Devam etmek, Şirket ve Hesap Planının üzerine yazacaktır.",
 Meta Data,Meta Verileri,
-Unresolve,Çöz,
+Unresolve,Çünkü,
 Create Document,Belge Oluştur,
 Mark as unresolved,Çözümlenmemiş olarak işaretle,
 TaxJar Settings,TaxJar Ayarları,
 Sandbox Mode,Korumalı Alan Modu,
 Enable Tax Calculation,Vergi Hesaplamasını Etkinleştir,
-Create TaxJar Transaction,TaxJar İşlemi Oluşturun,
-Credentials,Kimlik bilgileri,
+Create TaxJar Transaction,TaxJar İşlemi Oluşturma,
+Credentials,kimlik bilgileri,
 Live API Key,Canlı API Anahtarı,
 Sandbox API Key,Sandbox API Anahtarı,
 Configuration,Yapılandırma,
 Tax Account Head,Vergi Hesap Başkanı,
 Shipping Account Head,Sevkiyat Hesap Başkanı,
 Practitioner Name,Uygulayıcı Adı,
-Enter a name for the Clinical Procedure Template,Klinik Prosedür Şablonu için bir ad girin,
-Set the Item Code which will be used for billing the Clinical Procedure.,Klinik Prosedürü faturalandırmak için kullanılacak Ürün Kodunu ayarlayın.,
-Select an Item Group for the Clinical Procedure Item.,Klinik Prosedür Öğesi için bir Öğe Grubu seçin.,
-Clinical Procedure Rate,Klinik Prosedür Oranı,
-Check this if the Clinical Procedure is billable and also set the rate.,Klinik Prosedürün faturalandırılabilir olup olmadığını kontrol edin ve ücreti de ayarlayın.,
-Check this if the Clinical Procedure utilises consumables. Click ,Klinik Prosedür sarf malzemeleri kullanıyorsa bunu kontrol edin. Tıklayın,
+Enter a name for the Clinical Procedure Template,Klinik muhafaza Şablonu için bir ad girin,
+Set the Item Code which will be used for billing the Clinical Procedure.,Klinik bölümleri faturalandırmak için kullanım Ürün Kodunu ayarlayın.,
+Select an Item Group for the Clinical Procedure Item.,Klinik göz Öğesi için bir Öğe Grubu seçin.,
+Clinical Procedure Rate,Klinik çevre Oranı,
+Check this if the Clinical Procedure is billable and also set the rate.,Klinik bölümlerin faturalandırılabilir olup olmadığı kontrol edin ve maliyet de ayarı.,
+Check this if the Clinical Procedure utilises consumables. Click ,Klinik çevre sarf malzemelerini kullanansa bunu kontrol edin. Tıklayın,
  to know more,daha fazlasını bilmek,
-"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Ayrıca şablon için Tıp Departmanını da ayarlayabilirsiniz. Belgeyi kaydettikten sonra, bu Klinik Prosedürün faturalandırılması için otomatik olarak bir Öğe oluşturulacaktır. Daha sonra Hastalar için Klinik Prosedürler oluştururken bu şablonu kullanabilirsiniz. Şablonlar sizi her seferinde gereksiz verileri doldurmaktan kurtarır. Ayrıca Laboratuar Testleri, Terapi Oturumları vb. Gibi diğer işlemler için şablonlar oluşturabilirsiniz.",
+"You can also set the Medical Department for the template. After saving the document, an Item will automatically be created for billing this Clinical Procedure. You can then use this template while creating Clinical Procedures for Patients. Templates save you from filling up redundant data every single time. You can also create templates for other operations like Lab Tests, Therapy Sessions, etc.","Ayrıca şablon için Tıp Departmanını da ayarlayabilirsiniz. Belgeyi kaydettikten sonra, bu Klinik davanın faturalandırılması için otomatik olarak bir Öğe oluşturulacaktır. Daha sonra Hastalar için Klinik gözlemler oluştururken bu şablonu kullanabilirsiniz. Şablonlar sizi her fırsatta gereksiz verileri doldurmaktan kurtarır. Ayrıca Laboratuar Testleri, Terapi Oturumları vb. Gibi diğer yapılar için şablonlar oluşturabilirsiniz.",
 Descriptive Test Result,Tanımlayıcı Test Sonucu,
 Allow Blank,Boşluğa İzin Ver,
 Descriptive Test Template,Tanımlayıcı Test Şablonu,
-"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Bir Pratisyen için Bordro ve diğer İKYS işlemlerini takip etmek istiyorsanız, bir Çalışan oluşturun ve buraya bağlayın.",
-Set the Practitioner Schedule you just created. This will be used while booking appointments.,"Yeni oluşturduğunuz Uygulayıcı Programını ayarlayın. Bu, randevu alırken kullanılacaktır.",
+"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Bir Pratisyen için Bordro ve diğer İKYS'leri takip etmek istiyor, bir çalışanı çalıştırıyor ve burada bulunuyor.",
+Set the Practitioner Schedule you just created. This will be used while booking appointments.,"Yeni oluşturacağınız Uygulayıcı Program ayarını yapın. Bu, randevu almaktır.",
 Create a service item for Out Patient Consulting.,Out Patient Consulting için bir hizmet kalemi oluşturun.,
 "If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Bu Sağlık Bakımı Uygulayıcısı Yatan Hasta Departmanı için çalışıyorsa, Yatan Hasta Ziyaretleri için bir hizmet öğesi oluşturun.",
 Set the Out Patient Consulting Charge for this Practitioner.,Bu Uygulayıcı için Hasta Danışma Ücretini Belirleyin.,
-"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Bu Sağlık Bakımı Uygulayıcısı aynı zamanda Yatan Hasta Bölümü için çalışıyorsa, bu Uygulayıcı için yatarak hasta ziyareti ücretini ayarlayın.",
-"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","İşaretlenirse, her Hasta için bir müşteri oluşturulur. Bu Müşteriye karşı Hasta Faturaları oluşturulacaktır. Bir Hasta oluştururken mevcut Müşteriyi de seçebilirsiniz. Bu alan varsayılan olarak işaretlidir.",
+"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Bu Sağlık Bakımı Uygulayıcısı aynı zamanda Yatan Hasta Bölümü için çalışıyorsa, bu Uygulayıcı için yatarak hasta ziyareti ücretini ayarlar.",
+"If checked, a customer will be created for every Patient. Patient Invoices will be created against this Customer. You can also select existing Customer while creating a Patient. This field is checked by default.","İşaretlenirse, her Hasta için bir müşteri oluşturur. Bu Müşteriye karşı Hastaları Fatura oluşturacaktır. Bir Hasta oluştururken mevcut Müşteriyi de idare eder. Bu alan değişken olarak işaretlidir.",
 Collect Registration Fee,Kayıt Ücretini Toplayın,
-"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Sağlık kuruluşunuz Hasta kayıtlarını faturalandırıyorsa, bunu kontrol edebilir ve aşağıdaki alanda Kayıt Ücretini belirleyebilirsiniz. Bunun işaretlenmesi, varsayılan olarak Devre Dışı durumuna sahip yeni Hastalar oluşturacak ve yalnızca Kayıt Ücreti fatura edildikten sonra etkinleştirilecektir.",
-Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Bunu işaretlemek, Hasta için randevu rezerve edildiğinde otomatik olarak bir Satış Faturası oluşturacaktır.",
-Healthcare Service Items,Sağlık Hizmeti Öğeleri,
-"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Yatan Hasta Ziyaret Ücreti için bir hizmet kalemi oluşturabilir ve buradan ayarlayabilirsiniz. Benzer şekilde, bu bölümde faturalama için diğer Sağlık Hizmeti Öğelerini ayarlayabilirsiniz. Tıklayın",
-Set up default Accounts for the Healthcare Facility,Sağlık Tesisi için varsayılan Hesaplar oluşturun,
-"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Varsayılan hesap ayarlarını geçersiz kılmak ve Sağlık Hizmetleri için Gelir ve Alacak hesaplarını yapılandırmak isterseniz, bunu buradan yapabilirsiniz.",
+"If your Healthcare facility bills registrations of Patients, you can check this and set the Registration Fee in the field below. Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.","Sağlık hizmetiz Hasta kayıtlarını faturalandırıyorsa, bunu kontrol edebilir ve aşağıdaki alanda Kayıt Ücretini belirleyebilirsiniz. Bunun işaretlenmesi, varsayılan olarak Devre Dışı maliyetlerine sahip yeni Hastalar oluşturacak ve yalnızca Kayıt Ücreti faturalandırma sonrasında etkinleştirilecektir.",
+Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Bunu yapılandırmak, Hasta için randevu rezerve kayıtları otomatik olarak bir Satış Faturası oluşturacaktır.",
+Healthcare Service Items,Sağlık Hizmet Öğeleri,
+"You can create a service item for Inpatient Visit Charge and set it here. Similarly, you can set up other Healthcare Service Items for billing in this section. Click ","Yatan Hasta Ziyaret Ücreti için bir hizmet kalemi oluşturduğunuzu ve buradan ayarlayabilirsiniz. Benzer şekilde, bu faturalama için diğer Sağlık Hizmeti Öğelerini ayarlayabilirsiniz. Tıklayın",
+Set up default Accounts for the Healthcare Facility,Sağlık Tesisi için kapsamlı Hesaplar oluşturun,
+"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Varsayılan hesabı kullanmak geçersiz kılmak ve Sağlık Hizmetleri için Gelir ve Alacak hesaplarını yönetmek isterseniz, bunu buradan yapabilirsiniz.",
 Out Patient SMS alerts,Out Patient SMS uyarıları,
-"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Hasta Kaydında SMS uyarısı göndermek istiyorsanız, bu seçeneği etkinleştirebilirsiniz. Benzer şekilde, bu bölümdeki diğer işlevler için Hasta Dışarıda SMS uyarıları kurabilirsiniz. Tıklayın",
+"If you want to send SMS alert on Patient Registration, you can enable this option. Similary, you can set up Out Patient SMS alerts for other functionalities in this section. Click ","Hasta Kaydında SMS uyarısı olmasını istiyorsanız, bu seçeneği etkinleştirebilirsiniz. Benzer şekilde, bu bölümdeki diğer görme için Hasta Dışında SMS uyarıları kurabilirsiniz. Tıklayın",
 Admission Order Details,Kabul Sipariş Ayrıntıları,
 Admission Ordered For,Kabul İçin Sipariş Verildi,
 Expected Length of Stay,Beklenen Kalma Süresi,
@@ -8919,56 +8919,56 @@
 Admission Instruction,Kabul Talimatı,
 Chief Complaint,Baş Şikayet,
 Medications,İlaçlar,
-Investigations,İncelemeler,
-Discharge Detials,Deşarj Detials,
+Investigations,incelemeler,
+Discharge Detials,Deşarj Detayları,
 Discharge Ordered Date,Tahliye Sipariş Tarihi,
 Discharge Instructions,Deşarj Talimatları,
 Follow Up Date,Takip Tarihi,
 Discharge Notes,Tahliye Notları,
-Processing Inpatient Discharge,Yatan Hastanın Taburcu Edilmesi,
+Processing Inpatient Discharge,Yatan hasta Taburcu Edilmesi,
 Processing Patient Admission,Hasta Kabulünün İşlenmesi,
-Check-in time cannot be greater than the current time,Giriş saati mevcut saatten fazla olamaz,
+Check-in time cannot be greater than the current time,Giriş saati mevcut durumdan fazla olamaz,
 Process Transfer,İşlem Aktarımı,
 HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
 Expected Result Date,Beklenen Sonuç Tarihi,
 Expected Result Time,Beklenen Sonuç Süresi,
-Printed on,Baskı tarihi,
-Requesting Practitioner,Uygulayıcı İsteniyor,
-Requesting Department,Talep Eden Departman,
+Printed on,baskı tarihi,
+Requesting Practitioner,Uygulayıcı İstiyor,
+Requesting Department,Talep Eden Departmanı,
 Employee (Lab Technician),Çalışan (Laboratuvar Teknisyeni),
 Lab Technician Name,Laboratuvar Teknisyeni Adı,
 Lab Technician Designation,Laboratuvar Teknisyeni Tanımı,
 Compound Test Result,Bileşik Test Sonucu,
 Organism Test Result,Organizma Testi Sonucu,
-Sensitivity Test Result,Duyarlılık Testi Sonucu,
+Sensitivity Test Result,Duyarlık Testi Sonucu,
 Worksheet Print,Çalışma Sayfası Yazdır,
 Worksheet Instructions,Çalışma Sayfası Talimatları,
 Result Legend Print,Sonuç Gösterge Baskısı,
 Print Position,Baskı Pozisyonu,
-Bottom,Alt,
+Bottom,Alternatif,
 Top,Üst,
 Both,Her ikisi de,
-Result Legend,Sonuç Açıklamaları,
-Lab Tests,Laboratuvar testleri,
+Result Legend,Açıklama Sonuçları,
+Lab Tests,laboratuvar testi,
 No Lab Tests found for the Patient {0},Hasta için Laboratuar Testi bulunamadı {0},
-"Did not send SMS, missing patient mobile number or message content.","SMS, eksik hasta cep telefonu numarası veya mesaj içeriği gönderilmedi.",
-No Lab Tests created,Laboratuvar Testi oluşturulmadı,
+"Did not send SMS, missing patient mobile number or message content.","SMS, eksik hasta cep telefonu numarası veya mesaj içeriği gönderilirdi.",
+No Lab Tests created,Laboratuvar testi oluşturmadı,
 Creating Lab Tests...,Laboratuvar Testleri Oluşturma ...,
 Lab Test Group Template,Laboratuvar Test Grubu Şablonu,
 Add New Line,Yeni Satır Ekle,
 Secondary UOM,İkincil UOM,
-"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results",<b>Tekli</b> : Yalnızca tek bir giriş gerektiren sonuçlar.<br> <b>Bileşik</b> : Birden çok olay girişi gerektiren sonuçlar.<br> <b>Tanımlayıcı</b> : Manuel sonuç girişi olan birden fazla sonuç bileşeni olan testler.<br> <b>Gruplanmış</b> : Diğer test şablonlarından oluşan test şablonları.<br> <b>Sonuç Yok</b> : Sonuçsuz testler sipariş edilebilir ve faturalandırılabilir ancak Laboratuar Testi oluşturulmayacaktır. Örneğin. Gruplandırılmış sonuçlar için Alt Testler,
+"<b>Single</b>: Results which require only a single input.\n<br>\n<b>Compound</b>: Results which require multiple event inputs.\n<br>\n<b>Descriptive</b>: Tests which have multiple result components with manual result entry.\n<br>\n<b>Grouped</b>: Test templates which are a group of other test templates.\n<br>\n<b>No Result</b>: Tests with no results, can be ordered and billed but no Lab Test will be created. e.g.. Sub Tests for Grouped results",<b>Tekli</b> : Yalnızca tek bir giriş gereksinimleri sonuçları.<br> <b>Bileşik</b> : Birden çok olay girişi gereksinimleri sonuçları.<br> <b>Tanımlayıcı</b> : Manuel sonuç girişi olan birden fazla sonuç sonucu olan testleri.<br> <b>Gruplanmış</b> : Diğer test şablonlarından oluşan test şablonları.<br> <b>Sonuç Yok</b> : Sonuçsuz bölümleri sipariş edilebilir ve faturalandırılabilir ancak Laboratuar Testi oluşturulmayacaktır. . Örneğin. Gruplandırılmış sonuçlar için Alt Testler,
 "If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","İşaretlenmemişse, öğe faturalama için Satış Faturalarında bulunmayacaktır ancak grup testi oluşturmada kullanılabilir.",
 Description ,Açıklama,
-Descriptive Test,Tanımlayıcı Test,
+Descriptive Test,Tanımlayıcı Testi,
 Group Tests,Grup Testleri,
-Instructions to be printed on the worksheet,Çalışma sayfasına yazdırılacak talimatlar,
-"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Test raporunun kolayca yorumlanmasına yardımcı olacak bilgiler Laboratuar Testi sonucunun bir parçası olarak yazdırılacaktır.,
+Instructions to be printed on the worksheet,Çalışma dosyası yazdırılacak belgeler,
+"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Test raporunun kolayca yorumlanmasına yardımcı olacak bilgiler Laboratuar Testi sonuçlarının bir parçası olarak yazdırılacaktır.,
 Normal Test Result,Normal Test Sonucu,
 Secondary UOM Result,İkincil UOM Sonucu,
-Italic,İtalik,
+Italic,italik,
 Underline,Altını çizmek,
-Organism,Organizma,
+Organism,organizma,
 Organism Test Item,Organizma Test Öğesi,
 Colony Population,Koloni Popülasyonu,
 Colony UOM,Koloni UOM,
@@ -8978,14 +8978,14 @@
 Alcohol Consumption (Present),Alkol Tüketimi (Mevcut),
 Billing Item,Fatura Öğesi,
 Medical Codes,Tıbbi Kodlar,
-Clinical Procedures,Klinik Prosedürler,
+Clinical Procedures,Klinik çevreler,
 Order Admission,Sipariş Kabulü,
 Scheduling Patient Admission,Hasta Kabulünün Planlanması,
 Order Discharge,Sipariş Tahliyesi,
 Sample Details,Örnek Ayrıntılar,
 Collected On,Toplanma Tarihi,
 No. of prints,Baskı sayısı,
-Number of prints required for labelling the samples,Örnekleri etiketlemek için gereken baskı sayısı,
+Number of prints required for labelling the samples,Örnekleri çerçevelemek için gereken sayı baskısı,
 HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
 In Time,Zamanında,
 Out Time,Çıkış Süresi,
@@ -8996,47 +8996,47 @@
 PAN Number,PAN Numarası,
 Provident Fund Account,İhtiyat Fonu Hesabı,
 MICR Code,MICR Kodu,
-Repay unclaimed amount from salary,Talep edilmeyen tutarı maaştan geri ödeyin,
+Repay unclaimed amount from salary,Talep edilmeyen maaştan geri ödeyin,
 Deduction from salary,Maaştan kesinti,
-Expired Leaves,Süresi Dolan Yapraklar,
+Expired Leaves,Süresi biten İzinler,
 Reference No,Referans Numarası,
-Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,"Kesinti yüzdesi, Kredi Teminatının piyasa değeri ile o kredi için teminat olarak kullanıldığında o Kredi Güvencesine atfedilen değer arasındaki yüzde farkıdır.",
-Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Kredi Değere Oranı, kredi tutarının taahhüt edilen menkul kıymetin değerine oranını ifade eder. Herhangi bir kredi için belirtilen değerin altına düşerse bir kredi güvenlik açığı tetiklenir",
-If this is not checked the loan by default will be considered as a Demand Loan,"Bu kontrol edilmezse, varsayılan olarak kredi bir Talep Kredisi olarak kabul edilecektir.",
-This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Bu hesap, borçludan kredi geri ödemeleri rezervasyonu yapmak ve ayrıca borçluya kredi vermek için kullanılır.",
+Haircut percentage is the percentage difference between market value of the Loan Security and the value ascribed to that Loan Security when used as collateral for that loan.,"Kesinti yüzdesi, Kredi Teminatının piyasa değeri ile o kredi için teminat olarak teminat olarak o Kredi Güvencesine atfedilen değer arasındaki yüzde farkıdır.",
+Loan To Value Ratio expresses the ratio of the loan amount to the value of the security pledged. A loan security shortfall will be triggered if this falls below the specified value for any loan ,"Kredi Değer Oranı, kredi borçlarının taahhüdünde bulunulan menkul değerin harcanması gerektiğini ifade eder. Herhangi bir kredi için belirtilen değerin altına düşerse bir kredi güvenlik açığı tetiklenir",
+If this is not checked the loan by default will be considered as a Demand Loan,"Bu kontrol reddedilirse, varsayılan olarak kredi bir Talep Kredisi olarak kabul edilecektir.",
+This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Bu hesap, borçludan kredi geri ödemelerini yapmak ve ayrıca borçluya kredi vermek için kullanılır.",
 This account is capital account which is used to allocate capital for loan disbursal account ,"Bu hesap, kredi ödeme hesabına sermaye tahsis etmek için kullanılan sermaye hesabıdır.",
-This account will be used for booking loan interest accruals,"Bu hesap, kredi faiz tahakkukları için kullanılacaktır.",
-This account will be used for booking penalties levied due to delayed repayments,"Bu hesap, geciken geri ödemeler nedeniyle alınan rezervasyon cezaları için kullanılacaktır.",
-Variant BOM,Varyant ürün reçetesi,
+This account will be used for booking loan interest accruals,"Bu hesap, kredi faiz tahakkukları için kullanılmasıdır.",
+This account will be used for booking penalties levied due to delayed repayments,"Bu hesap, geciken geri ödemeler nedeniyle alma rezervasyon cezaları için kullanımdır.",
+Variant BOM,Varyant ürün Reçetesi,
 Template Item,Şablon Öğesi,
 Select template item,Şablon öğesini seçin,
-Select variant item code for the template item {0},{0} şablon öğesi için varyant öğe kodunu seçin,
-Downtime Entry,Kapalı Kalma Süresi Girişi,
+Select variant item code for the template item {0},{0} kalıp öğeleri için düşünme öğesini seçin,
+Downtime Entry,Kesinti/Arıza Süresi Girişi,
 DT-,DT-,
 Workstation / Machine,İş İstasyonu / Makine,
 Operator,Şebeke,
-In Mins,Dakika içinde,
+In Mins,Dakika,
 Downtime Reason,Kesinti Nedeni,
 Stop Reason,Nedeni Durdur,
 Excessive machine set up time,Aşırı makine kurulum süresi,
 Unplanned machine maintenance,Planlanmamış makine bakımı,
-On-machine press checks,Makine üzerinde baskı kontrolleri,
-Machine operator errors,Makine operatörü hataları,
+On-machine press checks,Makine üzerinde press kontrolü,
+Machine operator errors,Makine operator hatası,
 Machine malfunction,Makine arızası,
-Electricity down,Elektrik kesildi,
-Operation Row Number,İşlem Satır Numarası,
-Operation {0} added multiple times in the work order {1},"İşlem {0}, iş emrine birden çok kez eklendi {1}",
+Electricity down,Elektrik kesintisi,
+Operation Row Number,Operasyon Satır Numarası,
+Operation {0} added multiple times in the work order {1},"Operasyon {0}, iş emrine birden çok kez eklendi {1}",
 "If ticked, multiple materials can be used for a single Work Order. This is useful if one or more time consuming products are being manufactured.","İşaretliyse, tek bir İş Emri için birden fazla malzeme kullanılabilir. Bu, bir veya daha fazla zaman alan ürün üretiliyorsa kullanışlıdır.",
 Backflush Raw Materials,Ters Yıkamalı Hammaddeler,
-"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","&#39;Üretim&#39; türündeki Stok Girişi, ters yıkama olarak bilinir. Mamul malları üretmek için tüketilen hammaddeler, ters yıkama olarak bilinir.<br><br> Üretim Girişi yaratılırken, hammadde kalemleri, üretim kaleminin ürün reçetesine göre ters yıkanır. Hammadde kalemlerinin bunun yerine o İş Emrine karşı yapılan Malzeme Transferi girişine göre ters yıkanmasını istiyorsanız bu alan altında ayarlayabilirsiniz.",
+"The Stock Entry of type 'Manufacture' is known as backflush. Raw materials being consumed to manufacture finished goods is known as backflushing. <br><br> When creating Manufacture Entry, raw-material items are backflushed based on BOM of production item. If you want raw-material items to be backflushed based on Material Transfer entry made against that Work Order instead, then you can set it under this field.","&#39;Üretim&#39; türündeki Stok Hareketi, ters yıkama olarak bilinir. Mamul malları üretmek için tüketilen hammaddeler, ters yıkama olarak bilinir.<br><br> Üretim Girişi yaratılırken, hammadde kalemleri, üretim defterinin ürün reçetelerine göre ters yıkanır. Hammadde kalemlerinin bunun yerine o İş Emrine karşı Yapılan Malzeme Transferi girişine göre yıkanmış tersini istiyorsanız bu alan altında ayarlayabilirsiniz.",
 Work In Progress Warehouse,Devam Eden Çalışma Deposu,
 This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,"Bu Depo, İş Emirlerinin Devam Eden İşler Deposu alanında otomatik olarak güncellenecektir.",
 Finished Goods Warehouse,Mamul Mal Deposu,
 This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,"Bu Depo, İş Emrinin Hedef Depo alanında otomatik olarak güncellenecektir.",
-"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","İşaretlenirse, ürün reçetesi maliyeti, Değerleme Oranı / Fiyat Listesi Oranı / hammaddelerin son satın alma oranına göre otomatik olarak güncellenecektir.",
+"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","İşaretlenirse, ürün reçetesi maliyeti, Değerleme Oranı / Fiyat Listesi Oranı / hammaddelerin son satınalma oranlarına göre otomatik olarak güncellenecektir.",
 Source Warehouses (Optional),Kaynak Depolar (Opsiyonel),
-"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem, malzemeleri seçilen depolardan alacaktır. Belirtilmezse, sistem satın alma için malzeme talebi oluşturacaktır.",
-Lead Time,Teslim süresi,
+"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistem, malzemeler seçilen depolardan gelir. Belirtilmezse, sistem satınalma için malzeme talebi oluşturulacaktır.",
+Lead Time,Teslim Süresi,
 PAN Details,PAN Detayları,
 Create Customer,Müşteri Yaratın,
 Invoicing,Faturalama,
@@ -9047,15 +9047,15 @@
 Invoice Print Format,Fatura Yazdırma Formatı,
 Revoke <Key></Key>,İptal et&lt;Key&gt;&lt;/Key&gt;,
 You can learn more about memberships in the manual. ,Kılavuzda üyelikler hakkında daha fazla bilgi edinebilirsiniz.,
-ERPNext Docs,ERPNext Dokümanlar,
-Regenerate Webhook Secret,Webhook Sırrını Yeniden Oluştur,
+ERPNext Docs,ERPNext Dokumanlar,
+Regenerate Webhook Secret,Webhook Sırrını Yeniden Oluşturma,
 Generate Webhook Secret,Webhook Sırrı Oluştur,
 Copy Webhook URL,Webhook URL&#39;sini kopyala,
 Linked Item,Bağlantılı Öğe,
 Is Recurring,Yineleniyor,
 HRA Exemption,İHD Muafiyeti,
 Monthly House Rent,Aylık Ev Kirası,
-Rented in Metro City,Metro City&#39;de Kiralandı,
+Rented in Metro City,Metro City'de Kiralandı,
 HRA as per Salary Structure,Maaş Yapısına Göre İHD,
 Annual HRA Exemption,Yıllık İHD Muafiyeti,
 Monthly HRA Exemption,Aylık İHD Muafiyeti,
@@ -9063,37 +9063,37 @@
 Rented From Date,Kiralandığı Tarih,
 Rented To Date,Bugüne Kadar Kiralandı,
 Monthly Eligible Amount,Aylık Uygun Tutar,
-Total Eligible HRA Exemption,Toplam Uygun HRA Muafiyeti,
+Total Eligible HRA Exemption,Toplam Uygun İHD Muafiyeti,
 Validating Employee Attendance...,Çalışan Katılımının Doğrulanması ...,
 Submitting Salary Slips and creating Journal Entry...,Maaş Fişleri Gönderme ve Yevmiye Kaydı Oluşturma ...,
 Calculate Payroll Working Days Based On,Bordro Çalışma Günlerini Şuna Göre Hesaplayın,
-Consider Unmarked Attendance As,İşaretlenmemiş Katılımı Olarak Düşünün,
+Consider Unmarked Attendance As,İşaretlenmemiş Katılımı Düşünün Olarak,
 Fraction of Daily Salary for Half Day,Yarım Gün Günlük Maaş Kesri,
 Component Type,Bileşen Tipi,
 Provident Fund,ihtiyat fonu,
 Additional Provident Fund,Ek İhtiyat Fonu,
 Provident Fund Loan,İhtiyat Fonu Kredisi,
 Professional Tax,Mesleki vergi,
-Is Income Tax Component,Gelir Vergisi Bileşeni,
+Is Income Tax Component,Gelir Vergisi Bileşenleri,
 Component properties and references ,Bileşen özellikleri ve referansları,
 Additional Salary ,Ek Maaş,
 Unmarked days,İşaretlenmemiş günler,
 Absent Days,Devamsızlık Günleri,
-Conditions and Formula variable and example,Koşullar ve Formül değişkeni ve örnek,
+Conditions and Formula variable and example,Koşullar ve Formül değişkeni ve örneği,
 Feedback By,Geri Bildirim Gönderen,
 Manufacturing Section,Üretim Bölümü,
-"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Varsayılan olarak, Müşteri Adı girilen Tam Ad&#39;a göre ayarlanır. Müşterilerin bir tarafından adlandırılmasını istiyorsanız",
+"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Varsayılan olarak, Müşteri Adı girilen Tam Adına göre ayarlanır. Müşterilerin bir tarafından kullanılmasını istemek",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Yeni bir Satış işlemi oluştururken varsayılan Fiyat Listesini yapılandırın. Ürün fiyatları bu Fiyat Listesinden alınacaktır.,
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Bu seçenek &#39;Evet&#39; olarak yapılandırılırsa, ERPNext, önce Satış Siparişi oluşturmadan Satış Faturası veya Teslimat Notu oluşturmanızı engeller. Bu yapılandırma, Müşteri ana sayfasındaki &#39;Satış Siparişi Olmadan Satış Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek belirli bir Müşteri için geçersiz kılınabilir.",
-"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Bu seçenek &#39;Evet&#39; olarak yapılandırılırsa, ERPNext önce bir Teslimat Notu oluşturmadan Satış Faturası oluşturmanızı engeller. Bu yapılandırma, Müşteri ana sayfasındaki &#39;Teslimat Notu Olmadan Satış Faturası Oluşturmaya İzin Ver&#39; onay kutusu etkinleştirilerek belirli bir Müşteri için geçersiz kılınabilir.",
-Default Warehouse for Sales Return,Satış İadesi için Varsayılan Depo,
-Default In Transit Warehouse,Transit Depoda Temerrüt,
-Enable Perpetual Inventory For Non Stock Items,Stok Dışı Kalemler İçin Sürekli Envanteri Etkinleştir,
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice or Delivery Note without creating a Sales Order first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Sales Order' checkbox in the Customer master.","Bu seçenek 'Evet' olarak yapılandırılırsa, ERPNext, önce bir Satış Siparişi oluşturmadan bir Satış Faturası veya İrsaliye oluşturmanızı engeller. Bu yapılandırma, Müşteri ana sayfasında 'Satış Siparişi Olmadan Satış Faturası Oluşturulmasına İzin Ver' onay kutusu etkinleştirilerek belirli bir Müşteri için geçersiz kılınabilir.",
+"If this option is configured 'Yes', ERPNext will prevent you from creating a Sales Invoice without creating a Delivery Note first. This configuration can be overridden for a particular Customer by enabling the 'Allow Sales Invoice Creation Without Delivery Note' checkbox in the Customer master.","Bu seçenek 'Evet' olarak yapılandırılırsa, ERPNext önce İrsaliye oluşturmadan Satış Faturası oluşturmanızı engeller. Bu yapılandırma, belirli bir Müşteri için Müşteri ana sayfasındaki 'İrsaliye Olmadan Satış Faturası Oluşturulmasına İzin Ver' onay kutusu etkinleştirilerek geçersiz kılınabilir.",
+Default Warehouse for Sales Return,Satış beyannamesi için varsayılan Depo,
+Default In Transit Warehouse,Transit Depo Temerrüt,
+Enable Perpetual Inventory For Non Stock Items,Stok Dışı Kalemler İçin Sürekli Envanteri Etkinleştirin,
 HRA Settings,HRA Ayarları,
-Basic Component,Temel Bileşen,
-HRA Component,HRA Bileşeni,
-Arrear Component,Ödenmemiş Bileşen,
-Please enter the company name to confirm,Lütfen onaylamak için şirket adını girin,
+Basic Component,Temel Bileşenler,
+HRA Component,HRA Bileşenleri,
+Arrear Component,Ödenmemiş Bileşenler,
+Please enter the company name to confirm,Lütfen onaylamak için şirket adını giriniz,
 Quotation Lost Reason Detail,Teklif Kayıp Nedeni Ayrıntıları,
 Enable Variants,Çeşitleri Etkinleştir,
 Save Quotations as Draft,Teklifleri Taslak Olarak Kaydet,
@@ -9101,124 +9101,124 @@
 Please Select a Customer,Lütfen Müşteri Seçiniz,
 Against Delivery Note Item,Sevk irsaliyesi kalemine karşı,
 Is Non GST ,GST Değildir,
-Image Description,Görüntü açıklaması,
-Transfer Status,Transfer durumu,
+Image Description,Görüntü yayını,
+Transfer Status,Aktarım durumu,
 MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
-Track this Purchase Receipt against any Project,Herhangi bir Projeye karşı bu Satın Alma Makbuzunu takip edin,
+Track this Purchase Receipt against any Project,Herhangi bir Projeye karşı bu Satınalma Makbuzunu takip edin,
 Please Select a Supplier,Lütfen Bir Tedarikçi Seçin,
-Add to Transit,Transite Ekle,
+Add to Transit,Transit Ekle,
 Set Basic Rate Manually,Temel Hızı Manuel Olarak Ayarlayın,
-"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Varsayılan olarak, Öğe Adı, girilen Öğe Koduna göre ayarlanır. Öğelerin bir tarafından adlandırılmasını istiyorsanız",
-Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,"Stok İşlemleri için Varsayılan Depo Ayarlayın. Bu, Öğe ana sayfasındaki Varsayılan Depo&#39;ya getirilecektir.",
-"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Bu, stok kalemlerinin negatif değerlerle görüntülenmesine izin verecektir. Bu seçeneği kullanmak, kullanım durumunuza bağlıdır. Bu seçenek işaretlenmediğinde, sistem negatif stoka neden olan bir işlemi engellemeden önce uyarır.",
+"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Varsayılan olarak, Öğe Adı, girilen Öğe Koduna göre belirlenir. Öğelerin bir tarafından kullanılmasını istemek",
+Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,"Stok İşlemleri için Varsayılan Depo Ayarlayın. Bu, Öğe ana sayfasındaki varsayılan Depoya getirilecektir.",
+"This will allow stock items to be displayed in negative values. Using this option depends on your use case. With this option unchecked, the system warns before obstructing a transaction that is causing negative stock.","Bu, stok kalemlerinin negatif değerlerle görüntülenmesine izin verecek. Bu seçeneği kullanma, kullanma araçlarına bağlıdır. Bu seçenek işaretlendiğinde, sistem negatif stoka neden olan bir işlemi engellemeden önce devreye alınır.",
 Choose between FIFO and Moving Average Valuation Methods. Click ,FIFO ve Hareketli Ortalama Değerleme Yöntemleri arasında seçim yapın. Tıklayın,
- to know more about them.,onlar hakkında daha fazla bilgi edinmek için.,
-Show 'Scan Barcode' field above every child table to insert Items with ease.,Öğeleri kolaylıkla eklemek için her alt tablonun üzerinde &#39;Barkod Tara&#39; alanını gösterin.,
-"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Stok seri numaraları, Satın Alma / Satış Faturaları, Sevk irsaliyeleri vb. İşlemlerde ilk giren ilk çıkar esas alınarak girilen Kalemlere göre otomatik olarak ayarlanacaktır.",
-"If blank, parent Warehouse Account or company default will be considered in transactions","Boş ise, işlemlerde ana Depo Hesabı veya şirket temerrüdü dikkate alınacaktır",
+ to know more about them.,Onlar hakkında daha fazla bilgi edinmek için.,
+Show 'Scan Barcode' field above every child table to insert Items with ease.,Öğeleri bulmak için her alt tablonun üzerinde 'Barkod Tara' yaklaşmak.,
+"Serial numbers for stock will be set automatically based on the Items entered based on first in first out in transactions like Purchase/Sales Invoices, Delivery Notes, etc.","Stok seri numaraları, Satınalma / Satış Faturaları, Sevk irsaliyeleri vb. İşlemlerde ilk giren ilk çıkarma esas tesisi girilen Kalemlere göre otomatik olarak ayarlanacaktır.",
+"If blank, parent Warehouse Account or company default will be considered in transactions","Boş ise, işlemlerde ana Depo Hesabı veya şirket temerrüdü dikkate alınmalıdır.",
 Service Level Agreement Details,Hizmet Seviyesi Sözleşme Ayrıntıları,
-Service Level Agreement Status,Hizmet Seviyesi Sözleşme Durumu,
-On Hold Since,O zamandan beri beklemede,
+Service Level Agreement Status,Hizmet Seviyesi Sözleşme Şartları,
+On Hold Since,O zaman beri beklemede,
 Total Hold Time,Toplam Tutma Süresi,
 Response Details,Yanıt Ayrıntıları,
 Average Response Time,Ortalama Yanıt Süresi,
 User Resolution Time,Kullanıcı Çözüm Süresi,
-SLA is on hold since {0},"SLA, {0} tarihinden beri beklemede",
-Pause SLA On Status,Durum Açıkken SLA&#39;yı Duraklat,
-Pause SLA On,SLA&#39;yı Duraklat,
+SLA is on hold since {0},"SLA, {0} yolcularından beri beklemede",
+Pause SLA On Status,Durum Açıkken SLA'yı Duraklat,
+Pause SLA On,SLA'yı Duraklat,
 Greetings Section,Selamlar Bölümü,
 Greeting Title,Tebrik Başlığı,
 Greeting Subtitle,Karşılama Altyazısı,
-Youtube ID,Youtube kimliği,
+Youtube ID,Youtube kesin,
 Youtube Statistics,Youtube İstatistikleri,
 Views,Görüntüleme,
 Dislikes,Beğenmeme sayısı,
-Video Settings,Video ayarları,
-Enable YouTube Tracking,YouTube İzlemeyi Etkinleştirin,
+Video Settings,Video Ayarları,
+Enable YouTube Tracking,YouTube izlemeyi Etkinleştirin,
 30 mins,30 dakika,
-1 hr,1 sa.,
-6 hrs,6 sa.,
-Patient Progress,Hasta İlerlemesi,
+1 hr,1 saat,
+6 hrs,6 saat,
+Patient Progress,Hasta idaresi,
 Targetted,Hedeflenen,
 Score Obtained,Elde Edilen Puan,
-Sessions,Oturumlar,
-Average Score,Not ortalaması,
+Sessions,oturumlar,
+Average Score,ortalama değil,
 Select Assessment Template,Değerlendirme Şablonunu Seçin,
  out of ,dışında,
-Select Assessment Parameter,Değerlendirme Parametresini Seçin,
+Select Assessment Parameter,Değerlendirme Parametrelerini Seçin,
 Gender: ,Cinsiyet:,
-Contact: ,İletişim:,
+Contact: ,iletişim:,
 Total Therapy Sessions: ,Toplam Terapi Seansları:,
 Monthly Therapy Sessions: ,Aylık Terapi Seansları:,
 Patient Profile,Hasta Profili,
-Point Of Sale,Satış noktası,
+Point Of Sale,Satış Noktası,
 Email sent successfully.,E-posta başarıyla gönderildi.,
-Search by invoice id or customer name,Fatura kimliği veya müşteri adına göre arayın,
+Search by invoice id or customer name,Fatura adresini veya müşteri adına göre arayın!,
 Invoice Status,Fatura Durumu,
-Filter by invoice status,Fatura durumuna göre filtrele,
-Select item group,Öğe grubunu seçin,
+Filter by invoice status,Faturalandırma hızına göre filtrele,
+Select item group,Öğe grubu seçin,
 No items found. Scan barcode again.,Hiç bir öğe bulunamadı. Barkodu tekrar tarayın.,
 "Search by customer name, phone, email.","Müşteri adı, telefon, e-posta ile arayın.",
-Enter discount percentage.,İndirim yüzdesini girin.,
-Discount cannot be greater than 100%,İndirim% 100&#39;den fazla olamaz,
+Enter discount percentage.,İndirimini yüzde girin.,
+Discount cannot be greater than 100%,İndirim %100'den fazla olamaz,
 Enter customer's email,Müşterinin e-postasını girin,
 Enter customer's phone number,Müşterinin telefon numarasını girin,
 Customer contact updated successfully.,Müşteri iletişim bilgileri başarıyla güncellendi.,
-Item will be removed since no serial / batch no selected.,Seri / parti seçilmediğinden ürün kaldırılacak.,
+Item will be removed since no serial / batch no selected.,Seri / parça içeriğinden dolayı ürün kaldırılacaktır.,
 Discount (%),İndirim (%),
-You cannot submit the order without payment.,Siparişi ödeme yapmadan gönderemezsiniz.,
+You cannot submit the order without payment.,Siparişi ödemeden gönderemezsiniz.,
 You cannot submit empty order.,Boş sipariş veremezsiniz.,
 To Be Paid,Ödenecek,
-Create POS Opening Entry,POS Açılış Girişi Oluşturun,
+Create POS Opening Entry,POS Açma Girişi Oluşturma,
 Please add Mode of payments and opening balance details.,Lütfen Ödeme Modu ve açılış bakiyesi ayrıntılarını ekleyin.,
 Toggle Recent Orders,Son Siparişleri Değiştir,
 Save as Draft,Taslak olarak kaydet,
-You must add atleast one item to save it as draft.,Taslak olarak kaydetmek için en az bir öğe eklemelisiniz.,
-There was an error saving the document.,Belgeyi kaydederken bir hata oluştu.,
+You must add atleast one item to save it as draft.,Taslak olarak beklemek için en az bir öğe eklemelisiniz.,
+There was an error saving the document.,Belgeyi geçirirken bir hata oluştu.,
 You must select a customer before adding an item.,Bir öğe eklemeden önce bir müşteri seçmelisiniz.,
 Please Select a Company,Lütfen Firma Seçiniz,
 Active Leads,Aktif Olası Satışlar,
 Please Select a Company.,Lütfen Bir Firma Seçiniz.,
-BOM Operations Time,BOM İşlemleri Süresi,
-BOM ID,BOM ID,
+BOM Operations Time,BOM Operasyon Süresi,
+BOM ID,Malzeme Listesi Kimliği,
 BOM Item Code,BOM Ürün Kodu,
-Time (In Mins),Zaman (Dakika Olarak),
+Time (In Mins),Süre (dakika),
 Sub-assembly BOM Count,Alt montaj ürün reçetesi sayısı,
 View Type,Görünüm Türü,
-Total Delivered Amount,Toplam Teslim Tutarı,
+Total Delivered Amount,Toplam Teslimat Tutarı,
 Downtime Analysis,Kesinti Analizi,
-Machine,Makine,
+Machine,Makina,
 Downtime (In Hours),Arıza Süresi (Saat Olarak),
 Employee Analytics,Çalışan Analitiği,
-"""From date"" can not be greater than or equal to ""To date""","&quot;Başlangıç tarihi&quot;, &quot;Son tarih&quot; e eşit veya ondan büyük olamaz",
+"""From date"" can not be greater than or equal to ""To date""","""Başlangıç tarihi"", ""Son tarih""; e eşit veya ondan büyük olamaz",
 Exponential Smoothing Forecasting,Üstel Düzeltme Tahmini,
 First Response Time for Issues,Sorunlar için İlk Yanıt Süresi,
-First Response Time for Opportunity,Fırsat için İlk Müdahale Süresi,
+First Response Time for Opportunity,Fırsat için İlk Yanıt Süresi,
 Depreciatied Amount,Amortisman Tutarı,
-Period Based On,Dayalı Dönem,
-Date Based On,Dayalı Tarih,
+Period Based On,Tarihe göre Dönem,
+Date Based On,Tarihe göre,
 {0} and {1} are mandatory,{0} ve {1} zorunludur,
-Consider Accounting Dimensions,Muhasebe Boyutlarını Düşünün,
+Consider Accounting Dimensions,Muhasebe Boyutlarını Dikkate al,
 Income Tax Deductions,Gelir Vergisi Kesintileri,
-Income Tax Component,Gelir Vergisi Bileşeni,
+Income Tax Component,Gelir Vergisi Bileşenleri,
 Income Tax Amount,Gelir Vergisi Tutarı,
 Reserved Quantity for Production,Üretim için Ayrılmış Miktar,
 Projected Quantity,Öngörülen Miktar,
  Total Sales Amount,Toplam Satış Tutarı,
 Job Card Summary,İş Kartı Özeti,
-Id,İD,
+Id,ID,
 Time Required (In Mins),Gereken Zaman (Dakika Olarak),
-From Posting Date,Gönderme Tarihinden,
-To Posting Date,İlan Tarihine,
-No records found,kayıt bulunamadı,
-Customer/Lead Name,Müşteri / Kurşun Adı,
+From Posting Date,Baş. Muhasebe Tarihi,
+To Posting Date,Bitiş Muhasebe Tarihi,
+No records found,Kayıt bulunamadı,
+Customer/Lead Name,Müşteri / Aday Adı,
 Unmarked Days,İşaretlenmemiş Günler,
 Jan,Oca,
 Feb,Şubat,
 Mar,Mar,
-Apr,Nis,
-Aug,Ağu,
-Sep,Eylül,
+Apr,Niş,
+Aug,ağustos,
+Sep,eylül,
 Oct,Ekim,
 Nov,Kasım,
 Dec,Aralık,
@@ -9228,31 +9228,31 @@
 Raw Material Code,Hammadde Kodu,
 Raw Material Name,Hammadde Adı,
 Allotted Qty,Ayrılan Miktar,
-Expected Arrival Date,Beklenilen varış tarihi,
+Expected Arrival Date,Beklenilen tarihi,
 Arrival Quantity,Varış Miktarı,
 Raw Material Warehouse,Hammadde Deposu,
-Order By,Tarafından sipariş,
-Include Sub-assembly Raw Materials,Alt Montaj Hammaddelerini Dahil Et,
+Order By,tarafından sipariş,
+Include Sub-assembly Raw Materials,Alt Montaj ilk madde ve malzemeleri Dahil Et,
 Professional Tax Deductions,Profesyonel Vergi İndirimleri,
-Program wise Fee Collection,Program bazlı Ücret Toplama,
+Program wise Fee Collection,Program bazında Ücret Toplama,
 Fees Collected,Toplanan Ücretler,
-Project Summary,Proje özeti,
+Project Summary,Proje Açıklaması,
 Total Tasks,Toplam Görev,
 Tasks Completed,Tamamlanan Görevler,
 Tasks Overdue,Gecikmiş Görevler,
 Completion,Tamamlanma,
-Provident Fund Deductions,İhtiyat Fonu Kesintileri,
+Provident Fund Deductions,Yardım Sandığı Kesintileri,
 Purchase Order Analysis,Satınalma Siparişi Analizi,
 From and To Dates are required.,Başlangıç ve Bitiş Tarihleri gereklidir.,
 To Date cannot be before From Date.,"Bitiş Tarihi, Başlangıç Tarihinden önce olamaz.",
 Qty to Bill,Faturalandırılacak Miktar,
-Group by Purchase Order,Satın Alma Siparişine Göre Gruplama,
- Purchase Value,Alım değeri,
-Total Received Amount,Toplam Alınan Tutar,
+Group by Purchase Order,Satınalma Siparişine Göre Gruplama,
+ Purchase Value,Alım Değeri,
+Total Received Amount,Toplam Slınan Tutar,
 Quality Inspection Summary,Kalite Muayene Özeti,
  Quoted Amount,Teklif Edilen Tutar,
 Lead Time (Days),Teslim Süresi (Gün),
-Include Expired,Süresi Dolan,
+Include Expired,Süresi dolanları dahil et,
 Recruitment Analytics,İşe Alım Analitiği,
 Applicant name,Başvuranın ismi,
 Job Offer status,İş Teklifi durumu,
@@ -9262,162 +9262,162 @@
 Salary Payments via ECS,ECS ile Maaş Ödemeleri,
 Account No,Hesap No,
 IFSC,IFSC,
-MICR,MICR,
+MICR,MİKR,
 Sales Order Analysis,Satış Siparişi Analizi,
 Amount Delivered,Teslim Edilen Miktar,
 Delay (in Days),Gecikme (Gün olarak),
 Group by Sales Order,Satış Siparişine Göre Gruplama,
  Sales Value,Satış Değeri,
-Stock Qty vs Serial No Count,Stok Miktarı - Seri Sayısız,
-Serial No Count,Seri Sayısız,
+Stock Qty vs Serial No Count,Stok Adedi ve Seri No Sayısı Karşılaştırması,
+Serial No Count,Seri No Sayısı,
 Work Order Summary,İş Emri Özeti,
-Produce Qty,Adet üret,
-Lead Time (in mins),Teslim Süresi (dakika cinsinden),
+Produce Qty,adet üretim,
+Lead Time (in mins),Teslim Süresi (dakika ölçüsü),
 Charts Based On,Dayalı Grafikler,
 YouTube Interactions,YouTube Etkileşimleri,
 Published Date,yayınlanma tarihi,
 Barnch,Barnch,
 Select a Company,Şirket Seçin,
-Opportunity {0} created,{0} fırsatı oluşturuldu,
-Kindly select the company first,Lütfen önce şirketi seçin,
+Opportunity {0} created,{0} birlikteliği,
+Kindly select the company first,Lütfen önce şirketini seçin,
 Please enter From Date and To Date to generate JSON,JSON oluşturmak için lütfen Başlangıç Tarihi ve Bitiş Tarihi girin,
-PF Account,KM Hesabı,
+PF Account,PF Hesabı,
 PF Amount,PF Miktarı,
 Additional PF,Ek PF,
 PF Loan,KM Kredisi,
 Download DATEV File,DATEV Dosyasını İndir,
-Numero has not set in the XML file,Numero XML dosyasında ayarlanmadı,
-Inward Supplies(liable to reverse charge),İç Malzemeler (ters ücret ödemekle yükümlüdür),
-This is based on the course schedules of this Instructor,"Bu, bu Eğitmenin kurs programlarına dayanmaktadır",
+Numero has not set in the XML file,Numero XML kurulumunda ayarlanmadı,
+Inward Supplies(liable to reverse charge),İç Malzemeler (ters ücretle kiralama),
+This is based on the course schedules of this Instructor,"Bu, bu Eğitmenin kurs programlarına göre",
 Course and Assessment,Kurs ve Değerlendirme,
 Course {0} has been added to all the selected programs successfully.,"{0} kursu, seçilen tüm programlara başarıyla eklendi.",
 Programs updated,Programlar güncellendi,
-Program and Course,Program ve Kurs,
-{0} or {1} is mandatory,{0} veya {1} zorunludur,
+Program and Course,Program ve Kurslar,
+{0} or {1} is mandatory,{0} veya {1} yaptırımları,
 Mandatory Fields,Zorunlu alanlar,
 Student {0}: {1} does not belong to Student Group {2},"Öğrenci {0}: {1}, {2} Öğrenci Grubuna ait değil",
 Student Attendance record {0} already exists against the Student {1},Öğrenci Katılım kaydı {0} Öğrenci aleyhine zaten mevcut {1},
 Duplicate Entry,Yinelenen Giriş,
-Course and Fee,Kurs ve Ücret,
+Course and Fee,Kür ve Ücret,
 Not eligible for the admission in this program as per Date Of Birth,Doğum Tarihine göre bu programa giriş için uygun değil,
-Topic {0} has been added to all the selected courses successfully.,"{0} konusu, seçilen tüm kurslara başarıyla eklendi.",
+Topic {0} has been added to all the selected courses successfully.,"{0} barındırılan, seçilen tüm kurslara başarıyla eklendi.",
 Courses updated,Kurslar güncellendi,
-{0} {1} has been added to all the selected topics successfully.,"{0} {1}, seçilen tüm konulara başarıyla eklendi.",
+{0} {1} has been added to all the selected topics successfully.,"{0} {1}, seçilmiş tüm geçti başarıyla eklendi.",
 Topics updated,Konular güncellendi,
 Academic Term and Program,Akademik Dönem ve Program,
-Please remove this item and try to submit again or update the posting time.,Lütfen bu öğeyi kaldırın ve tekrar göndermeyi deneyin veya gönderme zamanını güncelleyin.,
-Failed to Authenticate the API key.,API anahtarının kimliği doğrulanamadı.,
+Please remove this item and try to submit again or update the posting time.,Lütfen bu öğeyi kullanın ve tekrar göndermeyi deneyin veya gönderme zamanını güncelleyin.,
+Failed to Authenticate the API key.,API anahtarının anahtarı doğrulanamadı.,
 Invalid Credentials,Geçersiz kimlik bilgileri,
 URL can only be a string,URL yalnızca bir dize olabilir,
-"Here is your webhook secret, this will be shown to you only once.","İşte web kancası sırrınız, bu size yalnızca bir kez gösterilecek.",
-The payment for this membership is not paid. To generate invoice fill the payment details,Bu üyelik için ödeme yapılmamaktadır. Fatura oluşturmak için ödeme ayrıntılarını doldurun,
+"Here is your webhook secret, this will be shown to you only once.","İşte web kancası sırrınız, bu boyutu yalnızca bir kez gösterecek.",
+The payment for this membership is not paid. To generate invoice fill the payment details,Bu üyelikle ödeme için yapılmamaktadır. Fatura oluşturmak için ödeme ayrıntılarını doldurmak,
 An invoice is already linked to this document,Bu belgeye zaten bir fatura bağlı,
-No customer linked to member {},{} Üyesine bağlı müşteri yok,
+No customer linked to member {},{}Üyesine bağlı müşteri yok,
 You need to set <b>Debit Account</b> in Membership Settings,Üyelik Ayarlarında <b>Borç Hesabı</b> ayarlamanız gerekiyor,
-You need to set <b>Default Company</b> for invoicing in Membership Settings,Üyelik Ayarlarında faturalandırma için <b>Varsayılan Şirket</b> ayarlamanız gerekir,
-You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Üyelik Ayarlarında <b>Onay E-postası Gönder&#39;i</b> etkinleştirmeniz gerekir,
-Error creating membership entry for {0},{0} için üyelik girişi oluşturulurken hata meydana geldi,
+You need to set <b>Default Company</b> for invoicing in Membership Settings,Üyelik Yapılandırmasında faturalandırma için <b>Varsayılan Şirket</b> ayarlamanız gerekir,
+You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Üyelik Ayarlarında <b>Onay E-postası Gönder'i</b> etkinleştirmeniz gerekir,
+Error creating membership entry for {0},{0} için üyelik girişi oluştururken hata oluştu,
 A customer is already linked to this Member,Bir müşteri bu Üyeye zaten bağlı,
-End Date must not be lesser than Start Date,"Bitiş Tarihi, Başlangıç Tarihinden küçük olmamalıdır",
+End Date must not be lesser than Start Date,"Bitiş Tarihi, Başlangıç Tarihinden küçük toplama",
 Employee {0} already has Active Shift {1}: {2},Çalışan {0} zaten Aktif Vardiyaya sahip {1}: {2},
  from {0},{0},
  to {0},{0},
-Please select Employee first.,Lütfen önce Çalışan seçin.,
+Please select Employee first.,Lütfen önce çalıştır seçin.,
 Please set {0} for the Employee or for Department: {1},Lütfen Çalışan veya Departman için {0} ayarlayın: {1},
 To Date should be greater than From Date,"Bitiş Tarihi, Başlangıç Tarihinden büyük olmalıdır",
 Employee Onboarding: {0} is already for Job Applicant: {1},Çalışan İlk Katılımı: {0} zaten İş Başvurusu Sahibi için: {1},
 Job Offer: {0} is already for Job Applicant: {1},"İş Teklifi: {0}, İş Başvurusu Sahibi için zaten: {1}",
-Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Yalnızca &#39;Onaylandı&#39; ve &#39;Reddedildi&#39; durumundaki Vardiya İsteği gönderilebilir,
-Shift Assignment: {0} created for Employee: {1},Vardiya Ataması: {0} Çalışan için oluşturuldu: {1},
+Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Yalnızca &#39;Onaylandı&#39; ve &#39;Reddedildi&#39; Durumunda Vardiya İsteği gönderilebilir,
+Shift Assignment: {0} created for Employee: {1},Vardiya Ataması: {0} Çalışan için yayınladı: {1},
 You can not request for your Default Shift: {0},Varsayılan Vardiyanızı talep edemezsiniz: {0},
-Only Approvers can Approve this Request.,Bu İsteği Yalnızca Onaylayanlar Onaylayabilir.,
+Only Approvers can Approve this Request.,Bu İsteği Yalnızca Onaylayanlar Onaylayabilirim.,
 Asset Value Analytics,Varlık Değeri Analitiği,
 Category-wise Asset Value,Kategori Bazında Varlık Değeri,
 Total Assets,Toplam Varlıklar,
 New Assets (This Year),Yeni Varlıklar (Bu Yıl),
-Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,"Satır # {}: Amortisman Kayıt Tarihi, Kullanıma Hazır Tarihi ile eşit olmamalıdır.",
+Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,"Satır # {}: Amortisman Kayıt Tarihi, Kullanıma Hazır Tarihi ile eşit yetkilidir.",
 Incorrect Date,Yanlış Tarih,
-Invalid Gross Purchase Amount,Geçersiz Brüt Satın Alma Tutarı,
-There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Varlığa karşı aktif bakım veya onarımlar var. Varlığı iptal etmeden önce hepsini tamamlamanız gerekir.,
+Invalid Gross Purchase Amount,Geçersiz Brüt Satınalma Tutarı,
+There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Varlığa karşı aktif bakım veya onarımlar var. Varlığını iptal etmeden önce hepsini tamamlamanız gerekir.,
 % Complete,% Tamamlayınız,
-Back to Course,Kursa dönüş,
+Back to Course,Kırsa Dön,
 Finish Topic,Konuyu Bitir,
-Mins,Dakika,
+Mins,Dakikalar,
 by,tarafından,
 Back to,Geri dön,
-Enrolling...,Kaydediliyor ...,
+Enrolling...,Kaydediliyor...,
 You have successfully enrolled for the program ,Programa başarıyla kaydoldunuz,
 Enrolled,Kayıtlı,
-Watch Intro,Tanıtımı İzle,
+Watch Intro,Tanıtım İzle,
 We're here to help!,Yardım etmek için buradayız!,
 Frequently Read Articles,Sık Okunan Makaleler,
-Please set a default company address,Lütfen varsayılan bir şirket adresi ayarlayın,
+Please set a default company address,Lütfen varsayılan bir şirket adresi ayarı,
 {0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} geçerli bir eyalet değil! Yazım hatalarını kontrol edin veya eyaletinizin ISO kodunu girin.,
-Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Hesap Planı ayrıştırılırken hata oluştu: Lütfen iki hesabın aynı ada sahip olmadığından emin olun,
+Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,Hesap Planı bölünürken hata oluştu: Lütfen iki hesabın aynı ada sahibi olduğundan emin olun,
 Plaid invalid request error,Ekose geçersiz istek hatası,
-Please check your Plaid client ID and secret values,Lütfen Plaid müşteri kimliğinizi ve gizli değerlerinizi kontrol edin,
+Please check your Plaid client ID and secret values,Lütfen Plaid müşteri kimliklerinizi ve gizli değerlerinizi kontrol edin,
 Bank transaction creation error,Banka işlemi oluşturma hatası,
-Unit of Measurement,Ölçü birimi,
+Unit of Measurement,ölçü birimi,
 Fiscal Year {0} Does Not Exist,Mali Yıl {0} Mevcut Değil,
 Row # {0}: Returned Item {1} does not exist in {2} {3},"Satır # {0}: İade Edilen Öğe {1}, {2} {3} içinde mevcut değil",
 Valuation type charges can not be marked as Inclusive,"Değerleme türü ücretler, Kapsayıcı olarak işaretlenemez",
-You do not have permissions to {} items in a {}.,Bir {} içindeki {} öğe için izniniz yok.,
+You do not have permissions to {} items in a {}.,Bir {} içinde {} öğe için izniniz yok.,
 Insufficient Permissions,Yetersiz yetkiler,
-You are not allowed to update as per the conditions set in {} Workflow.,{} İş Akışı&#39;nda belirlenen koşullara göre güncelleme yapmanıza izin verilmiyor.,
+You are not allowed to update as per the conditions set in {} Workflow.,{} İş Akışı'nda belirlenmiş sonuçlara göre güncelleme yapılmasına izin verilmiyor.,
 Expense Account Missing,Gider Hesabı Eksik,
 {0} is not a valid Value for Attribute {1} of Item {2}.,"{0}, {2} Öğesinin {1} Özniteliği için geçerli bir Değer değil.",
 Invalid Value,Geçersiz değer,
 The value {0} is already assigned to an existing Item {1}.,{0} değeri zaten mevcut bir Öğeye {1} atandı.,
 "To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Bu Öznitelik Değerini düzenlemeye devam etmek için, Öğe Varyantı Ayarlarında {0} &#39;yı etkinleştirin.",
 Edit Not Allowed,Düzenlemeye İzin Verilmiyor,
-Row #{0}: Item {1} is already fully received in Purchase Order {2},"Satır # {0}: Öğe {1}, {2} Satın Alma Siparişinde zaten tamamen alındı",
+Row #{0}: Item {1} is already fully received in Purchase Order {2},"Satır # {0}: Öğe {1}, {2} Satınalma Siparişinde zaten tamamen alınmıştır",
 You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Kapalı Hesap Döneminde herhangi bir muhasebe girişi oluşturamaz veya iptal edemezsiniz {0},
 POS Invoice should have {} field checked.,POS Faturasında {} alanı işaretlenmiş olmalıdır.,
 Invalid Item,Geçersiz Öğe,
-Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Satır # {}: Bir iade faturasına pozitif miktarlar ekleyemezsiniz. İadeyi tamamlamak için lütfen {} öğesini kaldırın.,
-The selected change account {} doesn't belongs to Company {}.,"Seçilen değişiklik hesabı {}, {} Şirketine ait değil.",
+Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Satır # {}: Bir iade faturasına pozitif miktarlar ekleyemezsiniz. İadeyi muhafaza etmek için lütfen {} aracını kaldırın.,
+The selected change account {} doesn't belongs to Company {}.,"Seçilen değişiklik hesabı {}, {} suça ait değil.",
 Atleast one invoice has to be selected.,En az bir fatura seçilmelidir.,
-Payment methods are mandatory. Please add at least one payment method.,Ödeme yöntemleri zorunludur. Lütfen en az bir ödeme yöntemi ekleyin.,
+Payment methods are mandatory. Please add at least one payment method.,Ödeme yöntemleri. Lütfen en az bir ödeme yöntemini ekleyin.,
 Please select a default mode of payment,Lütfen varsayılan bir ödeme şekli seçin,
-You can only select one mode of payment as default,Varsayılan olarak yalnızca bir ödeme şekli seçebilirsiniz,
+You can only select one mode of payment as default,Varsayılan olarak yalnızca bir ödeme yöntemi,
 Missing Account,Eksik Hesap,
-Customers not selected.,Müşteriler seçilmedi.,
+Customers not selected.,Müşteriler beklentisiydi.,
 Statement of Accounts,Hesap Bildirimi,
 Ageing Report Based On ,Dayalı Yaşlanma Raporu,
-Please enter distributed cost center,Lütfen dağıtılmış maliyet merkezini girin,
-Total percentage allocation for distributed cost center should be equal to 100,Dağıtılmış maliyet merkezi için toplam yüzde tahsisi 100&#39;e eşit olmalıdır,
+Please enter distributed cost center,Lütfen dağıtılmış maliyet merkezini giriniz,
+Total percentage allocation for distributed cost center should be equal to 100,Dağıtılmış maliyet merkezi için toplam yüzde tahsisi 100'e eşit olmalıdır,
 Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Halihazırda başka bir Dağıtılmış Maliyet Merkezinde tahsis edilmiş bir Maliyet Merkezi için Dağıtılmış Maliyet Merkezi etkinleştirilemez,
 Parent Cost Center cannot be added in Distributed Cost Center,"Üst Maliyet Merkezi, Dağıtılmış Maliyet Merkezine eklenemez",
-A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Dağıtılmış Maliyet Merkezi tahsis tablosuna Dağıtılmış Maliyet Merkezi eklenemez.,
-Cost Center with enabled distributed cost center can not be converted to group,Dağıtılmış maliyet merkezi etkinleştirilmiş Maliyet Merkezi gruba dönüştürülemez,
-Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Dağıtılmış bir Maliyet Merkezinde Zaten Tahsis Edilmiş Maliyet Merkezi gruba dönüştürülemez,
+A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Dağıtılmış Maliyet Merkezi tahsisat tablosuna Dağıtılmış Maliyet Merkezi eklenemez.,
+Cost Center with enabled distributed cost center can not be converted to group,Dağıtılmış maliyet merkezi etkinleştirilmiş Maliyet Merkezi tablosu dönüştürülemez,
+Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Dağıtılmış bir Maliyet Merkezinde Zaten Tahsis Edilmiş Maliyet Merkezi birimi dönüştürülemez,
 Trial Period Start date cannot be after Subscription Start Date,"Deneme Süresi Başlangıç tarihi, Abonelik Başlangıç Tarihinden sonra olamaz",
-Subscription End Date must be after {0} as per the subscription plan,"Abonelik Bitiş Tarihi, abonelik planına göre {0} tarihinden sonra olmalıdır",
-Subscription End Date is mandatory to follow calendar months,Takvim aylarını takip etmek için Abonelik Bitiş Tarihi zorunludur,
-Row #{}: POS Invoice {} is not against customer {},Satır # {}: POS Faturası {} müşteriye karşı değil {},
-Row #{}: POS Invoice {} is not submitted yet,Satır # {}: POS Faturası {} henüz gönderilmedi,
+Subscription End Date must be after {0} as per the subscription plan,"Abonelik Bitiş Tarihi, üyelik planına göre {0} hattı sonra olmalıdır",
+Subscription End Date is mandatory to follow calendar months,Takvim aylarını takip etmek için Abonelik Bitiş Tarihi cezaları,
+Row #{}: POS Invoice {} is not against customer {},Satır # {}: POS Faturası {} satışı karşı değil {},
+Row #{}: POS Invoice {} is not submitted yet,Satır # {}: POS Faturası {} hemen gönderilirdi,
 Row #{}: POS Invoice {} has been {},Satır # {}: POS Faturası {} {},
-No Supplier found for Inter Company Transactions which represents company {0},{0} şirketini temsil eden Şirketler Arası İşlemler için Tedarikçi bulunamadı,
+No Supplier found for Inter Company Transactions which represents company {0},{0} şirketini temsil eden Şirketler Arası İşlemler için Tedarikçi Bulunmuyor,
 No Customer found for Inter Company Transactions which represents company {0},{0} şirketini temsil eden Şirketler Arası İşlemler için Müşteri bulunamadı,
 Invalid Period,Geçersiz Dönem,
 Selected POS Opening Entry should be open.,Seçilen POS Açılış Girişi açık olmalıdır.,
 Invalid Opening Entry,Geçersiz Açılış Girişi,
-Please set a Company,Lütfen bir Şirket belirleyin,
-"Sorry, this coupon code's validity has not started","Üzgünüz, bu kupon kodunun geçerliliği başlamadı",
-"Sorry, this coupon code's validity has expired","Üzgünüz, bu kupon kodunun geçerliliği sona erdi",
+Please set a Company,Lütfen bir Şirket belirledi,
+"Sorry, this coupon code's validity has not started","Üzgünüz, bu kupon panelinin geçerliliği başlamadı",
+"Sorry, this coupon code's validity has expired","Üzgünüz, bu kupon perdenizin geçerliliği sona erdi",
 "Sorry, this coupon code is no longer valid","Üzgünüz, bu kupon kodu artık geçerli değil",
-For the 'Apply Rule On Other' condition the field {0} is mandatory,&quot;Kuralı Diğerine Uygula&quot; koşulu için {0} alanı zorunludur,
+For the 'Apply Rule On Other' condition the field {0} is mandatory,&quot;Kuralı Diğerine Uygula&quot; birleştirmeler için {0} alan kullanımları,
 {1} Not in Stock,{1} Stokta Yok,
-Only {0} in Stock for item {1},{1} öğesi için yalnızca {0} Stokta,
-Please enter a coupon code,Lütfen bir kupon kodu girin,
-Please enter a valid coupon code,Lütfen geçerli bir kupon kodu girin,
-Invalid Child Procedure,Geçersiz Çocuk Prosedürü,
-Import Italian Supplier Invoice.,İtalyan Tedarikçi Faturasını İçe Aktar.,
-"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","{0} Öğesi için Değerleme Oranı, {1} {2} için muhasebe girişleri yapmak için gereklidir.",
- Here are the options to proceed:,Devam etmek için seçenekler şunlardır:,
-"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Öğe, bu girişte Sıfır Değerleme Oranı öğesi olarak işlem görüyorsa, lütfen {0} Öğe tablosundaki &#39;Sıfır Değerleme Oranına İzin Ver&#39;i etkinleştirin.",
+Only {0} in Stock for item {1},{1} öğe için yalnızca {0} Stokta,
+Please enter a coupon code,Lütfen bir kupon kodunu giriniz,
+Please enter a valid coupon code,Lütfen geçerli bir kupon kodunu girin,
+Invalid Child Procedure,Geçersiz Çocuk cinayeti,
+Import Italian Supplier Invoice.,İtalyan tedarikçisi Faturasını İçe Aktar.,
+"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","{0} Öğesi için Değerleme Oranı, {1} {2} için muhasebe girişlerini yapmak için gereklidir.",
+ Here are the options to proceed:,Devam etmek için seçenekler bandı:,
+"If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table.","Öğe, bu girişte Sıfır Değerleme Oranı öğe olarak işlem görüyorsa, lütfen {0} Öğe tablosundaki &#39;Sıfır Değerleme Oranına İzin Ver'i etkinleştirin.",
 "If not, you can Cancel / Submit this entry ","Değilse, bu girişi İptal edebilir / Gönderebilirsiniz",
- performing either one below:,aşağıdakilerden birini gerçekleştirmek:,
+ performing either one below:,evli birini gerçekleştirme:,
 Create an incoming stock transaction for the Item.,Öğe için gelen bir stok işlemi oluşturun.,
 Mention Valuation Rate in the Item master.,Öğe ana bilgisinde Değerleme Oranından bahsedin.,
 Valuation Rate Missing,Değerleme Oranı Eksik,
@@ -9426,17 +9426,17 @@
 "Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.",Devam etmek için lütfen Ürünleri Yeniden Stoklayın ve Seçim Listesini Güncelleyin. Devam etmemek için Seçim Listesini iptal edin.,
 Out of Stock,Stoklar tükendi,
 {0} units of Item {1} is not available.,{0} Öğe birimleri {1} mevcut değil.,
-Item for row {0} does not match Material Request,"{0} satırı için öğe, Malzeme İsteği ile eşleşmiyor",
-Warehouse for row {0} does not match Material Request,"{0} satırı için depo, Malzeme Talebiyle eşleşmiyor",
+Item for row {0} does not match Material Request,"{0} tanımlama için öğe, Malzeme İsteği ile eşleşmiyor",
+Warehouse for row {0} does not match Material Request,"{0} bilgi için depo, Malzeme Talebiyle eşleşmiyor",
 Accounting Entry for Service,Hizmet için Muhasebe Girişi,
-All items have already been Invoiced/Returned,Tüm öğeler zaten Faturalandırıldı / İade edildi,
-All these items have already been Invoiced/Returned,Tüm bu öğeler zaten Faturalandırıldı / İade edildi,
+All items have already been Invoiced/Returned,Tüm sarf malzemeleri zaten faturalandırıldı / İade edildi,
+All these items have already been Invoiced/Returned,Tüm bu tüketim zaten faturalandırıldı / İade edildi,
 Stock Reconciliations,Stok Mutabakatları,
 Merge not allowed,Birleştirmeye izin verilmiyor,
-The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,Aşağıdaki silinmiş öznitelikler Varyantlarda mevcuttur ancak Şablonda yoktur. Varyantları silebilir veya nitelikleri şablonda tutabilirsiniz.,
+The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template.,aşağıdaki silinmiş öznitelikler Varyantlarda mevcuttur ancak Şablonda yoktur. Varyantları silebilir veya kullanım şablonunda tutabilirsiniz.,
 Variant Items,Varyant Öğeler,
 Variant Attribute Error,Varyant Öznitelik Hatası,
-The serial no {0} does not belong to item {1},"Seri no {0}, {1} öğesine ait değil",
+The serial no {0} does not belong to item {1},"Seri no {0}, {1} ayarı ait değil",
 There is no batch found against the {0}: {1},{0} için grup bulunamadı: {1},
 Completed Operation,Tamamlanan İşlem,
 Work Order Analysis,İş Emri Analizi,
@@ -9456,146 +9456,146 @@
 Based On Document,Belgeye Dayalı,
 Based On Data ( in years ),Verilere Dayalı (yıl olarak),
 Smoothing Constant,Sabit Düzeltme,
-Please fill the Sales Orders table,Lütfen Satış Siparişleri tablosunu doldurun,
+Please fill the Sales Orders table,Lütfen Satış Siparişleri tablosunu doldurunuz,
 Sales Orders Required,Gerekli Satış Siparişleri,
 Please fill the Material Requests table,Lütfen Malzeme Talepleri tablosunu doldurun,
 Material Requests Required,Gerekli Malzeme Talepleri,
-Items to Manufacture are required to pull the Raw Materials associated with it.,Üretilecek Öğelerin kendisiyle ilişkili Ham Maddeleri çekmesi gerekir.,
+Items to Manufacture are required to pull the Raw Materials associated with it.,Üretilecek Öğelerin yanında bulunan ilk madde ve malzemeleri çekmesi gerekir.,
 Items Required,Gerekli Öğeler,
 Operation {0} does not belong to the work order {1},"{0} işlemi, {1} iş emrine ait değil",
-Print UOM after Quantity,Miktardan Sonra UOM Yazdır,
-Set default {0} account for perpetual inventory for non stock items,Stokta olmayan öğeler için kalıcı envanter için varsayılan {0} hesabını ayarlayın,
+Print UOM after Quantity,Miktardan Sonra Birimi Yazdır,
+Set default {0} account for perpetual inventory for non stock items,Stokta olmayan sunucular için kalıcı envanter için yerleşik {0} hesabını ayarladı,
 Loan Security {0} added multiple times,Kredi Güvenliği {0} birden çok kez eklendi,
-Loan Securities with different LTV ratio cannot be pledged against one loan,Farklı LTV oranına sahip Kredi Menkul Kıymetleri tek bir krediye karşı rehin edilemez,
-Qty or Amount is mandatory for loan security!,Kredi güvenliği için Miktar veya Miktar zorunludur!,
-Only submittted unpledge requests can be approved,Yalnızca gönderilmiş makbuz talepleri onaylanabilir,
-Interest Amount or Principal Amount is mandatory,Faiz Tutarı veya Anapara Tutarı zorunludur,
+Loan Securities with different LTV ratio cannot be pledged against one loan,Farklı LTV kredilerine sahip Kredi Menkul Kıymetleri tek bir krediye karşı rehin olamaz,
+Qty or Amount is mandatory for loan security!,Kredi kurtarma için Miktar veya Miktar müşterileri!,
+Only submittted unpledge requests can be approved,Yalnızca gönderilmiş makbuz işlemleri onaylanabilir,
+Interest Amount or Principal Amount is mandatory,Faiz Tutarı veya Anapara Tutarı yaptırımları,
 Disbursed Amount cannot be greater than {0},Ödenen Tutar en fazla {0} olabilir,
 Row {0}: Loan Security {1} added multiple times,Satır {0}: Kredi Teminatı {1} birden çok kez eklendi,
-Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,"Satır # {0}: Alt Öğe, Ürün Paketi olmamalıdır. Lütfen {1} Öğesini kaldırın ve Kaydedin",
+Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,"Satır # {0}: Alt Öğe, Ürün Paketi paketi. Lütfen {1} Öğesini yükleme ve Kaydedin",
 Credit limit reached for customer {0},{0} müşterisi için kredi limitine ulaşıldı,
-Could not auto create Customer due to the following missing mandatory field(s):,Aşağıdaki zorunlu alanların eksik olması nedeniyle Müşteri otomatik olarak oluşturulamadı:,
-Please create Customer from Lead {0}.,Lütfen {0} Potansiyelinden Müşteri oluşturun.,
+Could not auto create Customer due to the following missing mandatory field(s):,Aşağıdaki zorunlu grupları eksik olması müşteri nedeniyle otomatik olarak oluşturulamadı:,
+Please create Customer from Lead {0}.,Lütfen {0} Müşteri Adayından oluşturun.,
 Mandatory Missing,Zorunlu Eksik,
-Please set Payroll based on in Payroll settings,Lütfen Bordro ayarlarına göre Bordro ayarlayın,
-Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Ek Maaş: {0} Maaş Bileşeni için zaten mevcut: {1} {2} dönemi ve {3},
+Please set Payroll based on in Payroll settings,Lütfen Bordro ayarlarına göre Bordro ayarı,
+Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Ek Maaş: {0} Maaş Bileşeni için zaten mevcut: {1} {2} dönem ve {3},
 From Date can not be greater than To Date.,"Başlangıç Tarihi, Bitiş Tarihinden büyük olamaz.",
-Payroll date can not be less than employee's joining date.,"Bordro tarihi, çalışanın işe giriş tarihinden az olamaz.",
-From date can not be less than employee's joining date.,İşçinin işe giriş tarihinden önceki tarih olamaz.,
-To date can not be greater than employee's relieving date.,Bugüne kadar çalışanın rahatlama tarihinden fazla olamaz.,
-Payroll date can not be greater than employee's relieving date.,"Bordro tarihi, çalışanın cayma tarihinden büyük olamaz.",
+Payroll date can not be less than employee's joining date.,"Bordro tarihi, çalışanların işe giriş işlemleri az olamaz.",
+From date can not be less than employee's joining date.,İşçinin işe giriş yükünün önceki tarihi olamaz.,
+To date can not be greater than employee's relieving date.,Bugüne kadar çalışanların rahatlaması fazla olamaz.,
+Payroll date can not be greater than employee's relieving date.,"Bordro tarihi, çalışanların cayma yolları büyük olamaz.",
 Row #{0}: Please enter the result value for {1},Satır # {0}: Lütfen {1} için sonuç değerini girin,
 Mandatory Results,Zorunlu Sonuçlar,
-Sales Invoice or Patient Encounter is required to create Lab Tests,Laboratuvar Testleri oluşturmak için Satış Faturası veya Hasta Karşılaşması gereklidir,
+Sales Invoice or Patient Encounter is required to create Lab Tests,Laboratuvar Testleri oluşturmak için Satış Faturası veya Hasta Karşılaması gereklidir,
 Insufficient Data,Yetersiz veri,
-Lab Test(s) {0} created successfully,{0} Laboratuar Testleri başarıyla oluşturuldu,
+Lab Test(s) {0} created successfully,{0} Laboratuar Testleri başarıyla kuruldu,
 Test :,Ölçek :,
-Sample Collection {0} has been created,Örnek Koleksiyon {0} oluşturuldu,
+Sample Collection {0} has been created,Örnek Koleksiyon {0} sahibi,
 Normal Range: ,Normal alan:,
 Row #{0}: Check Out datetime cannot be less than Check In datetime,"Satır # {0}: Teslim Alma tarih saati, Teslim Etme tarih saatinden az olamaz",
 "Missing required details, did not create Inpatient Record","Gerekli ayrıntılar eksik, Yatan Hasta Kaydı oluşturmadı",
-Unbilled Invoices,Faturalanmamış Faturalar,
-Standard Selling Rate should be greater than zero.,Standart Satış Oranı sıfırdan büyük olmalıdır.,
-Conversion Factor is mandatory,Dönüştürme Faktörü zorunludur,
-Row #{0}: Conversion Factor is mandatory,Satır # {0}: Dönüşüm Faktörü zorunludur,
+Unbilled Invoices,Faturasız Faturalar,
+Standard Selling Rate should be greater than zero.,Standart Satış Oranlarından büyük olmalıdır.,
+Conversion Factor is mandatory,Dönüştürme Faktörü tüketimi,
+Row #{0}: Conversion Factor is mandatory,Satır # {0}: Dönüşüm Faktörü Maliyetleri,
 Sample Quantity cannot be negative or 0,Örnek Miktarı negatif veya 0 olamaz,
 Invalid Quantity,Geçersiz Miktar,
 "Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Lütfen Satış Ayarlarında Müşteri Grubu, Bölge ve Satış Fiyatı Listesi için varsayılanları ayarlayın",
 {0} on {1},{1} tarihinde {0},
-{0} with {1},"{0}, {1} ile",
+{0} with {1},"{0}, {1} dosyası",
 Appointment Confirmation Message Not Sent,Randevu Onay Mesajı Gönderilmedi,
-"SMS not sent, please check SMS Settings","SMS gönderilmedi, lütfen SMS Ayarlarını kontrol edin",
+"SMS not sent, please check SMS Settings","SMS gönderirdi, lütfen SMS Ayarlarını kontrol edin",
 Healthcare Service Unit Type cannot have both {0} and {1},Sağlık Hizmeti Birimi Türünde hem {0} hem de {1} olamaz,
 Healthcare Service Unit Type must allow atleast one among {0} and {1},"Sağlık Hizmeti Birimi Türü, {0} ve {1} arasında en az birine izin vermelidir",
-Set Response Time and Resolution Time for Priority {0} in row {1}.,{1} satırında {0} Öncelik için Yanıt Süresi ve Çözüm Süresini ayarlayın.,
-Response Time for {0} priority in row {1} can't be greater than Resolution Time.,"{1} satırındaki {0} önceliği için Yanıt Süresi, Çözüm Süresinden fazla olamaz.",
+Set Response Time and Resolution Time for Priority {0} in row {1}.,{1} bilgisinde {0} Öncelik için Yanıt Süresi ve Çözüm Süresini ölçer.,
+Response Time for {0} priority in row {1} can't be greater than Resolution Time.,"{1} bilgisindeki {0} öncekiliği için Yanıt Süresi, Çözüm Süresinden fazla olamaz.",
 {0} is not enabled in {1},"{0}, {1} içinde etkinleştirilmedi",
 Group by Material Request,Malzeme Talebine Göre Gruplama,
 Email Sent to Supplier {0},Tedarikçiye Gönderilen E-posta {0},
 "The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.",Portaldan Teklif İsteğine Erişim Devre Dışı Bırakıldı. Erişime İzin Vermek için Portal Ayarlarında etkinleştirin.,
-Supplier Quotation {0} Created,Tedarikçi Teklifi {0} Oluşturuldu,
+Supplier Quotation {0} Created,tedarikçi Teklifi {0} Oluşturuldu,
 Valid till Date cannot be before Transaction Date,Tarihe kadar geçerli İşlem Tarihinden önce olamaz,
 Unlink Advance Payment on Cancellation of Order,Sipariş İptali Üzerine Peşin Ödeme Bağlantısını Kaldır,
-"Simple Python Expression, Example: territory != 'All Territories'","Basit Python İfadesi, Örnek: bölge! = &#39;Tüm Bölgeler&#39;",
+"Simple Python Expression, Example: territory != 'All Territories'","Basit Python ifadesi, Örnek: bölge! = &#39;Tüm Bölgeler&#39;",
 Sales Contributions and Incentives,Satış Katkıları ve Teşvikler,
-Sourced by Supplier,Tedarikçi Kaynaklı,
-Total weightage assigned should be 100%.<br>It is {0},Atanan toplam ağırlık% 100 olmalıdır.<br> {0},
+Sourced by Supplier,tedarikçi Kaynaklı,
+Total weightage assigned should be 100%.<br>It is {0},Atanan toplam ağırlık %100 olmalıdır.<br> {0},
 Account {0} exists in parent company {1}.,"{0} hesabı, {1} ana şirkette var.",
 "To overrule this, enable '{0}' in company {1}","Bunu geçersiz kılmak için, {1} şirketinde &quot;{0}&quot; özelliğini etkinleştirin",
-Invalid condition expression,Geçersiz koşul ifadesi,
+Invalid condition expression,Geçersiz cümle ifadesi,
 Please Select a Company First,Lütfen Önce Bir Şirket Seçin,
-Please Select Both Company and Party Type First,Lütfen Önce Şirket ve Parti Türünü Seçin,
-Provide the invoice portion in percent,Fatura kısmını yüzde olarak sağlayın,
-Give number of days according to prior selection,Önceki seçime göre gün sayısı verin,
+Please Select Both Company and Party Type First,Lütfen Önce Şirket ve Cari Türünü Seçin,
+Provide the invoice portion in percent,Fatura kısmı yüzde olarak yönlendirme,
+Give number of days according to prior selection,Önceki seçime göre gün sayısını verin,
 Email Details,E-posta Ayrıntıları,
-"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Alıcı için bir karşılama mesajı seçin. Örneğin Bay, Bayan, vb.",
-Preview Email,E-postayı Önizle,
-Please select a Supplier,Lütfen bir Tedarikçi seçin,
+"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Alıcı için bir selamlama hitabı seçin. Örneğin Sayın vb.",
+Preview Email,E-posta Önizlemesi,
+Please select a Supplier,Lütfen bir Tedarikçi seçiniz,
 Supplier Lead Time (days),Tedarikçi Teslimat Süresi (gün),
 "Home, Work, etc.","Ev, İş vb.",
-Exit Interview Held On,Yapılan Görüşmeden Çık,
-Condition and formula,Durum ve formül,
-Sets 'Target Warehouse' in each row of the Items table.,Kalemler tablosunun her satırında &#39;Hedef Depo&#39; ayarlar.,
-Sets 'Source Warehouse' in each row of the Items table.,Kalemler tablosunun her satırında &#39;Kaynak Depo&#39; ayarlar.,
+Exit Interview Held On,Çıkış Mülakat Bekleme Tarihi,
+Condition and formula,Koşul ve Formüller,
+Sets 'Target Warehouse' in each row of the Items table.,Kalemler tablosunun her tablosunda &#39;Hedef Depo&#39; ayarlar.,
+Sets 'Source Warehouse' in each row of the Items table.,Kalemler tablosunun her tablosunda &#39;Kaynak Depo&#39; ayarlar.,
 POS Register,POS Kaydı,
-"Can not filter based on POS Profile, if grouped by POS Profile","POS Profiline göre gruplandırılmışsa, POS Profiline göre filtreleme yapılamaz",
-"Can not filter based on Customer, if grouped by Customer","Müşteriye göre gruplandırılmışsa, Müşteriye göre filtreleme yapılamaz",
-"Can not filter based on Cashier, if grouped by Cashier",Kasiyere göre gruplandırılmışsa Kasiyere göre filtre edilemez,
-Payment Method,Ödeme şekli,
-"Can not filter based on Payment Method, if grouped by Payment Method",Ödeme Yöntemine göre gruplandırılmışsa Ödeme Yöntemine göre filtreleme yapılamaz,
+"Can not filter based on POS Profile, if grouped by POS Profile","POS Profiline göre gruplandırılmışsa, POS Profiline göre yapılamaz",
+"Can not filter based on Customer, if grouped by Customer","Müşteriye göre gruplandırılmışsa, müşteriyi görerek yapılamaz",
+"Can not filter based on Cashier, if grouped by Cashier",Kasiyere göre gruplandırılmışsa Kasiyere göre filtre olamaz,
+Payment Method,Ödeme Şekli,
+"Can not filter based on Payment Method, if grouped by Payment Method",Ödeme Yöntemine göre gruplandırılmışsa Ödeme Yöntemine göre yapılamaz,
 Supplier Quotation Comparison,Tedarikçi Teklif Karşılaştırması,
-Price per Unit (Stock UOM),Birim Fiyat (Stok UOM),
-Group by Supplier,Tedarikçiye Göre Gruplama,
-Group by Item,Öğeye Göre Gruplama,
-Remember to set {field_label}. It is required by {regulation}.,{Field_label} ayarlamayı unutmayın. {Düzenleme} tarafından gereklidir.,
-Enrollment Date cannot be before the Start Date of the Academic Year {0},"Kayıt Tarihi, Akademik Yılın Başlangıç Tarihinden önce olamaz {0}",
+Price per Unit (Stock UOM),Birim Fiyat (Stok Birimi),
+Group by Supplier,Tedarikçiye göre Grupla,
+Group by Item,Öğeye göre Grupla,
+Remember to set {field_label}. It is required by {regulation}.,{Field_label} ayarlamayı unutmayın. {düzenleme} tarafından dahil edilmiştir.,
+Enrollment Date cannot be before the Start Date of the Academic Year {0},"Kayıt Tarihi, Akademik Başlangıç Tarihinden önce olamaz {0}",
 Enrollment Date cannot be after the End Date of the Academic Term {0},Kayıt Tarihi Akademik Dönemin Bitiş Tarihinden sonra olamaz {0},
 Enrollment Date cannot be before the Start Date of the Academic Term {0},"Kayıt Tarihi, Akademik Dönemin Başlangıç Tarihinden önce olamaz {0}",
-Future Posting Not Allowed,Gelecekte Göndermeye İzin Verilmiyor,
-"To enable Capital Work in Progress Accounting, ","Devam Eden Sermaye Çalışması Muhasebesini etkinleştirmek için,",
-you must select Capital Work in Progress Account in accounts table,hesaplar tablosunda Devam Eden Sermaye İşlemi Hesabını seçmelisiniz,
-You can also set default CWIP account in Company {},"Ayrıca, Şirket içinde varsayılan CWIP hesabı da ayarlayabilirsiniz {}",
-The Request for Quotation can be accessed by clicking on the following button,Teklif Talebine aşağıdaki butona tıklanarak ulaşılabilir.,
+Future Posting Not Allowed,Hayatına Göndermeye İzin Verilmiyor,
+"To enable Capital Work in Progress Accounting, ","Yarı Mamul Muhasebesini etkinleştirmek için,",
+you must select Capital Work in Progress Account in accounts table,hesaplarda Sermaye Yarı Mamul Hesabını seçmelisiniz,
+You can also set default CWIP account in Company {},"Ayrıca, Şirket içinde genel CWIP hesabı da ayarlayabilirsiniz {}",
+The Request for Quotation can be accessed by clicking on the following button,Teklif Talebine aşağıdaki butona tıklanarak erişim sağlanır.,
 Regards,Saygılarımızla,
 Please click on the following button to set your new password,Yeni şifrenizi belirlemek için lütfen aşağıdaki düğmeyi tıklayın,
 Update Password,Şifreyi güncelle,
-Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},"Satır # {}: {} öğesinin satış oranı, {} değerinden düşük. {} Satışı en az {} olmalıdır",
+Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},"Satır # {}: {} öğenin satış oranı, {} değerinden düşüktür. {} Satışı en az {} olmalıdır",
 You can alternatively disable selling price validation in {} to bypass this validation.,Bu doğrulamayı atlamak için alternatif olarak {} içinde satış fiyatı doğrulamasını devre dışı bırakabilirsiniz.,
 Invalid Selling Price,Geçersiz Satış Fiyatı,
 Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresin bir Şirkete bağlanması gerekir. Lütfen Bağlantılar tablosuna Şirket için bir satır ekleyin.,
 Company Not Linked,Şirket Bağlı Değil,
-Import Chart of Accounts from CSV / Excel files,Hesap Planını CSV / Excel dosyalarından içe aktarın,
+Import Chart of Accounts from CSV / Excel files,Hesap Planını CSV / Excel dosyalarından içe aktarma,
 Completed Qty cannot be greater than 'Qty to Manufacture',Tamamlanan Miktar &quot;Üretilecek Miktar&quot; dan büyük olamaz,
-"Row {0}: For Supplier {1}, Email Address is Required to send an email","Satır {0}: Tedarikçi {1} için, e-posta göndermek için E-posta Adresi Gereklidir",
-"If enabled, the system will post accounting entries for inventory automatically","Etkinleştirilirse, sistem envanter için muhasebe girişlerini otomatik olarak kaydeder",
+"Row {0}: For Supplier {1}, Email Address is Required to send an email","Satır {0}: Tedarikçi {1} için, e-posta aramak için E-posta Adresi Gereklidir",
+"If enabled, the system will post accounting entries for inventory automatically","Etkinleştiriliyorse, sistem envanteri için muhasebe girişlerini otomatik olarak yetkilendiriyor",
 Accounts Frozen Till Date,Tarihe Kadar Dondurulan Hesaplar,
-Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Muhasebe girişleri bu tarihe kadar dondurulmuştur. Aşağıda belirtilen role sahip kullanıcılar dışında hiç kimse girdi oluşturamaz veya değiştiremez,
+Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Muhasebe girişleri bu tarihe kadar dondurulmuştur. Aşağıda belirtilen role sahip kullanıcılar dışında hiç kimse giremez oluşturamaz veya değiştiremez,
 Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Dondurulmuş Hesapları Ayarlama ve Dondurulmuş Girişleri Düzenleme Rolü,
-Address used to determine Tax Category in transactions,İşlemlerde Vergi Kategorisini belirlemek için kullanılan adres,
-"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Sipariş edilen tutara göre daha fazla faturalandırma izninizin olduğu yüzde. Örneğin, bir öğe için sipariş değeri 100 $ ise ve tolerans% 10 olarak ayarlanmışsa, 110 $ &#39;a kadar faturalandırmanıza izin verilir",
-This role is allowed to submit transactions that exceed credit limits,"Bu rolün, kredi limitlerini aşan işlemleri göndermesine izin verilir",
-"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","&quot;Aylar&quot; seçilirse, bir aydaki gün sayısına bakılmaksızın her ay için ertelenmiş gelir veya gider olarak sabit bir tutar kaydedilir. Ertelenmiş gelir veya gider tüm bir ay için rezerve edilmemişse, orantılı olacaktır.",
-"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Bu işaretlenmemişse, ertelenmiş gelir veya giderleri ayırmak için doğrudan GL girişleri oluşturulacaktır.",
+Address used to determine Tax Category in transactions,İşlemlerde Kategori Vergisini belirlemek için kullanılan adres,
+"The percentage you are allowed to bill more against the amount ordered. For example, if the order value is $100 for an item and tolerance is set as 10%, then you are allowed to bill up to $110 ","Sipariş verilen tutara göre daha fazla faturalandırma izninizin olduğu yüzde. Örneğin, bir öğe için sipariş değeri 100 $ ise ve tolerans% 10 olarak ayarlanmışsa, 110 $ 'a kadar faturalandırmanıza izin verilir",
+This role is allowed to submit transactions that exceed credit limits,"Bu rolün, kredi limitlerini aşan işlemlerin gönderilmesine izin verilir.",
+"If ""Months"" is selected, a fixed amount will be booked as deferred revenue or expense for each month irrespective of the number of days in a month. It will be prorated if deferred revenue or expense is not booked for an entire month","&quot;Aylar&quot; Kullanırken, bir aydaki gün kullanımlarında her ay için ertelenmiş gelir veya gider olarak sabit bir tutması gerekir. Ertelenmiş gelir veya giderler tüm bir ay rezerv içine olmayacakse, yaşayacak olacaktır.",
+"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Bu işaretlenmemişse, ertelenmiş gelir veya giderleri sınırlaması için doğrudan GL girişleri oluşturulacaktır.",
 Show Inclusive Tax in Print,Baskıda Kapsayıcı Vergiyi Göster,
 Only select this if you have set up the Cash Flow Mapper documents,Bunu yalnızca Nakit Akışı Eşleştiricisi belgelerini kurduysanız seçin,
 Payment Channel,Ödeme Kanalı,
-Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Satın Alma Faturası ve Fiş Oluşturma İçin Satın Alma Siparişi Gerekiyor mu?,
-Is Purchase Receipt Required for Purchase Invoice Creation?,Satın Alma Faturası Oluşturmak İçin Satın Alma Fişi Gerekli mi?,
-Maintain Same Rate Throughout the Purchase Cycle,Satın Alma Döngüsü Boyunca Aynı Oranı Koruyun,
-Allow Item To Be Added Multiple Times in a Transaction,Bir İşlemde Öğenin Birden Fazla Kez Eklenmesine İzin Ver,
+Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Satınalma Faturası ve İrsaliye oluşturmak için Satınalma Siparişi gerekiyor mu?,
+Is Purchase Receipt Required for Purchase Invoice Creation?,Satınalma Faturası oluşturmak için Satınalma İrsaliyesi gerekli mi?,
+Maintain Same Rate Throughout the Purchase Cycle,Satınalma Döngüsü Boyunca Aynı Oranı Koruyun,
+Allow Item To Be Added Multiple Times in a Transaction,Bir İşlemde Öğenin Birden Fazla Kez Eklenmesi İzin Ver,
 Suppliers,Tedarikçiler,
-Send Emails to Suppliers,Tedarikçilere E-posta Gönderin,
-Select a Supplier,Bir Tedarikçi Seçin,
-Cannot mark attendance for future dates.,Gelecek tarihler için katılım işaretlenemez.,
+Send Emails to Suppliers,Tedarikçilere E-posta Gönder,
+Select a Supplier,Bir tedarikçi Seçin,
+Cannot mark attendance for future dates.,Gelecek tarihler için işaretlenemez.,
 Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Katılımı güncellemek istiyor musunuz?<br> Şu an: {0}<br> Yok: {1},
 Mpesa Settings,Mpesa Ayarları,
 Initiator Name,Başlatıcı Adı,
 Till Number,Numaraya Kadar,
-Sandbox,Kum havuzu,
- Online PassKey,Online PassKey,
+Sandbox,Sandbox,
+ Online PassKey, Online PassKey,
 Security Credential,Güvenlik Kimlik Bilgileri,
 Get Account Balance,Hesap Bakiyesini Alın,
-Please set the initiator name and the security credential,Lütfen başlatıcı adını ve güvenlik kimlik bilgilerini ayarlayın,
+Please set the initiator name and the security credential,Lütfen başlatıcı adı ve güvenlik kimlik bilgileri güvenlik ayarı,
 Inpatient Medication Entry,Yatan Hasta İlaç Girişi,
 HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
 Item Code (Drug),Ürün Kodu (İlaç),
@@ -9622,102 +9622,102 @@
 Inpatient Medication Order Entry,Yatan Hasta İlaç Tedavisi Sipariş Girişi,
 Is Order Completed,Sipariş Tamamlandı mı,
 Employee Records to Be Created By,Oluşturulacak Çalışan Kayıtları,
-Employee records are created using the selected field,Çalışan kayıtları seçilen alan kullanılarak oluşturulur,
-Don't send employee birthday reminders,Çalışanlara doğum günü hatırlatıcıları göndermeyin,
+Employee records are created using the selected field,Çalışan kayıtları çalıştıran alan çalıştıran,
+Don't send employee birthday reminders,akrabaların doğum günü hatırlatıcıları göndermeyin,
 Restrict Backdated Leave Applications,Geriye Dönük İzin Uygulamalarını Kısıtla,
-Sequence ID,Sıra kimliği,
-Sequence Id,Sıra Kimliği,
-Allow multiple material consumptions against a Work Order,Bir İş Emrine karşı birden fazla malzeme tüketimine izin verin,
-Plan time logs outside Workstation working hours,İş İstasyonu çalışma saatleri dışında zaman günlüklerini planlayın,
+Sequence ID,Sıra No,
+Sequence Id,Sıra no,
+Allow multiple material consumptions against a Work Order,Bir İş Emrine karşı birden fazla malzeme kullanımına izin verin,
+Plan time logs outside Workstation working hours,Zaman günlüklerini İş İstasyonu çalışma saatleri dışında planlayın,
 Plan operations X days in advance,İşlemleri X gün önceden planlayın,
 Time Between Operations (Mins),İşlemler Arası Süre (Dakika),
 Default: 10 mins,Varsayılan: 10 dakika,
 Overproduction for Sales and Work Order,Satış ve İş Emri için Fazla Üretim,
-"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials",Hammaddelerin en son Değerleme Oranı / Fiyat Listesi Oranı / Son Satın Alma Oranına göre ürün reçetesi maliyetini otomatik olarak planlayıcı aracılığıyla güncelleyin,
+"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials",İlk madde ve malzemelerin en son Değerleme Oranı / Fiyat Listesi Oranı / Son Satınalma Oranına göre ürün reçetesi hesabı otomatik olarak planlayıcı aracılığıyla güncelleyin,
 Purchase Order already created for all Sales Order items,Satınalma Siparişi tüm Satış Siparişi kalemleri için zaten oluşturulmuş,
-Select Items,Eşyaları seç,
+Select Items,Ögeleri Seç,
 Against Default Supplier,Varsayılan Tedarikçiye Karşı,
-Auto close Opportunity after the no. of days mentioned above,No&#39;dan sonra Otomatik Kapanma Fırsatı yukarıda belirtilen günlerin,
-Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Satış Faturası ve İrsaliye Oluşturulması İçin Satış Siparişi Gerekiyor mu?,
-Is Delivery Note Required for Sales Invoice Creation?,Satış Faturası Oluşturmak İçin İrsaliye Gerekli mi?,
-How often should Project and Company be updated based on Sales Transactions?,Satış İşlemlerine göre Proje ve Şirket ne sıklıkla güncellenmelidir?,
-Allow User to Edit Price List Rate in Transactions,Kullanıcının İşlemlerde Fiyat Listesi Oranını Düzenlemesine İzin Ver,
-Allow Item to Be Added Multiple Times in a Transaction,Bir İşlemde Öğenin Birden Fazla Kez Eklenmesine İzin Ver,
-Allow Multiple Sales Orders Against a Customer's Purchase Order,Müşterinin Satın Alma Siparişine Karşı Birden Fazla Satış Siparişine İzin Verme,
-Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Satın Alma Oranına veya Değerleme Oranına Karşı Ürün için Satış Fiyatını Doğrulama,
+Auto close Opportunity after the no. of days mentioned above,No'dan sonra Otomatik Kapanma Fırsatı yukarıda belirtilen günlerin,
+Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Satış Faturası ve İrsaliye Oluşturulması için Satış Siparişi Gerekiyor mu?,
+Is Delivery Note Required for Sales Invoice Creation?,Satış Faturası Oluşturmak için İrsaliye Gerekli mi?,
+How often should Project and Company be updated based on Sales Transactions?,Satış İşlemlerine göre Proje ve Şirket hangi sıklıkta güncellenmelidir?,
+Allow User to Edit Price List Rate in Transactions,Kullanıcının İşlemlerinde Fiyat Listesi Oranını Düzenlemesine İzin Ver,
+Allow Item to Be Added Multiple Times in a Transaction,Bir İşlemde Öğenin Birden Fazla Kez Eklenmesi İzin Ver,
+Allow Multiple Sales Orders Against a Customer's Purchase Order,Müşterinin Satınalma Siparişine Karşı Birden Fazla Satış Siparişine İzin Ver,
+Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Alış Fiyatı veya Değerleme Oranına Karşı Ürün için Satış Fiyatını Doğrula,
 Hide Customer's Tax ID from Sales Transactions,Müşterinin Vergi Numarasını Satış İşlemlerinden Gizle,
-"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Sipariş edilen miktara göre daha fazla alma veya teslimat yapmanıza izin verilen yüzde. Örneğin, 100 birim sipariş ettiyseniz ve Ödeneğiniz% 10 ise, 110 birim almanıza izin verilir.",
+"The percentage you are allowed to receive or deliver more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed to receive 110 units.","Sipariş edilen miktara göre daha fazla alma veya teslimat yapmanıza izin verilen yüzde. Örneğin, 100 birim sipariş ettiyseniz ve Ödeneğiniz %10 ise, 110 birim almanıza izin verilir.",
 Action If Quality Inspection Is Not Submitted,Kalite Denetimi Gönderilmezse Yapılacak İşlem,
-Auto Insert Price List Rate If Missing,Eksikse Otomatik Fiyat Listesi Oranı Ekleme,
-Automatically Set Serial Nos Based on FIFO,FIFO&#39;ya Göre Seri Numaralarını Otomatik Olarak Ayarlama,
-Set Qty in Transactions Based on Serial No Input,Seri No Girişine Dayalı İşlemlerde Miktarı Ayarla,
+Auto Insert Price List Rate If Missing,Eksikse Otomatik Fiyat Listesi Oranı Ekle,
+Automatically Set Serial Nos Based on FIFO,FIFO'ya Göre Seri Numaralarını Otomatik Olarak Ayarlama,
+Set Qty in Transactions Based on Serial No Input,Seri No Girişine Dayılı İşlemlerde Miktarı Ayarla,
 Raise Material Request When Stock Reaches Re-order Level,Stok Yeniden Sipariş Düzeyine Ulaştığında Malzeme Talebini Artırın,
 Notify by Email on Creation of Automatic Material Request,Otomatik Malzeme Talebi Oluşturulduğunda E-posta ile Bildir,
-Allow Material Transfer from Delivery Note to Sales Invoice,Teslimat Notundan Satış Faturasına Malzeme Transferine İzin Ver,
-Allow Material Transfer from Purchase Receipt to Purchase Invoice,Satın Alma Faturasından Satın Alma Faturasına Malzeme Transferine İzin Ver,
+Allow Material Transfer from Delivery Note to Sales Invoice,İrsaliyeden Satış Faturasına Malzeme Transferine İzin Ver,
+Allow Material Transfer from Purchase Receipt to Purchase Invoice,İrsaliyeden Satınalma Faturasına Malzeme Transferine İzin Ver,
 Freeze Stocks Older Than (Days),(Günden Daha Eski) Stokları Dondur,
 Role Allowed to Edit Frozen Stock,Dondurulmuş Stoku Düzenlemede İzin Verilen Rol,
-The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,"Ayrılmamış Ödeme Giriş tutarı {0}, Banka İşleminin ayrılmamış tutarından daha büyük",
-Payment Received,Ödeme alındı,
+The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,"Ayrılmamış Ödeme Giriş birimleri {0}, Banka İşleminin ayrılmamış geçişlerden daha büyük",
+Payment Received,Ödeme Alındı,
 Attendance cannot be marked outside of Academic Year {0},Katılım Akademik Yıl dışında işaretlenemez {0},
-Student is already enrolled via Course Enrollment {0},"Öğrenci, Kurs Kaydı aracılığıyla zaten kayıtlı {0}",
+Student is already enrolled via Course Enrollment {0},"Öğrenci, Kurs Kaydır aracılığıyla zaten kayıtlı {0}",
 Attendance cannot be marked for future dates.,Katılım gelecek tarihler için işaretlenemez.,
-Please add programs to enable admission application.,Lütfen kabul başvurusunu etkinleştirmek için programlar ekleyin.,
-The following employees are currently still reporting to {0}:,Aşağıdaki çalışanlar şu anda hâlâ {0} &#39;a rapor veriyor:,
-Please make sure the employees above report to another Active employee.,Lütfen yukarıdaki çalışanların başka bir Aktif çalışana rapor verdiğinden emin olun.,
+Please add programs to enable admission application.,Lütfen kabul programını kullanmak için programları ekleyin.,
+The following employees are currently still reporting to {0}:,Aşağıdaki çalışanlar şu anda yaşıyor {0} &#39;a rapor veriyor:,
+Please make sure the employees above report to another Active employee.,Lütfen yukarıdaki işyerinde başka bir çalışana rapor ettiğinden emin olun.,
 Cannot Relieve Employee,Çalışanı Rahatlatamaz,
 Please enter {0},Lütfen {0} girin,
-Please select another payment method. Mpesa does not support transactions in currency '{0}',"Lütfen başka bir ödeme yöntemi seçin. Mpesa, &#39;{0}&#39; para birimindeki işlemleri desteklemiyor",
+Please select another payment method. Mpesa does not support transactions in currency '{0}',"Lütfen başka bir ödeme yöntemini seçin. Mpesa, &#39;{0}&#39; para birimindeki işlemler desteklenmiyor",
 Transaction Error,İşlem Hatası,
 Mpesa Express Transaction Error,Mpesa Express İşlem Hatası,
-"Issue detected with Mpesa configuration, check the error logs for more details","Mpesa yapılandırmasında sorun algılandı, daha fazla ayrıntı için hata günlüklerini kontrol edin",
-Mpesa Express Error,Mpesa Express Hatası,
+"Issue detected with Mpesa configuration, check the error logs for more details","Mpesa cennetinde sorun algılandı, daha fazla ayrıntı için hata günlüklerini kontrol edin",
+Mpesa Express Error,Mpesa Ekspres Hatası,
 Account Balance Processing Error,Hesap Bakiyesi İşleme Hatası,
-Please check your configuration and try again,Lütfen yapılandırmanızı kontrol edin ve tekrar deneyin,
+Please check your configuration and try again,Lütfen geçitlerinizi kontrol edin ve tekrar deneyin.,
 Mpesa Account Balance Processing Error,Mpesa Hesap Bakiyesi İşleme Hatası,
 Balance Details,Bakiye Ayrıntıları,
 Current Balance,Mevcut Bakiye,
 Available Balance,Kalan bakiye,
 Reserved Balance,Ayrılmış Bakiye,
 Uncleared Balance,Temizlenmemiş Bakiye,
-Payment related to {0} is not completed,{0} ile ilgili ödeme tamamlanmadı,
-Row #{}: Item Code: {} is not available under warehouse {}.,"Satır # {}: Öğe Kodu: {}, {} deposunda kullanılamaz.",
-Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Satır # {}: Stok miktarı Ürün Kodu için yeterli değil: {} depo altında {}. Mevcut Miktarı {}.,
-Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Satır # {}: Lütfen bir seri numarası ve ürüne karşı parti seçin: {} veya işlemi tamamlamak için bunu kaldırın.,
-Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Satır # {}: {} öğeye karşı seri numarası seçilmedi. İşlemi tamamlamak için lütfen birini seçin veya kaldırın.,
-Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Satır # {}: Öğeye karşı parti seçilmedi: {}. İşlemi tamamlamak için lütfen bir grup seçin veya kaldırın.,
-Payment amount cannot be less than or equal to 0,Ödeme tutarı 0&#39;dan küçük veya 0&#39;a eşit olamaz,
-Please enter the phone number first,Lütfen önce telefon numarasını girin,
+Payment related to {0} is not completed,{0} ile ilgili ödeme tamamlamadı,
+Row #{}: Item Code: {} is not available under warehouse {}.,"Satır # {}: Öge Kodu: {}, {} deposunda kolaylıklar.",
+Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Satır # {}: Stok miktarı Ürün Kodu için yeterli değil: {} deposu altında {}. Mevcut Miktarı {}.,
+Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Satır # {}: Lütfen bir seri numarası ve ürüne karşı parti seçin: {} veya işlemi kullanmak için onu kaldırmak.,
+Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Satır # {}: {} öğeye karşı seri numarası olması gerekiyordu. İşlemi muhafaza etmek için lütfen birini seçin veya yükleyin.,
+Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Satır # {}: Öğeye karşı parti olmasıdi: {}. İşlemi bölmek için lütfen bir grup seçin veya yükleyin.,
+Payment amount cannot be less than or equal to 0,Ödeme parçaları 0'dan küçük veya 0'a eşit olamaz,
+Please enter the phone number first,Lütfen önce telefon numarasını giriniz,
 Row #{}: {} {} does not exist.,Satır # {}: {} {} mevcut değil.,
-Row #{0}: {1} is required to create the Opening {2} Invoices,Satır # {0}: {1} Açılış {2} Faturalarını oluşturmak için gereklidir,
-You had {} errors while creating opening invoices. Check {} for more details,Açılış faturaları oluştururken {} hata yaptınız. Daha fazla ayrıntı için {} adresini kontrol edin,
+Row #{0}: {1} is required to create the Opening {2} Invoices,Satır # {0}: {1} Açılış {2} Faturalarını oluşturmak için kuruluş,
+You had {} errors while creating opening invoices. Check {} for more details,Açılış faturaları oluştururken {} hata yaptı. Daha fazla detay için {} adresi kontrol edin,
 Error Occured,Hata oluştu,
 Opening Invoice Creation In Progress,Fatura Oluşturma İşleminin Açılması,
 Creating {} out of {} {},{} / {} {} Oluşturuluyor,
-(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Seri No: {0}), Satış Siparişini tamamlamak üzere yeniden sunulduğu için kullanılamaz {1}.",
-Item {0} {1},Öğe {0} {1},
-Last Stock Transaction for item {0} under warehouse {1} was on {2}.,{1} deposu altındaki {0} öğesi için son Stok İşlemi {2} tarihinde yapıldı.,
-Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,{1} deposu altındaki {0} Öğesi için Stok İşlemleri bu süreden önce deftere nakledilemez.,
-Posting future stock transactions are not allowed due to Immutable Ledger,Immutable Ledger nedeniyle gelecekteki hisse senedi işlemlerinin kaydedilmesine izin verilmiyor,
-A BOM with name {0} already exists for item {1}.,{1} öğesi için {0} adlı bir malzeme listesi zaten var.,
-{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Öğeyi yeniden adlandırdınız mı? Lütfen Yönetici / Teknik destek ile iletişime geçin,
-At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},"{0}. Satırda: {1} sıra kimliği, önceki satır dizisi kimliğinden {2} küçük olamaz",
-The {0} ({1}) must be equal to {2} ({3}),"{0} ({1}), {2} ({3}) değerine eşit olmalıdır",
-"{0}, complete the operation {1} before the operation {2}.","{0}, işlemi {1} işlemden önce tamamlayın {2}.",
-Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Öğe {0}, Seri No.&#39;ya göre Teslimat ile veya Olmadan eklendiği için Seri No ile teslimat garanti edilemiyor.",
-Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Öğe {0} Seri No.&#39;ya sahip değil Yalnızca serili ürünlerde Seri No.&#39;ya göre teslimat yapılabilir,
-No active BOM found for item {0}. Delivery by Serial No cannot be ensured,{0} öğesi için etkin ürün reçetesi bulunamadı. Seri No ile teslimat garanti edilemez,
-No pending medication orders found for selected criteria,Seçilen kriterler için bekleyen ilaç siparişi bulunamadı,
-From Date cannot be after the current date.,"Başlangıç Tarihi, geçerli tarihten sonra olamaz.",
-To Date cannot be after the current date.,"Bitiş Tarihi, geçerli tarihten sonra olamaz.",
-From Time cannot be after the current time.,From Time şimdiki zamandan sonra olamaz.,
-To Time cannot be after the current time.,To Time şimdiki zamandan sonra olamaz.,
-Stock Entry {0} created and ,{0} Stok Girişi oluşturuldu ve,
+(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Seri No: {0}), Satış Siparişini muhafaza etmek üzere yeniden sunulduğu için götürmek {1}.",
+Item {0} {1},öğe {0} {1},
+Last Stock Transaction for item {0} under warehouse {1} was on {2}.,{1} depolama verileri {0} öğesi için son Stok İşlemi {2} tarihinde yapıldı.,
+Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,{1}depo verileri {0} Öğesi için Stok İşlemleri bu süreden önce deftere aktarılamaz.,
+Posting future stock transactions are not allowed due to Immutable Ledger,Immutable Ledger nedeniyle kaynakları hisse senedi işlemlerinin kaydedilmesine izin verilmiyor,
+A BOM with name {0} already exists for item {1}.,{1} öğe için {0} adlı bir malzeme listesi zaten var.,
+{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Öğeyi yeniden adlandırdınız mı? Lütfen Yönetici / Teknik destek ile iletişim geçin,
+At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},"{0}. Satırda: {1} sıralı kimlik, önceki satır dizisi kimliğinden {2} küçük olamaz",
+The {0} ({1}) must be equal to {2} ({3}),"{0} ({1}), {2} ({3}) eşit olmalıdır",
+"{0}, complete the operation {1} before the operation {2}.","{0}, işlem {1} işlemden önce tamamlayın {2}.",
+Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Öğe {0}, Seri No.ya göre Teslimat ile veya Olmadan eklendiği için Seri No ile teslimat garanti edilemiyor.",
+Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Öğe {0} Seri No.'ya sahip değil Yalnızca serili ürünlerde Seri No.'ya göre kargo yapılabilir,
+No active BOM found for item {0}. Delivery by Serial No cannot be ensured,{0} öğesi için etkin ürün reçetesi bulunmuyor. Seri No ile teslimat garanti edilemez,
+No pending medication orders found for selected criteria,Seçilen hükümler için bekleyen ilaç siparişi bulunamadı,
+From Date cannot be after the current date.,"Başlangıç Tarihi, geçerli sınırlama sonra olamaz.",
+To Date cannot be after the current date.,"Bitiş Tarihi, geçerli açıklaması sonra olamaz.",
+From Time cannot be after the current time.,From Time zaman sınırı sonra olamaz.,
+To Time cannot be after the current time.,To Time zaman sınırı sonra olamaz.,
+Stock Entry {0} created and ,{0} Stok Hareketi kaydı ve,
 Inpatient Medication Orders updated successfully,Yatan Hasta İlaç Tedbirleri başarıyla güncellendi,
 Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Satır {0}: İptal edilen Yatarak İlaç Emri {1} için Yatan Hasta İlaç Girişi yaratılamıyor,
 Row {0}: This Medication Order is already marked as completed,Satır {0}: Bu İlaç Tedavisi Siparişi zaten tamamlandı olarak işaretlendi,
-Quantity not available for {0} in warehouse {1},{1} deposunda {0} için miktar mevcut değil,
-Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Devam etmek için lütfen Stok Ayarlarında Negatif Stoka İzin Ver&#39;i etkinleştirin veya Stok Girişi oluşturun.,
+Quantity not available for {0} in warehouse {1},{1}haftasında {0} için miktar mevcut değil,
+Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Devam etmek için lütfen Stok Yapılandırmalarında Negatif Stoka İzin Sürümünü etkinleştirin veya Stok Hareketi oluşturun.,
 No Inpatient Record found against patient {0},Hastaya karşı Yatan Hasta Kaydı bulunamadı {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Hasta Karşılaşmasına karşı {0} Yatarak Tedavi Emri {1} zaten mevcut.,
 Allow In Returns,İadelere İzin Ver,
@@ -9731,110 +9731,402 @@
 Non Conformance,Uygunsuzluk,
 Process Owner,İşlem Sahibi,
 Corrective Action,Düzeltici eylem,
-Preventive Action,Önleyici eylem,
-Problem,Sorun,
-Responsible,Sorumluluk sahibi,
-Completion By,Tamamlayan,
+Preventive Action,Önleyici eylemleyici,
+Problem,sorun,
+Responsible,sorumluluk sahibi,
+Completion By,tamamlayan,
 Process Owner Full Name,İşlem Sahibinin Tam Adı,
 Right Index,Sağ Dizin,
 Left Index,Sol Dizin,
-Sub Procedure,Alt Prosedür,
+Sub Procedure,Alt çember,
 Passed,Geçti,
 Print Receipt,Makbuzu yazdır,
-Edit Receipt,Makbuzu Düzenle,
+Edit Receipt,Makbuzu düzenleyici,
 Focus on search input,Arama girdisine odaklanın,
-Focus on Item Group filter,Öğe Grubu filtresine odaklanın,
+Focus on Item Group filter,Öğe Grubu odaklarının odak noktası,
 Checkout Order / Submit Order / New Order,Ödeme Siparişi / Sipariş Gönder / Yeni Sipariş,
 Add Order Discount,Sipariş İndirimi Ekle,
-Item Code: {0} is not available under warehouse {1}.,"Ürün Kodu: {0}, {1} deposunda kullanılamaz.",
-Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,{1} deposu altındaki Öğe {0} için seri numaraları kullanılamıyor. Lütfen depoyu değiştirmeyi deneyin.,
+Item Code: {0} is not available under warehouse {1}.,"Ürün Kodu: {0}, {1} deposunda bulunur.",
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,{1} depolama dosyası Öğesi {0} için seri numaraları kullanılamıyor. Lütfen depoyu değiştirmeyi deneyin.,
 Fetched only {0} available serial numbers.,Yalnızca {0} kullanılabilir seri numarası getirildi.,
 Switch Between Payment Modes,Ödeme Modları Arasında Geçiş Yapın,
-Enter {0} amount.,{0} tutarı girin.,
-You don't have enough points to redeem.,Kullanmak için yeterli puanınız yok.,
+Enter {0} amount.,{0} hanelerini girin.,
+You don't have enough points to redeem.,kullanıcık için yeterli puanınız yok.,
 You can redeem upto {0}.,En çok {0} kullanabilirsiniz.,
-Enter amount to be redeemed.,Kullanılacak tutarı girin.,
+Enter amount to be redeemed.,Kullanılacak bölümleri giriniz.,
 You cannot redeem more than {0}.,{0} adetten fazlasını kullanamazsınız.,
 Open Form View,Form Görünümünü Aç,
-POS invoice {0} created succesfully,POS faturası {0} başarıyla oluşturuldu,
-Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Stok miktarı Ürün Kodu için yeterli değil: {0} depo altında {1}. Mevcut miktar {2}.,
+POS invoice {0} created succesfully,POS faturası {0} başarıyla kuruldu,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Stok miktarı Ürün Kodu için yeterli değil: {1} altında {0} deposu. Mevcut miktar {2}.,
 Serial No: {0} has already been transacted into another POS Invoice.,Seri No: {0} zaten başka bir POS Faturasına dönüştürüldü.,
 Balance Serial No,Denge Seri No,
-Warehouse: {0} does not belong to {1},"Depo: {0}, {1} şirketine ait değil",
-Please select batches for batched item {0},Lütfen {0} toplu öğe için grupları seçin,
+Warehouse: {0} does not belong to {1},"Depo: {0}, {1} yerleşimi ait değil",
+Please select batches for batched item {0},Lütfen {0} toplu öğe için gruplar seçin,
 Please select quantity on row {0},Lütfen {0}. Satırdaki miktarı seçin,
 Please enter serial numbers for serialized item {0},Lütfen serileştirilmiş öğe {0} için seri numaralarını girin,
-Batch {0} already selected.,{0} grubu zaten seçildi.,
+Batch {0} already selected.,{0} grubu zaten seçilmiş.,
 Please select a warehouse to get available quantities,Lütfen mevcut miktarları almak için bir depo seçin,
-"For transfer from source, selected quantity cannot be greater than available quantity","Kaynaktan transfer için, seçilen miktar mevcut miktardan büyük olamaz",
+"For transfer from source, selected quantity cannot be greater than available quantity","Kaynaktan transfer için, seçilen miktar mevcut miktar büyük olamaz",
 Cannot find Item with this Barcode,Bu Barkoda Sahip Öğe Bulunamıyor,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} zorunludur. {1} - {2} için Para Birimi Değişimi kaydı oluşturulmamış olabilir,
-{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} kendisine bağlı varlıklar gönderdi. Satın alma iadesi oluşturmak için varlıkları iptal etmeniz gerekir.,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} yaptırımlar. {1} - {2} için Para Birimi Değişimi kaydı oluşturulmamış olabilir,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} kendisine bağlı varlıkları gönderdi. Satın almayı oluşturmak için varlıkları iptal etmeniz gerekir.,
 Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Gönderilen {0} varlığıyla bağlantılı olduğu için bu belge iptal edilemez. Devam etmek için lütfen iptal edin.,
 Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Satır # {}: Seri No. {} zaten başka bir POS Faturasına dönüştürüldü. Lütfen geçerli bir seri numarası seçin.,
 Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Satır # {}: Seri Numaraları {} zaten başka bir POS Faturasına dönüştürüldü. Lütfen geçerli bir seri numarası seçin.,
 Item Unavailable,Öğe Mevcut Değil,
-Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Satır # {}: Orijinal faturada işlem görmediğinden Seri Numarası {} iade edilemez {},
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Satır # {}: Orijinal faturada işlem görmediğinden Seri Numarası {} iade etmeyen {},
 Please set default Cash or Bank account in Mode of Payment {},Lütfen Ödeme Modunda varsayılan Nakit veya Banka hesabını ayarlayın {},
 Please set default Cash or Bank account in Mode of Payments {},Lütfen Ödeme Modu&#39;nda varsayılan Nakit veya Banka hesabını ayarlayın {},
-Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Lütfen {} hesabının bir Bilanço hesabı olduğundan emin olun. Ana hesabı bir Bilanço hesabı olarak değiştirebilir veya farklı bir hesap seçebilirsiniz.,
-Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Lütfen {} hesabının Alacaklı bir hesap olduğundan emin olun. Hesap türünü Borçlu olarak değiştirin veya farklı bir hesap seçin.,
-Row {}: Expense Head changed to {} ,Satır {}: Gider Başlığı {} olarak değiştirildi,
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Lütfen {} hesabının bir Bilanço hesabı olduğundan emin olun. Ana hesabı bir Bilanço hesabı olarak dağıtma veya farklı bir hesaptan çalıştırma.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Lütfen {} hesabının Alacaklı bir hesabı olduğundan emin olun. Hesap açma Borçlu olarak taşıma veya farklı bir hesap seçin.,
+Row {}: Expense Head changed to {} ,Satır {}: Gider Başlığı {} olarak değiştirilir,
 because account {} is not linked to warehouse {} ,çünkü {} hesabı {} deposuna bağlı değil,
-or it is not the default inventory account,veya varsayılan envanter hesabı değil,
+or it is not the default inventory account,veya geniş envanter hesabı değil,
 Expense Head Changed,Gider Başlığı Değiştirildi,
-because expense is booked against this account in Purchase Receipt {},çünkü Satın Alma Makbuzunda bu hesap için gider ayrılmıştır {},
-as no Purchase Receipt is created against Item {}. ,Öğe {} karşılığında Satın Alma Fişi oluşturulmadığından.,
-This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Bu, Satın Alma Faturasından sonra Satın Alma Makbuzunun oluşturulduğu durumlarda muhasebeyi işlemek için yapılır.",
-Purchase Order Required for item {},{} Öğesi için Satın Alma Siparişi Gerekli,
-To submit the invoice without purchase order please set {} ,Faturayı satın alma siparişi olmadan göndermek için lütfen {} ayarlayın,
+because expense is booked against this account in Purchase Receipt {},çünkü Satınalma Makbuzunda bu hesap için giderleri kaldırdı {},
+as no Purchase Receipt is created against Item {}. ,Öğe {} Satın alma deposu Alma Fişi oluşturmadığından.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Bu, Satınalma Faturasından sonra Satınalma Makbuzunun oluşturulduğu yerlerde muhasebeyi işlemek için yapılır.",
+Purchase Order Required for item {},{} Öğesi için Satınalma Siparişi Gerekli,
+To submit the invoice without purchase order please set {} ,Faturayı satınalma siparişi beklemeden için lütfen {} ayarlayın,
 as {} in {},de olduğu gibi {},
-Mandatory Purchase Order,Zorunlu Satın Alma Siparişi,
-Purchase Receipt Required for item {},{} Öğesi için Satın Alma Fişi Gerekli,
-To submit the invoice without purchase receipt please set {} ,Faturayı satın alma makbuzu olmadan göndermek için lütfen {},
-Mandatory Purchase Receipt,Zorunlu Satın Alma Fişi,
-POS Profile {} does not belongs to company {},"POS Profili {}, {} şirketine ait değil",
+Mandatory Purchase Order,Zorunlu Satınalma Siparişi,
+Purchase Receipt Required for item {},{} Öğesi için Satınalma Fişi Gerekli,
+To submit the invoice without purchase receipt please set {} ,Faturayı satınalma makbuzu olmadan beklemek için lütfen {},
+Mandatory Purchase Receipt,Zorunlu Satınalma Fişi,
+POS Profile {} does not belongs to company {},"POS Profili {}, {} işletmesi ait değil",
 User {} is disabled. Please select valid user/cashier,Kullanıcı {} devre dışı bırakıldı. Lütfen geçerli kullanıcı / kasiyer seçin,
 Row #{}: Original Invoice {} of return invoice {} is {}. ,Satır # {}: İade faturasının {} Orijinal Faturası {}.,
 Original invoice should be consolidated before or along with the return invoice.,"Orijinal fatura, iade faturasıyla birlikte veya öncesinde konsolide edilmelidir.",
-You can add original invoice {} manually to proceed.,Devam etmek için orijinal faturayı {} manuel olarak ekleyebilirsiniz.,
+You can add original invoice {} manually to proceed.,Devam etmek için orijinal faturayı {} manuel olarak kiralamak.,
 Please ensure {} account is a Balance Sheet account. ,Lütfen {} hesabının bir Bilanço hesabı olduğundan emin olun.,
-You can change the parent account to a Balance Sheet account or select a different account.,Ana hesabı bir Bilanço hesabı olarak değiştirebilir veya farklı bir hesap seçebilirsiniz.,
+You can change the parent account to a Balance Sheet account or select a different account.,Ana hesabı bir Bilanço hesabı olarak dağıtma veya farklı bir hesaptan çalıştırma.,
 Please ensure {} account is a Receivable account. ,Lütfen {} hesabının bir Alacak hesabı olduğundan emin olun.,
-Change the account type to Receivable or select a different account.,Hesap türünü Alacak olarak değiştirin veya farklı bir hesap seçin.,
-{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Kazanılan Bağlılık Puanları kullanıldığından {} iptal edilemez. Önce {} Hayır {} &#39;ı iptal edin,
+Change the account type to Receivable or select a different account.,Hesap oluşturma Alacak olarak iletmek veya farklı bir hesap seçin.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Kazanılan Sadakat Puanları yöneticinin {} iptal etmesi mümkün değil. Önce {} Hayır {} &#39;ı iptal edin,
 already exists,zaten var,
-POS Closing Entry {} against {} between selected period,Seçilen dönem arasında {} karşısında POS Kapanış Girişi {},
+POS Closing Entry {} against {} between selected period,Seçilen dönemler arasında {} karşısında POS Kapanış Girişi {},
 POS Invoice is {},POS Faturası {},
 POS Profile doesn't matches {},POS Profili {} ile eşleşmiyor,
 POS Invoice is not {},POS Faturası {} değil,
 POS Invoice isn't created by user {},POS Faturası kullanıcı tarafından oluşturulmaz {},
-Row #{}: {},Kürek çekmek #{}: {},
+Row #{}: {},Kürek çekme #{}: {},
 Invalid POS Invoices,Geçersiz POS Faturaları,
-Please add the account to root level Company - {},Lütfen hesabı kök düzeyindeki Şirkete ekleyin - {},
-"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Alt Şirket {0} için hesap oluşturulurken, {1} ebeveyn hesabı bulunamadı. Lütfen ilgili COA&#39;da üst hesabı oluşturun",
-Account Not Found,Hesap bulunamadı,
-"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Alt Şirket {0} için hesap oluşturulurken, {1} ana hesap bir genel muhasebe hesabı olarak bulundu.",
+Please add the account to root level Company - {},Lütfen hesabın kök bölgesindeki Şirkete ekleyin - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Alt Şirket {0} için hesap oluştururken, {1} ebeveyn hesabı bulunamadı. Lütfen ilgili COA&#39;da üst hesabı oluşturun",
+Account Not Found,hesap bulunamadı,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Alt Şirket {0} için hesap oluştururken, {1} ana hesap bir genel muhasebe hesabı olarak bulundu.",
 Please convert the parent account in corresponding child company to a group account.,Lütfen ilgili alt şirketteki ana hesabı bir grup hesabına dönüştürün.,
-Invalid Parent Account,Geçersiz Ebeveyn Hesabı,
-"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Uyuşmazlığı önlemek için yeniden adlandırılmasına yalnızca ana şirket {0} aracılığıyla izin verilir.,
+Invalid Parent Account,Geçersiz Hesabı,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Uyuşmazlığı önlemek için yeniden adlandırılmasına yalnızca ana şirket {0} yoluyla izin verilir.,
 "If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","{0} {1} Öğenin miktarları {2} ise, şema {3} öğeye uygulanacaktır.",
-"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","{0} {1} değerinde öğe {2} iseniz, şema {3} öğeye uygulanacaktır.",
-"As the field {0} is enabled, the field {1} is mandatory.","{0} alanı etkinleştirildiğinde, {1} alanı zorunludur.",
-"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0} alanı etkinleştirildiğinde, {1} alanının değeri 1&#39;den fazla olmalıdır.",
-Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Satış Siparişini tamamlamak için ayrıldığından {1} öğenin Seri Numarası {0} teslim edilemiyor {2},
-"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Satış Siparişi {0}, {1} öğesi için rezervasyona sahip, yalnızca {0} karşılığında {1} ayrılmış olarak teslim edebilirsiniz.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","{0} {1} değerinde öğe {2} yaptırmak, şema {3} öğeye uygulanacaktır.",
+"As the field {0} is enabled, the field {1} is mandatory.","{0} alanı etkinleştirildiğinde, {1} alanı sunucuları.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0} alanı etkinleştirildiğinde, {1} bağlantı değeri 1'den fazla olmalıdır.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Satış Siparişini muhafaza etmek için yükümlülüklerinden {1} öğenin Seri Numarası {0} teslim edilemiyor {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Satış Siparişi {0}, {1} parça için rezervasyona sahip, yalnızca {0} oda {1} ayrılmış olarak teslim alabilir.",
 {0} Serial No {1} cannot be delivered,{0} Seri No {1} teslim edilemiyor,
-Row {0}: Subcontracted Item is mandatory for the raw material {1},"Satır {0}: Alt Sözleşmeli Öğe, hammadde {1} için zorunludur",
+Row {0}: Subcontracted Item is mandatory for the raw material {1},"Satır {0}: Taşeronluk Öğe {1} hammaddesi için zorunludur",
 "As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Yeterli hammadde olduğundan, Depo {0} için Malzeme Talebi gerekli değildir.",
 " If you still want to proceed, please enable {0}.","Hala devam etmek istiyorsanız, lütfen {0} &#39;yi etkinleştirin.",
 The item referenced by {0} - {1} is already invoiced,{0} - {1} tarafından referans verilen öğe zaten faturalanmış,
-Therapy Session overlaps with {0},"Terapi Oturumu, {0} ile çakışıyor",
+Therapy Session overlaps with {0},"Terapi Oturumu, {0} ile sınırlıyor",
 Therapy Sessions Overlapping,Çakışan Terapi Seansları,
 Therapy Plans,Tedavi Planları,
 "Item Code, warehouse, quantity are required on row {0}","{0}. Satırda Öğe Kodu, depo, miktar gerekli",
-Get Items from Material Requests against this Supplier,Bu Tedarikçiye Karşı Malzeme Taleplerinden Ürün Alın,
-Enable European Access,Avrupa Erişimini Etkinleştir,
-Creating Purchase Order ...,Satın Alma Siparişi Oluşturuluyor ...,
-"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Aşağıdaki öğelerin Varsayılan Tedarikçilerinden bir Tedarikçi seçin. Seçim üzerine, yalnızca seçilen Tedarikçiye ait ürünler için bir Satın Alma Siparişi verilecektir.",
-Row #{}: You must select {} serial numbers for item {}.,Satır # {}: {} öğesi için {} seri numaralarını seçmelisiniz.,
+Get Items from Material Requests against this Supplier,Bu Tedarikçiye karşın Malzeme Taleplerinden Ürünleri Getir,
+Enable European Access,Avrupa Erişimini Etkinleştirin,
+Creating Purchase Order ...,Satınalma Siparişi Oluşturuyor ...,
+"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Aşağıdaki seçenekler varsayılan tedarikçilerinden bir tedarikçi seçin. Seçim üzerine, yalnızca seçilen tedarikçiye ait ürünler için bir Satınalma Siparişi verecek.",
+Row #{}: You must select {} serial numbers for item {}.,Satır # {}: {} öğe için {} seri numaralarını seçmelisiniz.,
+qty,Miktar,
+Bulk Edit,Toplu Düzenle,
+Qualified,Nitelikli,
+Unqualified,Niteliksiz,
+Qualified By,Yeterlilik Veren,
+Qualified on,Yeterlilik Tarihi,
+Qualification Status,Yeterlilik Durumu,
+Is Template,Şablon mu,
+Price List Defaults,Fiyat Listesi Varsayılanları,
+Auto Insert Item Price If Missing,Eksikse Öğe Fiyatını Otomatik Ekle,
+Update Existing Price List Rate,Mevcut Fiyat Listesi Oranını Güncelle,
+Stock Transactions Settings,Stok İşlem Ayarları,
+Role Allowed to Over Deliver/Receive,Aşırı Teslim Etmeye/Almaya İzin Verilen Rol,
+Reports & Masters,Raporlar ve Masterlar,
+Let's Set Up the Assets Module.,Assets Modülünü Kuralım!,
+"Assets, Depreciations, Repairs, and more.","Varlıklar, Amortismanlar, Onarımlar ve daha fazlası.",
+Review Fixed Asset Accounts,Sabit Kıymet Hesaplarını İnceleyin,
+Define Asset Category,Varlık Kategorisini Tanımla,
+Create an Asset Item,Bir Varlık Öğesi Oluşturun,
+Purchase an Asset,Bir Varlık Satın Alın,
+Add an Existing Asset,Mevcut Bir Varlık Ekle,
+Settings & Configurations,Ayarlar ve Yapılandırmalar,
+Let's Set Up the Selling Module.,Haydi Satış Modülünü Kuralım!,
+"Products, Sales, Analysis, and more.","Ürünler, Satış, Analiz ve daha fazlası.",
+Let's Set Up the Buying Module.,Haydi Satınalma Modülünü Kuralım!,
+"Products, Purchases, Analysis, and more.","Ürünler, Satın Almalar, Analizler ve daha fazlası.",
+Track Material Request,Malzeme Talebini Takip et,
+Create first Purchase Order,İlk Satınalma Siparişini oluşturun,
+Opening & Closing,Açılış & Kapanış,
+Connections,Bağlantılar,
+Basic Info,Temel Bilgiler,
+Desk Settings,Desk Ayarları,
+Desk Theme,Desk Teması,
+Roles & Permissions,Roller ve İzinler,
+Items & Pricing,Ürünler & Fiyatlandırma,
+Let's Set Up the Stock Module,Haydi Stok Modülünü Kuralım!,
+Set up your Warehouse,Deponuzu Ayarlayın,
+Create a Product,Bir Ürün Oluşturun,
+Create a Supplier,Bir Tedarikçi Oluşturun,
+Let's Set Up Your Accounts and Taxes.,Haydi Hesaplarınızı ve Vergilerinizi Ayarlayalım!,
+"Accounts, Invoices, Taxation, and more.","Hesaplar, Faturalar, Vergilendirme ve daha fazlası.",
+Review Chart of Accounts,Hesap Planını Gözden geçirin,
+Cost Centers for Budgeting and Analysis,Bütçeleme ve Analiz için Maliyet Merkezleri,
+Create Your First Purchase Invoice ,İlk Satınalma Faturanızı Oluşturun,
+Updating Opening Balances,Açılış Bakiyelerini Güncelle,
+Finansal Tablolar,Finansal Tablolar,
+Let's Set Up the Stock Module.,Haydi Stok Modülünü Kuralım!,
+"Inventory, Warehouses, Analysis, and more.","Envanter, Depolar, Analiz ve daha fazlası.",
+Review Stock Settings,Stok Ayarlarını Gözden geçir,
+Setup a Warehouse,Bir Depo Ayarla,
+Warehouse wise Stock Value,Depo bazında Stok Değeri,
+Manage Stock Movements,Stok Hareketlerini Yönetin,
+Update Stock Opening Balance,Stok Açılış Bakiyesini Güncelle,
+Check Stock Projected Qty,Öngörülen Stok Miktarını Kontrol et,
+Internal Supplier,Dahili Tedarikçi,
+Supplier Primary Contact,Tedarikçi Birincil İlgili,
+Supplier Primary Address,Tedarikçi Birincil Adresi,
+Available Qty For Consumption,Tüketim İçin Kullanılabilir Miktar,
+Qty to Be Consumed,Tüketilecek Miktar,
+Apply Putaway Rule,Yerleştirme Kuralını Uygula,
+Company Shipping Address,Şirket Sevkiyat Adresi,
+Shipping Address Template,Sevkiyat Adresi Şablonu,
+Company Billing Address,Şirket Fatura Adresi,
+Subcontracting Settings,Taşeronluk Ayarları,
+Naming Series and Price Defaults,Adlandırma Serisi ve Fiyat Varsayılanları,
+Configure the action to stop the transaction or just warn if the same rate is not maintained.,İşlemi durdurmak için eylemi yapılandırın veya aynı oran korunmazsa sadece uyarı verin.,
+Bill for Rejected Quantity in Purchase Invoice,Alış Faturasında Reddedilen Miktar Faturası,
+If checked, Rejected Quantity will be included while making Purchase Invoice from Purchase Receipt.,İşaretlenirse Satınalma İrsaliyesinden Satınalma Faturası yapılırken Reddedilen Miktar dahil edilecektir.,
+Disable Last Purchase Rate,Son Satınalma Oranını Devre Dışı Bırak,
+Role Allowed to Override Stop Action,Durdurma Eylemini Geçersiz kılma izni olan Rol,
+"Review Stock Settings\n\nIn ERPNext, the Stock module\u2019s features are configurable as per your business needs. Stock Settings is the place where you can set your preferences for:\n- Default values for Item and Pricing\n- Default valuation method for inventory valuation\n- Set preference for serialization and batching of item\n- Set tolerance for over-receipt and delivery of items","# Stok Ayarlarını İnceleyin\n\nERPNext'te, Stok modülünün\u2019 özellikleri iş ihtiyaçlarınıza göre yapılandırılabilir. Stok Ayarları, şunlar için tercihlerinizi ayarlayabileceğiniz yerdir:\n- Öğe ve Fiyatlandırma için varsayılan değerler\n- Envanter değerlemesi için varsayılan değerleme yöntemi\n- Kalemlerin serileştirilmesi ve gruplandırılması için tercihi ayarlayın\n- Kalemlerin fazla girişi ve teslimatı için toleransı ayarlayın",
+Auto close Opportunity Replied after the no. of days mentioned above,Yukarıda belirtilen gün sayısından sonra Yanıtlanan Fırsatı Otomatik Kapat,
+Carry Forward Communication and Comments,İletişimi ve Yorumları Devret,
+"All the Comments and Emails will be copied from one document to another newly created document(Lead -> Opportunity -> Quotation) throughout the CRM documents.","Tüm Yorumlar ve E-postalar, CRM belgeleri boyunca bir belgeden yeni oluşturulan başka bir belgeye (Yol -> Fırsat -> Teklif) kopyalanacaktır.",
+Allow Continuous Material Consumption,Sürekli Malzeme Tüketimi Sağlayın,
+Allow material consumptions without immediately manufacturing finished goods against a Work Order,Bir İş Emrine göre bitmiş ürünleri hemen üretmeden malzeme tüketimine izin verin,
+Allow material consumptions without immediately manufacturing finished goods against a Work Order,Bir İş Emrine göre bitmiş ürünleri hemen üretmeden malzeme tüketimine izin verin,
+Add Corrective Operation Cost in Finished Good Valuation,Mamul Değerlemede Düzeltici Operasyon Maliyetini Ekleyin,
+Allow Excess Material Transfer,Fazla Malzeme Aktarımına İzin Ver,
+Allow transferring raw materials even after the Required Quantity is fulfilled,Gerekli Miktar yerine getirildikten sonra bile hammadde transferine izin ver,
+Make Serial No / Batch from Work Order,İş Emrinden Seri No / Parti Yap,
+System will automatically create the serial numbers / batch for the Finished Good on submission of work order,İş emrinin verilmesi ile Mamul için seri numaralarını / partiyi sistem otomatik olarak oluşturacaktır.,
+"Custom Field, Custom Doctype, Naming Series, Role Permission, Workflow, Print Formats, Reports","Özel Alan, Özel Belge Tipi, Adlandırma Serisi, Rol İzni, İş Akışı, Baskı Formatları, Raporlar",
+Users with this role are allowed to over deliver/receive against orders above the allowance percentage,Bu role sahip kullanıcıların ödenek yüzdesinin üzerindeki siparişlere karşı fazla teslim/alma yapmasına izin verilir,
+Sales Partner Target Variance Based On Item Group,Ürün Grubuna göre Satış Ortağı Hedef Sapması,
+Serial & Batch Item Settings,Seri ve Toplu Öğe Ayarları,
+Have Default Naming Series for Batch ID?,Parti Kimliği için Varsayılan Adlandırma Serisi Var mı?,
+Set Qty in Transactions Based on Serial No Input,Seri No Girişine Dayalı İşlemlerde Miktarı Ayarla,
+Disable Serial No And Batch Selector,Seri No ve Lot Seçiciyi Devre Dışı Bırak,
+Create Custom Fields,Özel Alanlar Oluşturun,
+Custom Document Types,Özel Belge Türleri,
+Setup Naming Series,Adlandırma Serisi Kurulumu,
+Setup Approval Workflows,Onay İş Akışları Kurulumu,
+Setup Limited Access for a User,Kullanıcı için Sınırlı Erişim Kurulumu,
+Items to Order and Receive,Sipariş Edilecek ve Alınacak Ürünler,
+Customize Print Formats,Baskı Biçimlerini Özelleştirin,
+Generate Custom Reports,Özel Raporlar Oluşturun,
+Partly Paid,Kısmen Ödenmiş,
+Partly Paid and Discounted,Kısmen Ödenmiş ve İndirimli
+Fixed Time,Sabit Süre,
+Loan Write Off,Kredi İptali,
+Returns,İadeler,
+Leads,Adaylar,
+Forecasting,Tahmin,
+In Location,Konumda,
+Disposed,Elden Çıkarıldı,
+Additional Info,Ek Bilgi,
+Loan Write Off,Kredi İptali,
+Prospect,Potansiyel Müşteri,
+Workstation Type,İş İstasyonu Türü,
+Work Order Consumed Materials,İş Emri Sarf Malzemeleri,
+Planned End Date,Planlanan Bitiş Tarihi,
+Inventory Settings,Envanter Ayarları,
+CRM Settings,CRM Ayarları,
+Operations & Materials,Operasyonlar ve Malzemeler,
+Scrap & Process Loss,Hurda & İşletme Zararı,
+Primary Contact,Birincil İlgili Kişi,
+Process Loss,İşletme Zararı,
+% Process Loss,% İşletme Zararı,
+Contact Mobile,İletişim Cep No,
+Cost Center Allocation,Maliyet Merkezi Tahsisi,
+Cost Configuration,Maliyet Yapılandırması,
+Opportunity Owner,Fırsat Sahibi,
+Opportunity Value,Fırsat Değeri,
+Opportunity Summary by Sales Stage,Satış Aşamasına göre Fırsat Özeti,
+From Opportunity,Bu Fırsattan,
+Sales Pipeline Analytics,Satış Süreci Analitiği,
+Over Transfer Allowance,Fazla Aktarım Ödeneği,
+Quality Inspection Settings,Kalite Kontrol Ayarları,
+Action If Quality Inspection Is Rejected,Kalite Muayenesi Reddedilirse Yapılacak İşlem,
+Show Barcode Field in Stock Transactions,Stok İşlemlerinde Barkod Alanı Göster,
+Convert Item Description to Clean HTML in Transactions,İşlemlerde Öğe Açıklamasını Temiz HTML'ye Dönüştür,
+Operation time does not depend on quantity to produce,Operasyon süresi üretilecek miktara bağlı değildir,
+Set Operating Cost Based On BOM Quantity,BOM Ürün reçetesi miktarına göre Operasyon Maliyetini Belirle,
+Allow Lead Duplication based on Emails,E-postaya dayalı Aday Çoğaltmaya İzin ver,
+Close Replied Opportunity After Days,Cevaplanan Fırsatı Kapat (gün sonra),
+Is Cash or Non Trade Discount,Nakit veya Ticari olmayan İndirim,
+Primary Address and Contact,Birincil Adres ve İletişim,
+Auto Creation of Contact,Kişinin Otomatik Oluşturulması,
+Control Historical Stock Transactions,Geçmiş Stok İşlemlerini Kontrol Et,
+You have not entered a value. The field will be set to empty.,Bir değer girmediniz. Alan boş olarak ayarlanacaktır.,
+No stock transactions can be created or modified before this date.,Bu tarihten önce hisse senedi hareketleri oluşturulamaz veya değiştirilemez.,
+Role Allowed to Create/Edit Back-dated Transactions,Geriye Dönük İşlemleri Oluşturma / Düzenleme İzni Rolü,
+"If mentioned, the system will allow only the users with this Role to create or modify any stock transaction earlier than the latest stock transaction for a specific item and warehouse. If set as blank, it allows all users to create/edit back-dated transactions.","Belirtilirse, sistem yalnızca bu Role sahip kullanıcıların belirli bir kalem ve depo için en son stok işleminden önceki herhangi bir stok işlemini oluşturmasına veya değiştirmesine izin verecektir. Boş olarak ayarlanırsa, tüm kullanıcıların geçmiş tarihli oluşturmasına/düzenlemesine izin verir. işlemler.",
+Stock transactions that are older than the mentioned days cannot be modified.,Belirtilen günlerden daha eski olan hisse senedi işlemleri değiştirilemez.,
+"The percentage you are allowed to transfer more against the quantity ordered. For example, if you have ordered 100 units, and your Allowance is 10%, then you are allowed transfer 110 units.","Sipariş edilen miktara göre daha fazla transfer etmenize izin verilen yüzde. Örneğin, 100 birim sipariş ettiyseniz ve Ödeneğiniz %10 ise, 110 birim transfer etmenize izin verilir.",
+Loan Write Off will be automatically created on loan closure request if pending amount is below this limit,"Kredi kapatma talebinde, bekleyen tutarın bu limitin altında olması durumunda, Kredi Kapatma talebi otomatik olarak oluşturulur",
+"Link that is the website home page. Standard Links (home, login, products, blog, about, contact)","Web sitesi ana sayfası olan bağlantı. Standart Bağlantılar (ana sayfa, giriş, ürünler, blog, hakkında, iletişim)",
+Show Language Picker,Dil Seçiciyi Göster,
+Login Page,Login / Giriş Sayfası,
+App Logo,Uygulama Logosu,
+Splash Image,Açılış Görüntüsü,
+Account Deletion Settings,Hesap Silme Ayarları,
+Auto Account Deletion within (Hours),(Saat) İçerisinde Otomatik Hesap Silme,
+Show Account Deletion Link in My Account Page,Hesabım Sayfasında Hesap Silme Bağlantısını Göster,
+Footer Details,Altbilgi Ayrıntıları,
+Custom Footer,Özel Alt bilgi,
+Qty As Per BOM,BOMa göre Mik,
+Distribute Manually,Manuel olarak Dağıt,
+Raw Materials Warehouse,Hammadde Deposu,
+Get Raw Materials for Purchase,Satınalma için Hammaddeleri Getir,
+Get Raw Materials for Transfer,Transfer için Hammaddeleri Getir,
+Production Plan Item Reference,Üretim Planı Öge Referansı,
+Include Safety Stock in Required Qty Calculation,Emniyet Stokunu Gerekli Miktar Hesaplamasına Dahil Et,
+Calculate Product Bundle Price based on Child Item,Ürün Paketi Fiyatını Alt Öğeye Göre Hesapla,
+Customer Defaults,Müşteri Varsayılanları,
+Item Price Settings,Ürün Fiyat Ayarları,
+Standard Selling,Standart Satış,
+Terms Template,Şartlar Şablonu,
+Quotation Number,Teklif Numarası,
+Min Qty (As Per Stock UOM),Min Mik (Stok birimine göre),
+Max Qty (As Per Stock UOM),Max Mik (Stok birimine göre),
+Action If Same Rate is Not Maintained,Aynı Oran Sağlanmazsa Yapılacak İşlem,
+Calculate Product Bundle Price based on Child Items' Rates,Alt Öğelerin Fiyatlarına Göre Ürün Paketi Fiyatını Hesaplayın,
+Transaction Settings,İşlem Ayarları,
+Sales Update Frequency in Company and Project,Şirket ve Projede Satış Güncelleme Sıklığı,
+Allow Item to be Added Multiple Times in a Transaction,Bir İşlemde Birden Fazla Öğe Eklenmesine İzin Verme,
+Enable Discount Accounting for Selling,Satış için İskonto Muhasebesini Etkinleştirin,
+"If enabled, additional ledger entries will be made for discounts in a separate Discount Account","Etkinleştirilirse, indirimler için ayrı bir İndirim Hesabında ek defter girişleri yapılır",
+Setting the account as a Company Account is necessary for Bank Reconciliation,Hesabın Şirket Hesabı olarak ayarlanması Banka Mutabakatı için gereklidir,
+Is Finished Item,Bitmiş Ürün mü,
+Is Scrap Item,Hurda Ögesi mi,
+Is Rate Adjustment Entry (Debit Note),Kur Ayarlama Girişi (Borç Senedi),
+Issue a debit note with 0 qty against an existing Sales Invoice,Mevcut bir Satış Faturasına karşı 0 adet borç dekontu düzenleyin,
+To use Google Indexing, enable Google Settings.,Google Dizine Eklemeyi kullanmak için Google Ayarlarını etkinleştirin.,
+Show Net Values in Party Account,Cari Hesabındaki Net Değerleri Göster,
+Begin typing for results.,Sonuçlar için yazmaya başlayın.,
+Invoice Portion (%),Fatura Porsiyonu (%),
+Discount Settings,İndirim Ayarları,
+Payment Terms Status for Sales Order,Satış Siparişi için Ödeme Koşulları Durumu,
+Assembly Items,Montaj Öğeleri,
+Materials & Operations,Malzemeler ve Operasyonlar,
+Sub Assembly Items,Alt Montaj Öğeleri,
+Sub Assembly Item Code,Alt Montaj Ürün Kodu,
+Manufacturing Type,Üretim Tipi,
+Total Operation Time,Toplam Operasyon Süresi,
+Time in mins.,Süre (dk),
+Plan to Request Qty,Talep Miktarını Planla,
+Get Sub Assembly Items,Alt Montaj Öğelerini Alın,
+Please select Item Code in Assembly Items,Lütfen Montaj Öğelerinde Ürün Kodu'nu seçin,
+Consolidate Sub Assembly Items,Alt Montaj Öğelerini Birleştirin,
+Item Reference,Öğe Referansı,
+Bank Reconciliation Tool,Banka Uzlaştırma Aracı,
+Sales Order Reference,Satış Siparişi Referansı,
+Disbursement Account,Harcama Hesabı,
+Repayment Account,Geri Ödeme Hesabı,
+Auto Write Off Amount ,Otomatik Kapatma Tutarı,
+Contact & Address,İletişim ve Adres,
+Ref DocType,Ref Belge Türü,
+FG Warehouse,Mamul Deposu,
+Tax Detail,Vergi Detayı,
+Other Info,Diğer Bilgiler,
+Transit Entry,Transit Kaydı,
+Show Remarks,Açıklamaları Göster,
+Stage,Aşama,
+Stock Planning,Stok Planlama,
+Stock Closing,Stok Kapanışı,
+Stock Validations,Stok Doğrulamaları,
+Serial & Batch Item,Seri ve Parti Öğesi,
+Picked Qty (in Stock UOM),Toplanan Mik (Stok Birimi),
+Inter Transfer Reference,Inter Transfer Referansı,
+Update Rate as per Last Purchase,Son Alışa göre Fiyatı Güncelle,
+Create Job Card based on Batch Size,Parti Büyüklüğüne göre İş Kartı Oluştur,
+Is Corrective Operation,Düzeltici İşlem mi,
+Sub Operations,Alt Operasyonlar,
+Sales Order Status,Satış Sipariş Durumu,
+Order Status,Sipariş Durumu,
+Terms & Conditions,Vade & Koşullar,
+From Delivery Date,Teslimat Tarihi Baş. ,
+To Delivery Date,Teslimat Tarihi Bitişi,
+Probability,Olasılık,
+BOM Info,Ürün Ağacı / BOM Bilgisi,
+Closing,Kapanış,
+"Header, Robots","Başlık, Robotlar"
+Redirects,Yönlendirmeler,
+Elements,Elementler,
+Operation Section,Operasyon Bölümü,
+Scrap Item Code,Hurda Ürün Kodu,
+Scrap Item Name,Hurda Ürün Adı,
+FG Qty from Transferred Raw Materials,Transfer edilen Hammaddelerden Nihai Ürün Miktarı,
+Start Timer,Zamanlayıcıyı Başlat,
+Overview,Genel Bakış,
+Supplier Invoice,Tedarikçi Faturası,
+Supplier Contact,Tedarikçi İrtibat,
+Returned Qty ,İade Edilen Mik ,
+Deal Owner,Anlaşma Sahibi,
+Phone Ext.,Dahili Telefon,
+Annual Revenue,Yıllık Gelir,
+No of Employees,Çalışan Sayısı,
+No. of Employees,Personel Sayısı,
+Prospect Owner,Potansiyel Sahibi,
+Territory Wise Sales,Bölge Bazlı Satışlar,
+Amount Eligible for Commission,Komisyona Uygun Tutar,
+Unit of Measure (UOM),Ölçü Birimleri,
+Grant Commission,Komisyona İzin ver,
+Minimum Net Rate,Minimum Net Oran,
+Maximum Net Rate,Maximum Net Oran,
+Allow Purchase,Satınalmaya izin ver,
+Allow Sales,Satışa izin ver,
+Fetch Timesheet,Zaman Çizelgesini Getir,
+Dispatch Address Name,Sevk Adresi Adı,
+Permission Manager,İzin Yöneticisi,
+Warehouse Wise Stock Balance,Stok Bakiyesi Depo bazında,
+Review Stock Settings,Stok Ayarlarını İnceleyin,
+Configure Columns,Kolonları Ayarla,
+Column Width,Kolon Genişliği,
+Delayed Tasks Summary,Geciken Görevler Özeti,
+Add / Remove Columns,Kolon Ekle / Kaldır,
+Reset to default,Varsayılana Sıfırla,
+Copy error to clipboard,Hatayı panoya kopyala,
+Rate of Stock UOM,Stok Birimi Oranı,
+Provisional Expense Account,Geçici Gider Hesabı,
+Qty in Stock UOM,Stok Biriminde Miktar,
+Advance Taxes and Charges,Peşin Ödenen Vergi ve Harçlar,
+Taxes and Charges Template,Vergiler ve Harçlar Şablonu,
+Default Provisional Account,Varsayılan Geçici Hesap,
+Default In-Transit Warehouse,Varsayılan Transit Depo,
+Unrealized Profit / Loss Account,Gerçekleşmemiş Kâr / Zarar Hesabı,
+Received Qty in Stock UOM,Stok Biriminde Alınan Miktar,
+Accepted Qty in Stock UOM,Stok Biriminde Kabul edilen Miktar,
+FG based Operating Cost,Mamül bazlı Operasyon Maliyeti,
+Update {0} records,{0} Kaydı Güncelle,
+Document Linking,Belge Bağlantısı,
+Applying Discount,İndirim Uygula,
+Recurring Sales Order,Yinelenen Satış Siparişi,
+Outgoing (SMTP) Settings,Giden (SMTP) Ayarları,
+Incoming (POP/IMAP) Settings,Gelen (POP/IMAP) Ayarları,
+Use different Email ID,Farklı E-posta kullan,
+System Logs,Sistem Logları,
+KSA VAT Setting,KSA KDV Ayarları,
+KSA VAT Report,KSA KDV Raporu,
+UAE VAT 201,Birleşik Arap Emirlikleri KDV 201,
diff --git a/erpnext/utilities/doctype/video/video.py b/erpnext/utilities/doctype/video/video.py
index 13b7877..62033a5 100644
--- a/erpnext/utilities/doctype/video/video.py
+++ b/erpnext/utilities/doctype/video/video.py
@@ -10,6 +10,7 @@
 from frappe import _
 from frappe.model.document import Document
 from frappe.utils import cint
+from frappe.utils.data import get_system_timezone
 from pyyoutube import Api
 
 
@@ -64,7 +65,7 @@
 
 	frequency = get_frequency(frequency)
 	time = datetime.now()
-	timezone = pytz.timezone(frappe.utils.get_time_zone())
+	timezone = pytz.timezone(get_system_timezone())
 	site_time = time.astimezone(timezone)
 
 	if frequency == 30:
diff --git a/erpnext/www/book_appointment/index.py b/erpnext/www/book_appointment/index.py
index dfca946..f50c207 100644
--- a/erpnext/www/book_appointment/index.py
+++ b/erpnext/www/book_appointment/index.py
@@ -4,6 +4,7 @@
 import frappe
 import pytz
 from frappe import _
+from frappe.utils.data import get_system_timezone
 
 WEEKDAYS = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
 
@@ -125,7 +126,7 @@
 
 def convert_to_guest_timezone(guest_tz, datetimeobject):
 	guest_tz = pytz.timezone(guest_tz)
-	local_timezone = pytz.timezone(frappe.utils.get_time_zone())
+	local_timezone = pytz.timezone(get_system_timezone())
 	datetimeobject = local_timezone.localize(datetimeobject)
 	datetimeobject = datetimeobject.astimezone(guest_tz)
 	return datetimeobject
@@ -134,7 +135,7 @@
 def convert_to_system_timezone(guest_tz, datetimeobject):
 	guest_tz = pytz.timezone(guest_tz)
 	datetimeobject = guest_tz.localize(datetimeobject)
-	system_tz = pytz.timezone(frappe.utils.get_time_zone())
+	system_tz = pytz.timezone(get_system_timezone())
 	datetimeobject = datetimeobject.astimezone(system_tz)
 	return datetimeobject
 
diff --git a/pyproject.toml b/pyproject.toml
index 1c93eed..0718e5b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -28,9 +28,6 @@
 requires = ["flit_core >=3.4,<4"]
 build-backend = "flit_core.buildapi"
 
-[tool.bench.dev-dependencies]
-hypothesis = "~=6.31.0"
-
 [tool.black]
 line-length = 99
 
